Update时,所有记录的字段都更新了 ( 积分: 30 )

  • 主题发起人 主题发起人 tianxin7131
  • 开始时间 开始时间
T

tianxin7131

Unregistered / Unconfirmed
GUEST, unregistred user!
程序运行正常,当点击修改时,所有记录除ID没变外,其它字段都变成一样的。<br>先创建类;procedure&nbsp;tbase.recupdate(updatesql:string);<br>&nbsp;begin<br>&nbsp;&nbsp;datamod.adoq1.Close;<br>&nbsp;&nbsp;datamod.adoq1.SQL.Clear;<br>&nbsp;&nbsp;datamod.adoq1.SQL.Add(updatesql);<br>&nbsp;&nbsp;datamod.adoq1.ExecSQL;<br>&nbsp;end;<br><br>再调用类:<br>procedure&nbsp;Tinfo_modfrm.Button1Click(Sender:&nbsp;TObject);<br>var<br>modsql:string;<br>begin<br>&nbsp;if&nbsp;application.messagebox('确实要修改记录吗?','提示:',mb_yesno+mb_iconquestion)=idyes&nbsp;then<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;if&nbsp;base.checkrec(edit1.text)=false&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;showmessage('对不起,该员工编号不存在,修改失败!');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modsql:='update&nbsp;base&nbsp;set&nbsp;jxren='''+edit3.text+''',jxren2='''+edit6.text+''','<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+'jxren3='''+edit7.text+''',wxgs='''+edit2.text+''',sbmc='''+edit4.text+''','<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+'jxbw='''+edit5.text+''',jxjg='''+memo1.text+''',jxrq='''+datetostr(datetimepicker1.date)+'''';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;base.recupdate(modsql);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application.messagebox('修改成功!','提示:',mb_ok);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;info_modfrm.close;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;repair_record_infofrm.formactivate(sender);<br>end;
 
不好意思,我已找到问题点了,是少了一个限制语句,在modsql:='update&nbsp;base&nbsp;set&nbsp;jxren='''+edit3.text+''',jxren2='''+edit6.text+''','<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+'jxren3='''+edit7.text+''',wxgs='''+edit2.text+''',sbmc='''+edit4.text+''','<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+'jxbw='''+edit5.text+''',jxjg='''+memo1.text+''',jxrq='''+datetostr(datetimepicker1.date)+'''';<br>后面加上一个where&nbsp;id='''+edit1.text+'''即可,谢谢
 
问题已经解决了,因上新手,对语句不够了解,后来仔细一想,才发现少了个判断条件。
 
...散分吧
 
接分~~~!
 
sql语句最好在查询分析器里调好后再放在程序里!这样好调试!
 
接分,多练习就行了
 
楼主以后要仔细点哦!<br>俺顺便也接分啦!
 
我一看到你的标题就知道你一定没写Where条件!
 
多人接受答案了。
 
后退
顶部