当我点击某条记录、修改按钮,弹出一个窗口(这些我都做好了,为了说清楚才说这么仔细,看后面)。并把DBGrid中的字段分别显示在窗口中的控件(如Edit1)。然后我在确认按钮里面写了这样的代码:
procedure TForm4.Button1Click(Sender: TObject);
begin
with form1 do
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('update Employees set EID = '''+trim(Edit1.Text)+''', name = '''+trim(Edit2.Text)+''', sex ='''+ComboBox1.Text+''', nation ='''+trim(ComboBox2.Text)+''',IDCard = '''+trim(Edit4.Text)+''', address = '''+trim(Edit5.Text)+''',memo = '''+trim(Memo1.Text)+''' where EID = '''+trim(Edit2.Text)+'''');
ADOQUery1.ExecSQL; ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select EID ''职员编号'', name ''姓名'', sex ''性别'', nation ''民族'', birthday ''出生年月'', IDCard ''身份证号码'', address ''地址'', memo ''备注信息'' from Employees');
ADOQuery1.Open;
end;就是修改记录,并保存到数据库。我之前可以修改的,后来,莫名其妙不能修改了。我也找不出什么原因。
或许,我这样做并不好,求前辈知道赏个脸,谢谢。
procedure TForm4.Button1Click(Sender: TObject);
begin
with form1 do
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('update Employees set EID = '''+trim(Edit1.Text)+''', name = '''+trim(Edit2.Text)+''', sex ='''+ComboBox1.Text+''', nation ='''+trim(ComboBox2.Text)+''',IDCard = '''+trim(Edit4.Text)+''', address = '''+trim(Edit5.Text)+''',memo = '''+trim(Memo1.Text)+''' where EID = '''+trim(Edit2.Text)+'''');
ADOQUery1.ExecSQL; ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select EID ''职员编号'', name ''姓名'', sex ''性别'', nation ''民族'', birthday ''出生年月'', IDCard ''身份证号码'', address ''地址'', memo ''备注信息'' from Employees');
ADOQuery1.Open;
end;就是修改记录,并保存到数据库。我之前可以修改的,后来,莫名其妙不能修改了。我也找不出什么原因。
或许,我这样做并不好,求前辈知道赏个脸,谢谢。
解决方案 »
- 关于memo和richedit保存问题
- 如何定义
- 为什么fsmainform与fschildform之间show总是内存地址出错?
- 紧急求助
- 关于异常处理搞不定了,请大侠们指点
- 请教获取时间的方法?极菜的问题!!在线等
- InstallShield Express for delphi 在delphi的那里,为什么我装的都没有!
- 使用NMFTP,如何中断正在上传的文件
- 求助,报jpeg error #53错误.请大神们救救我.
- 请问谁有分割窗口的控件,要求是可以实现制作出多个窗口框架的功能。
- Delphi如何使数据库按日期插入多条记录?
- [Error] Unit1.pas(78): Types of actual and formal var parameters must be identic
直接用DBEDIT就可以了。
然后如果不是更新查询字段不需要这么做,只需要adoquery.close; adoquery.open即可
ADOQuery1.Close;
... ADOQuery1.Open;
第三最好LZ把错误代码贴出来才好判断错在哪里
由于以前你能执行,所以代码问题应该可以被省略,有可能最近改过库结构造成更新语句错误