先是通过条件查询出需要修改的结果,显示在edit框中,然后我用ADOtable 组件,要对数据库的数据进行修改。
adotable1.Edit;
adotable1.Fieldbyname('khbh').value:=edit1.text;
adotable1.Fieldbyname('khmc').Value:=edit2.text;
adotable1.Fieldbyname('djrq').value:=edit3.text;
..
..
adotable1.Post;
可是这样产生的结果是对库里面又增加了一条记录。而不是在原记录上修改。如果设置了khbh为主键,则提示不能插入重复记录。
请问如何解决。是不是要有记录定位的问题呢,请问,如何定位到需修改的记录上呢。我用adoquery查询出需修改的记录。
请教各位。谢谢大家。
adotable1.Edit;
adotable1.Fieldbyname('khbh').value:=edit1.text;
adotable1.Fieldbyname('khmc').Value:=edit2.text;
adotable1.Fieldbyname('djrq').value:=edit3.text;
..
..
adotable1.Post;
可是这样产生的结果是对库里面又增加了一条记录。而不是在原记录上修改。如果设置了khbh为主键,则提示不能插入重复记录。
请问如何解决。是不是要有记录定位的问题呢,请问,如何定位到需修改的记录上呢。我用adoquery查询出需修改的记录。
请教各位。谢谢大家。
解决方案 »
- Delphi下的异常处理
- 使用odac时将net打为true,连接数据库时报错:service unvavilable!如何这是什么原因啊?
- 开贴1问:关于 Assign 方法
- 有没有搞过apache的
- Delphi程序如何与其它程序共享访问Visual FoxPro数据库?
- halfdream(哈欠) 请来领WebService中接口问题的分(二)
- 三○○分相求一个往ACCESS数据库里面写图片文件或DOC文档的列子!(急)
- Delphi6能用在Delphi5里边使用的控件吗?
- 没动手写过组件的求救。。。。
- 下了个报表控件,但不知道怎用????
- 哪位高手知道打包ACCESS时不将.MDB文件(占用空间)打进去,表程序创建,请问有方法解决吗
- 呵呵,意外发现这样的代码也能正确运行。
adoquery1.edit;
adoquery1.Fieldbyname('khbh').value:=edit1.text;
adoquery1.Fieldbyname('khmc').Value:=edit2.text;
adoquery1.Fieldbyname('djrq').value:=edit3.text;
......
adoquery1.post
就行了,但问题是,如果你的adotable定位到了那个记录,你的办法也是对的,呵呵。
从其它地方找问题吧,如果库中的重复记录是没有意义的,还是先设了主键再说吧。