Avatar billede agg-zeus Nybegynder
01. april 2004 - 08:42 Der er 1 kommentar og
1 løsning

For få parametre i SQL-forspørgsel

Når jeg trykker på login-knappen i mit program køres følgende kode:

procedure TForm1.Button2Click(Sender: TObject);
var
  brug,pass: string;
begin

brug := edit1.text;
pass := edit2.text;

if (Length(brug) < 4) OR (Length(pass) < 4) then
  begin
    showmessage('Skriv brugernavn og adgangskode!');
  end
else
  begin
    ADOQuery1.SQL.clear;
    ADOQuery1.SQL.Add('SELECT * FROM bruger WHERE brugernavn = '+brug+' AND adgangskode = '+pass);
    ADOQuery1.Active := True;
    ADOQuery1.First;

    if not (ADOQuery1.EOF) then
      begin
        form1.Hide;
        form2.Show;
      end
    else
      begin
        showmessage('Du har indtastet forkert brugernavn eller adgangskode!');
      end;
  end;

end;

Men jeg får fejlen:

Project Project1.exe raised exception class EOleException with message '[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 2'. Process stopped. Use Step or Run to continue.

Hvad har jeg gjort galt ?
Avatar billede snowball Novice
01. april 2004 - 08:47 #1
ADOQuery1.SQL.Add('SELECT * FROM bruger WHERE brugernavn = '''+brug+''' AND adgangskode = '''+pass+'''');

Du skal huske at du skal have ' rundt om tekst variabler i SQL :)
Avatar billede agg-zeus Nybegynder
01. april 2004 - 08:51 #2
hehe... selvfølgelig... :)
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