我用ADOQuery查找到了一个结果集,用DBNavigator指示其中一条,并用DBEdit显示当前的记录!问题有二:
1.用DBNavigator指示时,指示第一条时,首记录导航并未变成灰色;指示最后一条记录时,末记录导航出现同样情况!
2.我修改DBEdit中的数据,以修改当前记录,当不知道如何让它修改当前记录;也不知道如何删除当前记录!
各位大哥救救我!!
1.用DBNavigator指示时,指示第一条时,首记录导航并未变成灰色;指示最后一条记录时,末记录导航出现同样情况!
2.我修改DBEdit中的数据,以修改当前记录,当不知道如何让它修改当前记录;也不知道如何删除当前记录!
各位大哥救救我!!
2、第2个问题你在说什么啊?既然都用dbedit显示出来了,直接修改啊。
修改完了在dbnavigator上单击post不就完了?不过建议别用dbnavigator
还是自己写代码吧。也不要用dbedit直接显示和修改数据,作多了你就知道不好办啦。
//
给
Q。FIELDS[0]直接赋值是否可以??
用
Q。FIRST,
Q。NEXT
等切换当前记录。
2、我不太明白你的意思。如果是修改一条纪录,直接用adoquery.post
就是更新当前纪录啊,为什么你会更新所有纪录?是什么意思?如果是
cacheupdate也只会更新修改过的纪录啊。
但是对于第二点:我是用dbnavigator指示当前记录位置,而用dbedit显示记录字段内容,然后在dbedit里修改,用adoquery与数据库相连。问题出在由于我对当前记录的所以字段都可以做修改,而没有一个查询条件了,所以都修改了!我当时是这样写的:
SQL.Add('Update BookInf set Author=:p0,Type=:p1,Name=:p2,PH=:p3,ISBN=:p4');
如果我要对该记录的所有字段都能进行修改我应该怎么做?
所有字段就所有都加,我前边有个贴子是专门用来解决多个字段的更新问题,可以达到50多个,解决问题的方法其实就是三种:
利用存储过程,但是参数还要你一个一个的给,SQL Server 没有数组这个概念
利用Update or FieldByName更新;也是一个一个的给值;
再就是用控件数组,但是所有的都要在设计期做好,改变不是很容易;
当时,忧悠用了另一种方法,但是我觉的不是很好;