土问:在post时出错了,adoquery1:dataset not in edit or insert mode.如何办?急啊!

zdee 2004-08-22 02:25:09
我点击button, 代码 if adoquery1.state in [dsedit,dsinsert] then
adoquery1.post;
就出错提示adoquery1:dataset not in edit or insert mode。如何才能使得adoquery1处于edit or insert 状态?
单步执行时,看到post 是执行了的,数据也能看出来是保存了的。
问:如何才能使得adoquery1处于edit or insert 状态?又如何知道adoquery1是什么状态?
请高手指点!
...全文
216 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zdee 2004-08-22
也许是其他的事件影响了 post 操作,项目 有的 窗体 post 没有问题 ,有的就是有 这样的错误 ,我仔细对照一下吧。谢谢各位指点!
回复
大聪 2004-08-22
可能需要补充一些:我的adoquery1 在 form1 ,对adoquery1的修改和添加操作,在form2里进行的,这样是不是影响了adoquery1的edit状态了呢?( form2是和form1用同一个adoquery1.)


不会,你就好看看,其它别的控件的change事件
回复
大聪 2004-08-22
if adoquery1.state in [dsedit,dsinsert] then
begin
//你的代码
adoquery1.post;
end;
回复
zdee 2004-08-22
adoquery1.exec(true); 怎么用呢?
回复
tcjzy 2004-08-22
adoquery1.exec(true);
回复
zdee 2004-08-22
在before post 事件里 写adoquery1.edit; 也试过了。
可能需要补充一些:我的adoquery1 在 form1 ,对adoquery1的修改和添加操作,在form2里进行的,这样是不是影响了adoquery1的edit状态了呢?( form2是和form1用同一个adoquery1.)
回复
zdee 2004-08-22
我很多地方是这样做的,好像也不行,还是错误照旧。头疼的问题
回复
backstreetNewhua 2004-08-22
同意楼上
回复
chwdong 2004-08-22
adoquery1.edit;

adoquery1.post;
回复
zdee 2004-08-22
有的地方用的是maskedit combobox 有的地方是 dbedit 。
不是db的控件我会把值赋给 adoquery1.fieldbyname('id').asstring:=maskedit1.text; 然后再执行 adoquery1.post.
这样不行吗?
回复
wpyyl 2004-08-22
你用的是DB的控件对吗?仔细看看DELPHI帮助。
回复
相关推荐
发帖
Delphi
创建于2007-08-02

4894

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2004-08-22 02:25
社区公告
暂无公告