Jag har problem med att lägga till nya poster med ADO. Jag använder TAdoQuery tillsammans med TAdoCommand och TDataSource-komponenterna. Att selektera poster från en Access 2000-databas går utmärkt. Det är när jag vill lägga till nya poster som det kör ihop sig. ADO och Insert Into
Att addera ett värde i en enstaka kolumn går bra. Denna kod fungerar sålunda:
begin
adocommand1.CommandText:='INSERT INTO Authors(Author) '+
'VALUES("Kalle")';
adocommand1.Execute()
end;
Även denna metod (som utför samma sak) funkar också:
begin
adocommand1.CommandText:='INSERT INTO Authors(Author) '+
'VALUES(:namn)';
adocommand1.Parameters.ParamByName('namn').Value:= 'Kalle';
adocommand1.Execute()
end;
Det är när jag vill addera värden i flera kolumner i samma SQL-sats som jag inte vet hur man skriver. Har försökt med detta:
begin
adocommand1.CommandText:='INSERT INTO Authors(Author, Year Born) '+
'VALUES("Kalle", 1977)';
adocommand1.Execute()
end;
Och även detta:
begin
adocommand1.CommandText:='INSERT INTO Authors(Author, Year Born) '+
'VALUES(:namn, :YB)';
adocommand1.Parameters.ParamByName('namn').Value:= 'Kalle';
adocommand1.Parameters.ParamByName('YB').Value:= 1977;
adocommand1.Execute()
end;
I båda fallen får jag felmeddelandet 'Syntaxfel i INSERT INTO-uttyck'.
Jag hittar ingen riktigt bra dokumentation om INSERT INTO-uttryck med ADO-komponenter i Delphi på nätet.
Är det någon som kan hjälpa mig med detta dilemma?
Mvh
/Staffan