土问:在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是什么状态?
请高手指点!
...全文
259 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
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帮助。

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧