17. oktober 2008 - 10:15Der 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.
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 =.
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.