如何将所有备注字符串行复制到DBGrid字段

时间:2015-11-23 04:15:48

标签: delphi delphi-7

我想将备忘录中的所有字符串行复制到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;

但结果并不像我预期的那样。

1 个答案:

答案 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参数,而不是根据用户提供的数据构建自己的查询。