ADOtable错误,请帮忙。谢谢。(着急)
先是通过条件查询出需要修改的结果,显示在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查询出需修改的记录。
请教各位。谢谢大家。
问题点数:10、回复次数:6Top
1 楼alexzhang00(三角猫)回复于 2005-03-05 15:36:06 得分 0
这样不行,如果你要修改,必须实行 绑定,采用 DBEDIT,直接POST就可以了Top
2 楼merkey2002(小样的)回复于 2005-03-05 16:46:03 得分 3
是不是要有记录定位的问题呢,
_--------->肯定是这个问题.
你的代码没有错Top
3 楼xuxiaozhao_3411(小小)回复于 2005-03-05 19:02:32 得分 7
用adoquery查出你要改的记录,然后
adoquery1.edit;
adoquery1.Fieldbyname('khbh').value:=edit1.text;
adoquery1.Fieldbyname('khmc').Value:=edit2.text;
adoquery1.Fieldbyname('djrq').value:=edit3.text;
......
adoquery1.post
就行了,但问题是,如果你的adotable定位到了那个记录,你的办法也是对的,呵呵。
从其它地方找问题吧,如果库中的重复记录是没有意义的,还是先设了主键再说吧。
Top
4 楼xiaoxiangyu(潇湘雨)回复于 2005-03-07 08:36:50 得分 0
请问如何定位到需要修改的记录上,用什么语句呢?谢谢。Top
5 楼xiaoxiangyu(潇湘雨)回复于 2005-03-07 08:49:05 得分 0
可以了,不知道为什么用ADOTABLE就会出错。用adoquery1就可以。很奇怪。不过问题。解决。谢谢。大家。
Top
6 楼whbo(王红波(年轻人,要有所作为))回复于 2005-03-07 09:13:34 得分 0
adoquery多了sql支持Top




