Code: Alles auswählen
FMGruppen.SQLQuery1.SQL.Text:='update test set bez='''+'Gruppe 27.1'+''' WHERE id=IntID;';
Code: Alles auswählen
FMGruppen.SQLQuery1.SQL.Text:='update test set bez='''+'Gruppe 27.1'+''' WHERE id=IntID;';
Code: Alles auswählen
FMGruppen.SQLQuery1.SQL.Text:='update test set bez='''+'Gruppe 27.1'+''' WHERE id=' + inttostr(IntID) + ';';
Und wo ist das Problem ? Einfach einen Doppelpunkt vor dem Parameternamen. Und im Text je nachdem wie du das SQL Statement eingetragen hast, zuerst den Parameter erzeugen und dann einen Wert zuweisen. Ist in den diversen Beispielen in der Freepascal Wiki erklärt.Joachim Raap hat geschrieben: Sa 26. Nov 2022, 23:09 ja af0815, das mache ich auch wenn ich irgendwann mal die Parametriesierung verstanden habe....
Code: Alles auswählen
FMMenu.SQLQuery1.SQL.Text:='update gruppen set Ktn='+IntToStr(IntGrpKtn)+' where ID='+IntToStr(IntGrpID)+';';
Code: Alles auswählen
showmessage(FMMenu.SQLQuery1.SQL.Text);
Code: Alles auswählen
var s:string;
.....
s:='update gruppen set Ktn='+IntToStr(IntGrpKtn)+' where ID='+IntToStr(IntGrpID)+';'
FMMenu.SQLQuery1.SQL.Text:=s; //<-- Breakpoint hier setzen
Code: Alles auswählen
try
FMGruppen.SQLQuery1.Execute;
except
On E :Exception do begin
ShowMessage(E.Message);
end;
end;
Code: Alles auswählen
try
FMGruppen.SQLQuery1.Active:= false;
FMGruppen.SQLQuery1.Clear;
FMGruppen.SQLQuery1.Options:= [sqoAutoApplyUpdaten,sqoAutoCommit];
FMGruppen.SQLQuery1.Text:= 'update gruppen set Ktn= :SQLKtn where ID= :SQLID;'
FMGruppen.SQLQuery1.ParamByName('SQLKtn').AsInteger:= IntGrpKtn;
FMGruppen.SQLQuery1.ParamByName('SQLID').AsInteger:= IntGrpID;
FMGruppen.SQLQuery1.Execute;
except
On E :Exception do begin
ShowMessage('Exception = '+E.Message);
end;
end;