如何在一次插入多条记录

youjq 2001-07-19 02:36:20
用户在DBGrid中输入多条记录,要求是用户按下保存按钮后,将DBGrid中所有的数据添加
到数据库中。最好给出代码示例。
...全文
199 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cslegend 2002-01-11
  • 打赏
  • 举报
回复
代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
DbGrid1.ReadOnly:=False;
Query1.Append;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Query1.Close;
Query1.Open;
Dbgrid1.ReadOnly:=True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Query1.CancelUpdates; //取消修改
DbGrid1.ReadOnly:=False;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
Query1.ApplyUpdates;
Query1.CommitUpdates;//将数据由缓存写如数据库

end;

procedure TForm1.Query1UpdateRecord(DataSet: TDataSet;
UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
begin
Try
UpdateSql1.SetParams(ukInsert);
UpdateSql1.ExecSQL(ukInsert);
UpdateAction:=UaApplied;
except
Exit;
end;
end;

plutu 2002-01-11
  • 打赏
  • 举报
回复
up
plutu 2002-01-09
  • 打赏
  • 举报
回复
快快快
tongki 2002-01-08
  • 打赏
  • 举报
回复
()()
plutu 2002-01-08
  • 打赏
  • 举报
回复
我想在grid中先输入多条记录,然后一次提交(用按钮),请详细一点,最好有代码,我可以另外加分
yangkunjie 2002-01-08
  • 打赏
  • 举报
回复
好多种方法,你说你想要的实现吧
wisenowa 2002-01-08
  • 打赏
  • 举报
回复
insert into 目标表 select * from 源表 where ...
cszhz 2002-01-08
  • 打赏
  • 举报
回复
用clientdataset
applyupdate(0)
^_^
plutu 2002-01-08
  • 打赏
  • 举报
回复
关注
xswj77 2001-07-19
  • 打赏
  • 举报
回复
如果是PARADOX数据库无法一次插入多条记录.SQL可以
jianping0 2001-07-19
  • 打赏
  • 举报
回复
用缓冲.
bde中:将table,query的cachedupdates:=true;
在提交的按钮中加入:dataset.applyupdates;
dataset.commitupdates; //清除缓冲
取消:dataset.cancelupdates;

cyms 2001-07-19
  • 打赏
  • 举报
回复
将dataset/table的curtype属性设为ctKeyset,locktype属性设为ltBatchOptimistic 。在提交的按钮中加入如下代码:
dataset/table.UpdateBatch();即可
取消用:CancelBatch() 明白了吗?
  • 打赏
  • 举报
回复
用不着代码,你还是将dbgrid指向一个临时表吧
将临时表的纪录循环插入你的主表!

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧