SQL2000有个表 TTE(A,B,C)主键Adelphi中用DBGrid显示数据,当选中DBGrid某条记录,其值显示在相应Edit框中,然后通过Edit进行编辑,保存用ADOQuery1.Edit 修改数据,代码如下
...
Try
adoquery1.Edit;
adoquery1.fieldbyname('A').asstring:=Trim(edit1.text);
adoquery1.fieldbyname('B').asstring:=Trim(edit2.text);
adoquery1.fieldbyname('C').asstring:=Trim(edit3.text);
adoquery1.Post;
except
Showmessage('数据修改异常!');
end;
...错误提示:不能插入重复键
...
Try
adoquery1.Edit;
adoquery1.fieldbyname('A').asstring:=Trim(edit1.text);
adoquery1.fieldbyname('B').asstring:=Trim(edit2.text);
adoquery1.fieldbyname('C').asstring:=Trim(edit3.text);
adoquery1.Post;
except
Showmessage('数据修改异常!');
end;
...错误提示:不能插入重复键
解决方案 »
- Frm_Login 是其中一个单元名,但是我在uses中引用却是用的Login 把Frm_给去掉了,这是为什么
- odbc+bde+MS SQL SERVER同一机器打开多个程序报错。。。
- Delphi7中使用TWebBrowser控件及MSHTML单元,如何列举(WebBrowser1.Document as IHTMLDocument2).all?
- 请大家写写DELPHI与ACCESS的连接语句!
- 请问Word中,有一个快速设置字体颜色的控件是什么控件?????马上加分
- 怎么没有人知道吗?二级转向域名吗????
- 隆重庆贺本人通过国家计算机三级网络技术考试,大散分!!!!!!!!!!!!!!!
- 求解:如何在dephi中调用*.chm格式的帮助文件,并且能直接定位到某一页
- 請問 Delphi 語法?
- 用shellexecute启动程序,可以指定特定在某个用户登录状态下显示窗口吗?
- strtoint 很奇怪!
- delphi向外部程序发磅按键
是不是忘了设定主键值了
删除了这句adoquery1.fieldbyname('A').asstring:=Trim(edit1.text); 照样插入了一条记录,而且代替了第一条记录,不知道为什么为这样???
如果是这样,那么新增记录的A字段里面是什么值:空值?主键为空值能保存吗?所以估计你的代码里面还有别的地方在根据这几个Edit的内容向数据库里面增加记录。把所有涉及ADOQuery1的代码上设置断点,跟一下程序执行逻辑试试。