请问如何一次update多条记录? (25分)

  • 主题发起人 主题发起人 board
  • 开始时间 开始时间
B

board

Unregistered / Unconfirmed
GUEST, unregistred user!
可能我还是没有说明白我的意思吧
表a中有多条记录,用dbgrid显示
dbgrid是只读的
有两个按钮change,save
当用户点击change时,dbgrid中的cj字段可写
用户输入数据到cj字段中
点用户点击save时,dbgrid中的的cj字段只读
执行update多条记录,请问代码如何实现?
 
sql 语句可修改数据,不管你的DBGRID是否onlyread is true ,
你可在SAVE 按钮下

with quer1 do
being
close;
sql.text.clear;
sql.text:=' update 库名 set 字段=‘+字符型新值表达式+'where 条件表达式';
open;
end;
可update your table中所有符合条件的记录。





 
ADODataSet1.CacheUpdates := true;
....

ADODataSet1.ApplyUpdates;
 
1.使用UPDATESQLR控件和QUERY控件,设置QUERY的CACHEDUPDATES为真,UPDATEOBJECT为UPDATESQL.
2.在SAVE按钮的CLICK事件中编写UPDATESQL的MODIFYSQL语句.
 
写触发器...
 
将ADOTAble1的CursorType设为ctStatic
LockType设为ltBatchOptimistic
点击change时 ADOTAble1.edit
然后输入多条记录
点击save
ADOTAble1.UpdateBatch();



 
with ADOQuery do
begin
Close ;
Sql.Text ;= 'update TableName set TheField = ... where ...' ;
ExecSql ;
end;
 
按FUNNYFAN8的方法做吧
 
to Allen,我按照FUNNYFAN8的方法做了,但是出错了
出错提示如下:
Insufficient key column information for updating or refreshing

这是我的代码:
if spskinbutton3.Caption='提交成绩' then
begin
spskinbutton3.caption:='保存';
adoquery1.Edit;
end
else if spskinbutton3.Caption='保存' then
begin

spskinbutton3.caption:='提交成绩';
adoquery1.UpdateBatch();
end

end;
 
有人帮忙吗??
 
觉得用 Query 很好

with ADOQuery do
begin
Close ;
Sql.Text ;= 'update TableName set TheField = ... where ...' ;
ExecSql ;
end;

 
to 穿越沦陷的爱
Sql.Text ;= 'update TableName set TheField = ... where ...' ;
这句代码是什么意思,麻烦您解释一下可以嘛?
这个sql.text是个什么东西?
 
To Board

你的值和你所在update的条件呀
参考Sql语法手册
 
后退
顶部