Avatar billede delphiuser Mester
17. oktober 2008 - 10:15 Der er 2 kommentarer og
2 løsninger

mysql fejl i login

Hej eksperter jeg har lavet et login som gerne skulle hente fra 2 databasetabeller på engang.
jeg har bare et problem.

min sql streng skal hente et navn fra min brugere tabel og finde det samme navn i min termin tabel. men jeg får en syntax error som jeg lige kan vise her.

[mysql][odbc 3.51 driver][mysqld-4.0.24-nt] you have an error in yout wql syntax. check yout manuel that corresponds to your mysql server version for the right syntax near 'where bnavn like tnavn' at line 1.

her kommer den sql del som skulle køre mit login.

procedure TForm3.Button1Click(Sender: TObject);
begin
login.Close;
login.SQL.Text:='select * from bruger where bruger like "%'+edit1.Text+'%" and kode like "%'+edit2.text+'%"';
login.SQL.Text:='select * from bruger, termin where where bnavn like tnavn';
login.Open;
form1.Label5.Caption:=login.FieldByName('tnavn').AsString;
form1.Label6.Caption:=login.fieldbyname('alder').AsString;
form1.Label7.Caption:=login.fieldbyname('fodedag').AsString;
form1.Label8.Caption:=login.FieldByName('kon').AsString;
form3.close;
end;

håber i kan hjælpe mig med hvad jeg har gjort forkert.
Avatar billede w13 Novice
17. oktober 2008 - 10:23 #1
Hedder feltet i bruger-tabellen "bnavn" og i termin-tabellen "tnavn"?

Prøv evt. med:

procedure TForm3.Button1Click(Sender: TObject);
begin
login.Close;
login.SQL.Text:='select * from bruger where bruger like "%'+edit1.Text+'%" and kode like "%'+edit2.text+'%"';
login.SQL.Text:='select * from bruger as b, termin as t where where b.bnavn = t.tnavn';
login.Open;
form1.Label5.Caption:=login.FieldByName('tnavn').AsString;
form1.Label6.Caption:=login.fieldbyname('alder').AsString;
form1.Label7.Caption:=login.fieldbyname('fodedag').AsString;
form1.Label8.Caption:=login.FieldByName('kon').AsString;
form3.close;
end;

Der er vel ingen grund til at bruge like, når du bare kan bruge =.
Avatar billede kroning Nybegynder
17. oktober 2008 - 12:48 #2
login.SQL.Text:='select * from bruger, termin where where bnavn like tnavn';

du har 2 gange WHERE
Avatar billede delphiuser Mester
17. oktober 2008 - 14:30 #3
tak for hjælpen begge 2 nu virker det. smiler...

i får lov til at dele pointene
Avatar billede w13 Novice
17. oktober 2008 - 14:38 #4
Tak for points. =)
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