Delphi ADO, Syntax Fejl
Hej folkens, jeg er lidt fortvivlet over hvilken kategori dette spørgsmål skulle stilles i, but here goes:Jeg er for første gang ved at lege med ADO forbindelser til en Access database.
I databasen har jeg følgende tabel (files):
Id - Autonummerering
filename - tekst
filepath - tekst
server - tekst
port - tal
passive - Ja/Nej
user - tekst
pass - tekst
size - tal
I mit delphi projekt sletter jeg nu først hele indholdet af denne tabel, på følgende måde:
ADOC1.CommandText := 'DELETE FROM files';
ADOC1.Execute;
ADOC1 - TADOCommand.
Dette tyder jo på forbindelsen er iorden, hvilket min fejl besked også giver udtryk for.
Senere skal jeg nu indsætte data i databasen, dette sker på følgende måde:
ADOC1.CommandText := 'INSERT INTO files (filename, filepath, server, port, passive, user, pass, size) VALUES '+
'(:Filename, :Filepath, :Server, :Port, :Passive, :User, :Pass, :Size)';
ADOC1.Parameters.ParamByName('Filename').Value := ExtractFileName('C:'+StringReplace(FQItem^.FName,'/','\',[rFReplaceAll]));
ADOC1.Parameters.ParamByName('Filepath').Value := FQItem^.FName;
ADOC1.Parameters.ParamByName('Server').Value := FQItem^.Server;
ADOC1.Parameters.ParamByName('Port').Value := FQItem^.Port;
ADOC1.Parameters.ParamByName('Passive').Value := FQItem^.Passive;
ADOC1.Parameters.ParamByName('User').Value := FQItem^.User;
ADOC1.Parameters.ParamByName('Pass').Value := FQItem^.Pass;
ADOC1.Parameters.ParamByName('Size').Value := FQItem^.FSize;
ADOC1.Execute;
FQItem er en pointer som refererer til en record, som ser sådan ud:
TQItem = record
Server : String;
Status : String;
Port : Integer;
Passive : boolean;
User : String;
Pass : String;
FName : String;
FSize : Int64;
end;
Fejlen jeg modtager er en helt regulær syntax error i min INSERT INTO statement. Men jeg kan altså ikke lige spotte den. Grunden til jeg stiller spørgsmålet i denne kategori er, at jeg ikke ved om jeg overfører parametrene rigtigt, etc..
Mvh Simon
