如何用update 逐条更新符合条件的记录,在线等候! ( 积分: 200 )

  • 主题发起人 主题发起人 xhuhuasoft
  • 开始时间 开始时间
X

xhuhuasoft

Unregistered / Unconfirmed
GUEST, unregistred user!
例如:&nbsp;先符合这个条件&nbsp;select&nbsp;&nbsp;*&nbsp;&nbsp;from&nbsp;&nbsp;学生库&nbsp;&nbsp;where&nbsp;年级=X<br>然后想遍历这个查询结果并逐条修改学生编号“<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;update&nbsp;&nbsp;&nbsp;学生库&nbsp;&nbsp;&nbsp;set&nbsp;学生编号=:XSBH<br>结果总是不行,一修改把所有的记录都修改了,&nbsp;不能逐条修改&nbsp;,我用的是query,不想用TABLE,table的方法太慢了,并且不好条件查询,请各位大虾指点,在线等候!
 
为什么要逐条修改,逐条修改那不慢吗,如果你非要这么做,游标非常适合你。<br>cursor.
 
加一个&nbsp;where='',条件用每条记录的唯一值。
 
update&nbsp;&nbsp;&nbsp;学生库<br>set&nbsp;学生编号=:XSBH<br>&nbsp;&nbsp;where&nbsp;年级=X
 
hsgrass&nbsp;说得正确[:D]
 
DataSetProvider1.DataSet:=query;<br>ClientDataSet1.ProviderName:=DataSetProvider1;<br>&nbsp;&nbsp;ClientDataSet1.First;<br>&nbsp;&nbsp;while&nbsp;not&nbsp;ClientDataSet1.Eof&nbsp;do<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;ClientDataSet1.Edit;<br>&nbsp;&nbsp;&nbsp;&nbsp;ClientDataSet1.FieldByName('学生编号').AsString&nbsp;:='编号';<br>&nbsp;&nbsp;&nbsp;&nbsp;ClientDataSet1.Next;<br>&nbsp;&nbsp;end;<br>ClientDataSet1.ApplyUpdates(0);
 
如按楼主说的话,一条语句就搞定.<br>即hsgrass说的那样.
 
他的意思是修改编号,每个学生的编号肯定不一样的,一条语句怎行?<br>var<br>&nbsp;&nbsp;xsbh_new:&nbsp;String;<br>beign<br>......<br>While&nbsp;not&nbsp;Query.eof&nbsp;do<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;//确定新的学生编号<br>&nbsp;&nbsp;&nbsp;&nbsp;xsbh_new:=......<br>&nbsp;&nbsp;&nbsp;&nbsp;query2.close;<br>&nbsp;&nbsp;&nbsp;&nbsp;query2.sql.text:='update&nbsp;学生库&nbsp;set&nbsp;学生编号=:xsbh_new&nbsp;where&nbsp;学生编号=:xsbh_old;<br>&nbsp;&nbsp;&nbsp;&nbsp;query2.ParamByName('xsbh_new').asstring:=xsbh_new;<br>&nbsp;&nbsp;&nbsp;&nbsp;query2.ParamByName('xsbh_old').asstring:=query1.FIeldByName('学生编号').asstring;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;query2.ExecSQL;<br>&nbsp;&nbsp;&nbsp;&nbsp;query1.next;<br>&nbsp;&nbsp;end<br><br>......<br>end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
621
import
I
后退
顶部