先是通过条件查询出需要修改的结果,显示在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 如何定义指针变量?
- 关于dxDBGrid中生成的列属性里FieldName里的值是如何生成的?
- 如何在过程中定义常量!!!或如何在定义变量时给个默认数值
- fastreport如何实现明细纵向打印
- 关于窗体上的components中的索引值的问题!急的人发疯!
- (紧急求救)请问在Delphi中如何使用扫描枪取得条形码?
- 急急急!高手快来看呀!
- 知道吗?也许是旧闻了,Delphi 6有补丁了,可以borland主页上下载。(内空)
- 在RunTime时,当改变了表单的某个属性,如何保存下来?
- 有关Delphi制作安装文件的问题
- 哪位高手知道打包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定位到了那个记录,你的办法也是对的,呵呵。
从其它地方找问题吧,如果库中的重复记录是没有意义的,还是先设了主键再说吧。