|
|
导航: |
论坛 -> 数据库专区
斑竹:liumazi,waterstone |
|
作者: |
|
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偶数次 报错
----------------------------------------------
- |
作者: |
|
2022/10/7 20:42:44 |
1楼: |
换成dbgrid,没有这个问题
----------------------------------------------
-
|
作者: |
|
2022/10/7 21:19:40 |
2楼: |
buttonclick() begin dt.close; dt.sql.text:='select * ....'; dt.open end;
这样试试
----------------------------------------------
欢迎加入Delphi的QQ群:462884906
|
作者: |
|
2022/10/8 1:43:21 |
3楼: |
楼主,你操作的是 Query 控件,和 DBGridEh 这个显示控件有什么关系?
既然错误提示是 cannt perform this operation on a close dataset.
那么,就是你的 Query 这个 DataSet 没关闭导致的嘛,错误提示已经说得非常清楚了。那你先把它(那个 DataSet,也就是那个可以写 SQL 语句的 Query)关闭了再做后面的操作不就好了?
也就是说,按照 2 楼的说法去做。
----------------------------------------------
-
|
作者: |
|
2022/10/8 10:37:31 |
4楼: |
楼上说反了...应该是莫名其妙数据集被关闭了,导致不能操作一个已经关闭的数据集. 楼主查查有没其它代码是关闭了数据集的,debug一下.
----------------------------------------------
delphi|vue|golang hnysoft|hnyerp+mes+srm
|
作者: |
|
2022/10/8 11:28:06 |
5楼: |
关闭什么。不管数据集是开还是关:dt.close后dt.open 总应是没有问题的 1.换成dbgrid显示就没有问题. 2.第一次执行: close 后open 。第二次也是close后open 第三次也是先close 后open。 为什么135行。246 就报错
----------------------------------------------
-
|
作者: |
|
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楼: |
仔细检查一下自己的代码
----------------------------------------------
-
|
作者: |
|
2022/10/9 8:47:39 |
8楼: |
多检查自己代码吧,感觉是一肚子火的样子啊.
----------------------------------------------
delphi|vue|golang hnysoft|hnyerp+mes+srm
|
|