Avatar billede fun22 Nybegynder
31. januar 2006 - 10:00 Der er 5 kommentarer og
1 løsning

Hvorfor virker det her ikke?

Hej..

Hvorfor virker denne kode ikke?

procedure TForm2.FormShow(Sender: TObject);
var
i: integer;
begin
form1.Enabled := false;

Table.SQL.Add('SELECT * FROM VareNr');
Table.Active := true;

For i := 0 to Table.IndexFieldCount do
begin
    VareTekst.Items.Add(Table.FieldByName('VareTekst').AsString);
    Table.Next;
end;
end;

Der er to ting i databasen og jeg kan fint se dem i en DBGrid men ikke få det lagt ing i min dropdown boks.. Hvordan kan det være?
Avatar billede kroning Nybegynder
31. januar 2006 - 10:06 #1
Prøv med:

While not Table.Eof do
begin
  VareTekst.Items.Add(Table.FieldByName('VareTekst').AsString);
  Table.Next;
end;
Avatar billede fun22 Nybegynder
31. januar 2006 - 10:12 #2
Det virker ;)

Kan du sige hvorfor det her ikke virker:

Table.SQL.Add('SELECT * FROM VareNr WHERE VareTekst = '+Varetekst.Text);

Varetekst.Text er lig med "Timeløn" (Uden "")

Den siger at "Parameter Timeløn har ikke nogen standart værdi".

Hvad mener den med deT?
Avatar billede kroning Nybegynder
31. januar 2006 - 10:23 #3
Så prøv med:
Table.SQL.Add('SELECT * FROM VareNr WHERE VareTekst = "'+Varetekst.Text+'"');

eller hvid du har funktionen AnsiQuotedStr så brug
Table.SQL.Add('SELECT * FROM VareNr WHERE VareTekst = '+AnsiQuotedStr(Varetekst.Text));

AnsiQuotedStr findes i uniten SysUtils som så skal tilføjes din uses
Avatar billede fun22 Nybegynder
31. januar 2006 - 10:34 #4
Super.. Smider du et svar?
Avatar billede kroning Nybegynder
31. januar 2006 - 10:37 #5
Jo
Avatar billede hrc Mester
31. januar 2006 - 23:34 #6
Brug SQL-parametre i stedet for at skrive '' +varetekst.Text + '''' og alt det gas:
  SELECT * FROM VareNr WHERE VareTekst = :Varetekst

Prøv i øvrigt at begrænse brugen af '*'. Skriv kun de felter du har brug for og bruger du alle felter, så skriv alle felt-navne:
  SELECT VareID, VareTekst, VareAnt, VarePris FROM VareNr where ...

Bare et par råd.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester