我想将备忘录中的所有字符串行复制到dbgrid字段(字段FREKUENSI_TPOKOK)。我尝试过以下方法:
procedure Tfrm_csbo.cmd_copyClick(Sender: TObject);
var
tpokok: string;
i: integer;
Begin
tbl_LLOANP.First;
for i := 0 to Memo2.Lines.Count-1 do
tpokok := 'UPDATE LLOANP SET FREKUENSI_TPOKOK = ' + Memo2.Lines[i];
qr_LLOANP.Close;
qr_LLOANP.SQL.Clear;
qr_LLOANP.SQL.Add(tpokok);
qr_LLOANP.ExecSQL;
end
end;
但结果并不像我预期的那样。
答案 0 :(得分:0)
如果我们正确缩进您的代码,那么它看起来像这样:
tbl_LLOANP.First;
for i := 0 to Memo2.Lines.Count-1 do
tpokok := 'UPDATE LLOANP SET FREKUENSI_TPOKOK = ' + Memo2.Lines[i];
qr_LLOANP.Close;
qr_LLOANP.SQL.Clear;
qr_LLOANP.SQL.Add(tpokok);
qr_LLOANP.ExecSQL;
因此,您执行单个SQL语句,而不是每个项目执行一个。也许你打算写:
tbl_LLOANP.First;
for i := 0 to Memo2.Lines.Count-1 do
begin
tpokok := 'UPDATE LLOANP SET FREKUENSI_TPOKOK = ' + Memo2.Lines[i];
qr_LLOANP.Close;
qr_LLOANP.SQL.Clear;
qr_LLOANP.SQL.Add(tpokok);
qr_LLOANP.ExecSQL;
end;
请注意,您在此处打开SQL注入。您应始终使用SQL参数,而不是根据用户提供的数据构建自己的查询。