简单的updatebatch问题!大家帮我啊。 我在窗体的一个按钮里写:adotable1.UpdateBatch(); 点饥该按钮后,查看数据库,表里没有新记录,我关闭窗体后再去查看数据库,表里有数据了,不解啊还有,我第一次updatebatch以后,把dbgrid里的记录全部改了,然后再updatebatch, 结果报错:无法为更新定位行,一些记录可能在最后一次读取后更改,文字我也看的懂,就是不知道什么原因 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哦,我在按钮里写了“adotable1.UpdateBatch(); adotable1.close; adotable1.open; 点饥该按钮后,查看数据库,表里没有新记录,我关闭窗体后再去查看数据库,表里有数据了,不解啊 adotable1是设定为缓存更新了么如果不是,调用UpdateBatch(); 也是不科学的 >>无法为更新定位行,一些记录可能在最后一次读取后更改一般是没有主键造成的吧! 缓存更新? 是不是locktype设置为ltBatchOptimistic啊? 我设置了啊。 updatebatch以后 你把你的query,dbgrid refresh看看有新的记录的增加吗? 我估计也是这个问题,可怎么在access里设置通常所说的id字段呢? 大侠帮忙啊 哦,我用:adotable1.UpdateBatch(); adotable1.close; adotable1.open;第一次在dbgrid里输入数据,提交后,数据库里有新记录!然后我把adotable1里的几个字段给:dbgrid1.DataSource.DataSet.FieldByName('upshuju').Clear; 了,然后我再dbgrid输入新数据,再一次提交,这时数据库里上一次提交的记录被覆盖了!出现的是第二次提交的记录! 可我要两次提交的数据都进入数据库啊。主要是不太懂updatebatch()的原理。 非常感谢angle097113(抵制日货,人人有责!) ,我设置了id 字段了,用adotable1.UpdateBatch(); 还是报错:无法为更新定位行,一些记录可能在最后一次读取后更改的错误了只有用adotable1.UpdateBatch(); adotable1.close; adotable1.open;但是又会覆盖记录,哎,看来一定要在updatebatch()上解决问题,可惜我不懂他的原理啊, 你在输入数据以前先query1.append;clear后也要updatebatch的 追加新的记录 如何使 DBEditEh 只能修改不能增加记录 请高手赐教: Delphi+Rave 横向打印的问题显示不了爷脚 delphi目前的市场前景 毕业设计?数据库中的数据传输?? 这是什么ADOQuery?????? 一个数据库异常处理问题? 使用主从表还是一个表 急!!关于winSocket与银行通信问题. 各位大哥帮看下这段程序是什么意思 StringGrid字体颜色问题 急! 求助关于DELPHI开发ACTIVEX COM ,ASP不能调用!请教高人! 用ADOConnection1.OpenSchema()方法获取字段的描述啊?
adotable1.close;
adotable1.open;
点饥该按钮后,查看数据库,表里没有新记录,我关闭窗体后再去查看数据库,表里有数据了,不解啊
如果不是,调用UpdateBatch(); 也是不科学的
一般是没有主键造成的吧!
大侠帮忙啊
adotable1.close;
adotable1.open;
第一次在dbgrid里输入数据,提交后,数据库里有新记录!
然后我把adotable1里的几个字段给:
dbgrid1.DataSource.DataSet.FieldByName('upshuju').Clear; 了,
然后我再dbgrid输入新数据,再一次提交,这时数据库里上一次提交的记录被覆盖了!
出现的是第二次提交的记录! 可我要两次提交的数据都进入数据库啊。
主要是不太懂updatebatch()的原理。
我设置了id 字段了,用adotable1.UpdateBatch();
还是报错:无法为更新定位行,一些记录可能在最后一次读取后更改的错误了只有用adotable1.UpdateBatch();
adotable1.close;
adotable1.open;
但是又会覆盖记录,哎,
看来一定要在updatebatch()上解决问题,可惜我不懂他的原理啊,
clear后也要updatebatch的
追加新的记录