1)在DELPHI中, 我对指针位置和指针类型搞不清楚, 在FORM中, 当将ADODATASET的CURLOCATION 设为CLUESRSERVER, CURSORTYPE 设为CKKEYSET时,按理说
当其他用户添加数据时,我的和ADODATASET相连的DBGRID中应该可以看到添加的数据, 但是看不到, 如果再执行ADODATASET。ACTIVE := FALSE; ADODATASET。ACTIVE := TRUE; 那是可以看到添加的数据, 但是这样做, 也就失去了指针的静态和动态的区别了, 那么CKKEYSET这种指针类型该在什么样的情况下用? 并且应该怎么用? 恳求高手指点一二。
2)在使用ADODATASET的批更新属性时,FORMS上做了一个按钮,是保存用的,因为此时ADODATASET和数据库的联系是断开的,所以数据是保存在内存里的. 当有一批数据需要保存到数据库里时, 才需要使用UPDATEBATCH( )方法, 这又多了一个按钮, 问题是用户他不知道这个原理, 两个按钮的保存的作用, 用户搞不清楚, 也接受不了. FORM上有两个保存按钮, 这个问题该怎么解决? 恳求高手指点一二。3) 在使用ADODATASET的批更新功能时, 但用户修改了某一列的一个或多个值时, 无论该用户有没有退出该FORM, 其他用户就是不能修改上个用户修改过的同样的记录, 系统总是在报错, 这个问题该怎么解决? 另外, 我想修改系统报错的对话框, 就是想在同样的错误情况下, 用我自己的报错的对话框来代替系统的, 我该如何来做? 恳求高手指点一二。
当其他用户添加数据时,我的和ADODATASET相连的DBGRID中应该可以看到添加的数据, 但是看不到, 如果再执行ADODATASET。ACTIVE := FALSE; ADODATASET。ACTIVE := TRUE; 那是可以看到添加的数据, 但是这样做, 也就失去了指针的静态和动态的区别了, 那么CKKEYSET这种指针类型该在什么样的情况下用? 并且应该怎么用? 恳求高手指点一二。
2)在使用ADODATASET的批更新属性时,FORMS上做了一个按钮,是保存用的,因为此时ADODATASET和数据库的联系是断开的,所以数据是保存在内存里的. 当有一批数据需要保存到数据库里时, 才需要使用UPDATEBATCH( )方法, 这又多了一个按钮, 问题是用户他不知道这个原理, 两个按钮的保存的作用, 用户搞不清楚, 也接受不了. FORM上有两个保存按钮, 这个问题该怎么解决? 恳求高手指点一二。3) 在使用ADODATASET的批更新功能时, 但用户修改了某一列的一个或多个值时, 无论该用户有没有退出该FORM, 其他用户就是不能修改上个用户修改过的同样的记录, 系统总是在报错, 这个问题该怎么解决? 另外, 我想修改系统报错的对话框, 就是想在同样的错误情况下, 用我自己的报错的对话框来代替系统的, 我该如何来做? 恳求高手指点一二。
2) 对于第三个问题, 就是第一个用户修改后的那些列对应的行也不能修改, 不只该怎么解决, 头疼.
2、写到一个事件里面,可以做一下判断
3、数据更新时没有所定表
1) 用DBGRID作为输入, 是不是太业余了? 实用吗? 哪有软件公司用那个的?
2) 说的太模糊了.
3) 还是说的模糊.
如果再执行ADODATASET。ACTIVE := FALSE; ADODATASET。ACTIVE := TRUE;
相当于refresh
2.此时ADODATASET和数据库的联系是断开的,干脆把数据库连上,把它保存到数据库里。让他们的功能统一。
3.用拷贝复制访问。建立临时表,把所有的更改操作放入临时表。然后在操作。
1) 如果这样做, 那还要指针干什么? 先FALSE, 后TRUE, 等于是从新在接一次数据库.
2) 如果直接连上, 那还有什么效率而言啊? 我追求的就是效率.
3) 修改是可以成功的, 但是在提交数据的时候, 还是出问题, 关键的问题是在提交的时候.
但是我该用BDE来解决的时候.
无论是TABLE, QUERY, 都是后来修改的数据可以覆盖以前的,
这样, 就不存在冲突的问题.
而且, 我以前看到的一个ERP系统, 也是后来的数据覆盖前面的,
请问, ADO为什么不行?
还有两个小问题,
1) 用BDE 开发的项目完成后, 好象克服端需要安装BDE和ODBC数据源.
我很想知道怎样安装.
2)用ADO开发的项目完成后, 因为服务机端的程序需要换到客户的服务机上,
所以那些ADO的CONNECTIONSTRING需要从新设置, 但是这些已经写死在程序里了,
请问这个问题该怎样解决?