DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: jeff1314
今日帖子: 20
在线用户: 15
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 xzhzh ★☆☆☆☆ -
盒子活跃会员
2022/10/7 20:41:05
标题:
ehlib中dbgrideh怪事,搞不明白 浏览:956
加入我的收藏
楼主: 使用dbGrideh显示数据
buttonclick()
begin
dt.sql.text:='select * ....';
dt.close;
dt.open
end; 
点击按钮:第一次执行正常 数据显示正常 。 第二次点击报错误 dt cannt perform this operation on a close dataset. 再点击正常 。
就是点击执行:1,3,5 奇数次正常。2,4,6偶数次 报错
----------------------------------------------
-
作者:
男 xzhzh ( ) ★☆☆☆☆ -
盒子活跃会员
2022/10/7 20:42:44
1楼: 换成dbgrid,没有这个问题
----------------------------------------------
-
作者:
男 tms2021 (TMS2021) ▲▲△△△ -
普通会员
2022/10/7 21:19:40
2楼: buttonclick()
begin
dt.close;
dt.sql.text:='select * ....';
dt.open
end;

这样试试
----------------------------------------------
欢迎加入Delphi的QQ群:462884906
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2022/10/8 1:43:21
3楼: 楼主,你操作的是 Query 控件,和 DBGridEh 这个显示控件有什么关系?

既然错误提示是 cannt perform this operation on a close dataset.

那么,就是你的 Query 这个 DataSet 没关闭导致的嘛,错误提示已经说得非常清楚了。那你先把它(那个 DataSet,也就是那个可以写 SQL 语句的 Query)关闭了再做后面的操作不就好了?

也就是说,按照 2 楼的说法去做。
----------------------------------------------
-
作者:
男 doersoft (hnysoft.com) ★☆☆☆☆ -
普通会员
2022/10/8 10:37:31
4楼: 楼上说反了...应该是莫名其妙数据集被关闭了,导致不能操作一个已经关闭的数据集.
楼主查查有没其它代码是关闭了数据集的,debug一下.
----------------------------------------------
delphi|vue|golang hnysoft|hnyerp+mes+srm
作者:
男 xzhzh ( ) ★☆☆☆☆ -
盒子活跃会员
2022/10/8 11:28:06
5楼: 关闭什么。不管数据集是开还是关:dt.close后dt.open 总应是没有问题的
1.换成dbgrid显示就没有问题.
2.第一次执行: close 后open  。第二次也是close后open 第三次也是先close 后open。 为什么135行。246
就报错
----------------------------------------------
-
作者:
男 xzhzh ( ) ★☆☆☆☆ -
盒子活跃会员
2022/10/8 12:30:29
6楼: 又试了一下呢:如果关闭前断开数据源。打开后再连接上。就没问题:
datasource1.DataSet:=nil;
dt.Close;
datasource1.DataSet:=dt;
dt.Open;
设计时:在object inspector中修改dt的属性:active成open 时正常。然后active成
close.就出错
----------------------------------------------
-
作者:
男 limin (limin) ★☆☆☆☆ -
盒子活跃会员
2022/10/8 20:33:16
7楼: 仔细检查一下自己的代码
----------------------------------------------
-
作者:
男 doersoft (hnysoft.com) ★☆☆☆☆ -
普通会员
2022/10/9 8:47:39
8楼: 多检查自己代码吧,感觉是一肚子火的样子啊.
----------------------------------------------
delphi|vue|golang hnysoft|hnyerp+mes+srm
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行23.4375毫秒 RSS