我的代码:
dm.ADOQuery_list.Close;
dm.ADOQuery_list.SQL.Clear;
dm.ADOQuery_list.SQL.Add('select * from exe_asn_list where asn_no='+QuotedStr(trim(asn_no.Text)));
dm.ADOQuery_list.Open;
dm.ADOQuery_list.Edit;
dm.ADOQuery_list.Append;
for j:=1 to stringgrid_asn.RowCount-1 do
begin
DM.ADOQuery_list.fieldbyname('asn_no').asstring := asn_no.Text;
DM.ADOQuery_list.fieldbyname('sku').asstring := stringgrid_asn.cells[1,j];
DM.ADOQuery_list.fieldbyname('ex_rece_qty').asstring := stringgrid_asn.cells[4,j];
DM.ADOQuery_list.fieldbyname('fact_rece_qty').asstring := stringgrid_asn.cells[5,j];
DM.ADOQuery_list.fieldbyname('location').asstring := stringgrid_asn.cells[6,j];
DM.ADOQuery_list.fieldbyname('lot_no').asstring := stringgrid_asn.cells[7,j];
end;
try
dm.ADOQuery_list.Post;
except
application.MessageBox('保存表体失败!','提示',mb_ok+mb_iconerror);
end;想实现post之后将多条记录添加到数据库中,可现在执行完之后只能提交最后一条记录,请大家帮我看下吧。谢谢
dm.ADOQuery_list.Close;
dm.ADOQuery_list.SQL.Clear;
dm.ADOQuery_list.SQL.Add('select * from exe_asn_list where asn_no='+QuotedStr(trim(asn_no.Text)));
dm.ADOQuery_list.Open;
dm.ADOQuery_list.Edit;
dm.ADOQuery_list.Append;
for j:=1 to stringgrid_asn.RowCount-1 do
begin
DM.ADOQuery_list.fieldbyname('asn_no').asstring := asn_no.Text;
DM.ADOQuery_list.fieldbyname('sku').asstring := stringgrid_asn.cells[1,j];
DM.ADOQuery_list.fieldbyname('ex_rece_qty').asstring := stringgrid_asn.cells[4,j];
DM.ADOQuery_list.fieldbyname('fact_rece_qty').asstring := stringgrid_asn.cells[5,j];
DM.ADOQuery_list.fieldbyname('location').asstring := stringgrid_asn.cells[6,j];
DM.ADOQuery_list.fieldbyname('lot_no').asstring := stringgrid_asn.cells[7,j];
end;
try
dm.ADOQuery_list.Post;
except
application.MessageBox('保存表体失败!','提示',mb_ok+mb_iconerror);
end;想实现post之后将多条记录添加到数据库中,可现在执行完之后只能提交最后一条记录,请大家帮我看下吧。谢谢
解决方案 »
- MIS多用户操作如何解决
- 有关程序运行时提示错误?
- 请问一个算法问题,请大家帮帮忙啦.............
- 3层结构(多线程问题)(此方法是否可行)-----高手给点意见
- 如何把已经存在的EXCEL表 导到SQL SERVER 7里面
- 如何将运行的Word或Excel等office软件在代码中最小化(最大化时)或最大化(在最小化时)
- 200分请教?高手请进!!怎样才能使不同应用程序中的鼠标都变成自己定义的鼠标资源?????非常急!!!!!!
- 我现正做一个局域网下的网络监控应用程序,有三个问题(都要求可以绕过防火墙或杀毒软件等防入侵程序。绝对高分)
- 50分求购图片转换控件(支持的文件类型要多!)
- 请问stringGrid可编辑吗?
- 高手请进:为何对象释放不成功?
- sql 相同字段相加的问题,很急,在线等待!谢谢
用UpdateRecord来更新数据
成批Update
二.
1.
Append放在按钮事件中,想插入多少条,就循环多少次
如:
For i:=1 to 5 do
Query1.append;2.
将
for j:=1 to stringgrid_asn.RowCount-1 do
begin
DM.ADOQuery_list.fieldbyname('asn_no').asstring := asn_no.Text;
DM.ADOQuery_list.fieldbyname('sku').asstring := stringgrid_asn.cells[1,j];
DM.ADOQuery_list.fieldbyname('ex_rece_qty').asstring := stringgrid_asn.cells[4,j];
DM.ADOQuery_list.fieldbyname('fact_rece_qty').asstring := stringgrid_asn.cells[5,j];
DM.ADOQuery_list.fieldbyname('location').asstring := stringgrid_asn.cells[6,j];
DM.ADOQuery_list.fieldbyname('lot_no').asstring := stringgrid_asn.cells[7,j];
end;
放在AfterInsert中
dm.ADOQuery_list.SQL.Clear;
dm.ADOQuery_list.SQL.Add('select * from exe_asn_list where asn_no='+QuotedStr(trim(asn_no.Text)));
dm.ADOQuery_list.Open;
for j:=1 to stringgrid_asn.RowCount-1 do
begin ////
dm.ADOQuery_list.Append; begin
DM.ADOQuery_list.fieldbyname('asn_no').asstring := asn_no.Text;
DM.ADOQuery_list.fieldbyname('sku').asstring := stringgrid_asn.cells[1,j];
DM.ADOQuery_list.fieldbyname('ex_rece_qty').asstring := stringgrid_asn.cells[4,j];
DM.ADOQuery_list.fieldbyname('fact_rece_qty').asstring := stringgrid_asn.cells[5,j];
DM.ADOQuery_list.fieldbyname('location').asstring := stringgrid_asn.cells[6,j];
DM.ADOQuery_list.fieldbyname('lot_no').asstring := stringgrid_asn.cells[7,j];
end;
try
dm.ADOQuery_list.Post;
except
application.MessageBox('保存表体失败!','提示',mb_ok+mb_iconerror);
end;
end;/////
dm.ADOQuery_list.Post;
except
application.MessageBox('保存表体失败!','提示',mb_ok+mb_iconerror);
end;
这段应该放到for循环里面!
最好使用事务处理!