删除选中数据

 ,今日 份,分享个小知识点给群里的小白
//批量删除grideh记录报eof 错误的解决办法
2021-11-13 11:30:26
昨晚搞 到现在,,忙了一天,,一个小小的批量删除,把我搞 惨 了

 2021-11-13 11:31:36
越搞技术越好


【传说】启明电脑 2021-11-13 11:34:12


【传说】启明电脑 2021-11-13 11:34:27
这个能不能去掉dbgrid1

【传说】启明电脑 2021-11-13 11:34:36
直接datasource

【话唠】Value 2021-11-13 11:34:42
???

【话唠】Value 2021-11-13 11:34:48
DBGrid1.SelectedRows.Delete;

【话唠】Value 2021-11-13 11:34:54
这不就是批量删除了

【传说】广州_编程小哥哥 2021-11-13 11:36:09
Value DBGrid1.SelectedRows.Delete;
@Value 试过,,这个是可以删除,,但是删除到 最后一行的时候会报错

【传说】广州_编程小哥哥 2021-11-13 11:36:40
启明电脑
@启明电脑 没试过呢,你不指定 datasoure应该不行的吧

【话唠】Value 2021-11-13 11:37:09
报什么错?

【传说】广州_编程小哥哥 2021-11-13 11:37:57
启明电脑 越搞技术越好
@启明电脑 技术我还是个渣渣 ,只是想把自己开发过程中遇到的 问题能自己解决的,分享给需要的人

【传说】广州_编程小哥哥 2021-11-13 11:38:10
Value 报什么错?
@Value 什么 记录为真,eof 什么 的

【话唠】Value 2021-11-13 11:39:04
你没用对呗

【传说】启明电脑 2021-11-13 11:39:36
dbgrid 连接数据源 datasource
datasource 连接 数据集组件
直接用 datasourc.dataset 就是指向数据集

【传说】广州_编程小哥哥 2021-11-13 11:45:28
启明电脑 dbgrid 连接数据源 datasource datasource 连接 数据集组件 直接用 datasourc.dataset 就是指向数据集
@启明电脑 也是一样的嘛,,去掉 grid.datasoure
那肯定就要在前面加一个  xxxx.dataset   xxxx代表source

【传说】脚踏实地 2021-11-13 11:45:52
为啥不用while not 

【传说】脚踏实地 2021-11-13 11:46:09
不是循环,没最后一行问题

【传说】广州_编程小哥哥 2021-11-13 11:46:18
Value 你没用对呗
@Value ,,,  我也没有干啥呀

【话唠】Value 2021-11-13 11:48:58
DBGrid1.SelectedRows.Delete;

【话唠】Value 2021-11-13 11:49:03
你跟我用的一样?

【传说】启明电脑 2021-11-13 11:53:52


【传说】启明电脑 2021-11-13 11:54:07
这个控件是什么 有没有视频教程?

【传说】广州_编程小哥哥 2021-11-13 11:58:19
Value DBGrid1.SelectedRows.Delete;
@Value 这个我试过,,报错后,我就没用这个了

【传说】广州_编程小哥哥 2021-11-13 11:58:34
启明电脑 这个控件是什么 有没有视频教程?
@启明电脑 这个有的,,

【传说】广州_编程小哥哥 2021-11-13 11:58:50
不过是最基础的数据库操作,,你百度也行

【传说】启明电脑 2021-11-13 11:59:06
关键字是什么?

【传说】广州_编程小哥哥 2021-11-13 12:01:57
。。。。。

【传说】广州_编程小哥哥 2021-11-13 12:02:06
你还是等你网络好了,自己打开看吧

【潜水】菜根 2021-11-13 12:21:08
Value DBGrid1.SelectedRows.Delete;
@Value 这是正解,也是最简单的调用方式

【潜水】菜根 2021-11-13 12:21:15
即使自己遍历,

【潜水】菜根 2021-11-13 12:21:26


【潜水】菜根 2021-11-13 12:21:32
这段代码是他自己的问题

【潜水】菜根 2021-11-13 12:22:06


【潜水】菜根 2021-11-13 12:22:12
这三句话完全画蛇添足

【潜水】菜根 2021-11-13 12:22:19
自己都没搞明白是在做什么

【潜水】菜根 2021-11-13 12:22:31
去掉后,这个世界就清净了,这才是简洁的eh

【潜水】菜根 2021-11-13 12:22:46


【潜水】菜根 2021-11-13 12:22:49
两种法都可以

【传说】广州_编程小哥哥 2021-11-13 12:37:28
脚踏实地 为啥不用while not
@脚踏实地 你是说 while not qry.eof  吗?  这可不行,,并不是执行清空动作,而是要执行客户选择的行批量删除,没选中的不删除

【话唠】☆小过 2021-11-13 12:38:25
这是判断游标是否到最后一条

【传说】广州_编程小哥哥 2021-11-13 12:39:05
☆小过 这是判断游标是否到最后一条
@☆小过 。。。,我不是要删除到最后,,比如100条只删除 50条

【话唠】☆小过 2021-11-13 12:39:08
上面都说了,一句话的问题

【话唠】☆小过 2021-11-13 12:39:22
DBGrid1.SelectedRows.Delete;

【传说】脚踏实地 2021-11-13 12:39:26
用另一个控件处理

【话唠】☆小过 2021-11-13 12:39:29
删除选中条

【传说】脚踏实地 2021-11-13 12:39:49
别在循环里直接删除

【传说】广州_编程小哥哥 2021-11-13 12:40:32
菜根
@菜根 第二个方法 我试了会报错,(表现为删除最后一条时会报错【当qry中只有一条,执行删除时会报错。只删除其中几条不会报错】)

【传说】广州_编程小哥哥 2021-11-13 12:41:10
☆小过 DBGrid1.SelectedRows.Delete;
@☆小过 这个我真的试了的,,只删除其中一部分不会报错,,如果 只有一条数据 时,,再执行删除,就会报错

【潜水】菜根 2021-11-13 12:41:56
不会的,第二个其实就是第一个的eh实现

【潜水】菜根 2021-11-13 12:42:13


【潜水】菜根 2021-11-13 12:42:32
两种其实是一样的,只是说自己实现遍历还是用eh现成的

【潜水】菜根 2021-11-13 12:42:56
你再看看自己的code,尤其dataset别有比如afterscroll这种事件挂着

【话唠】欢乐飞刀 2021-11-13 12:42:56
急救!,XE的这个面板的所有按钮突然失灵了!这个怎么解决啊???

【话唠】欢乐飞刀 2021-11-13 12:45:20
没有,新建一个窗体,放一个timer组件都不能隐藏和显示

【话唠】欢乐飞刀 2021-11-13 12:45:29
按钮切换窗体和代码也无效

【话唠】欢乐飞刀 2021-11-13 12:45:37
但按F12有反映

【话唠】欢乐飞刀 2021-11-13 12:46:02
新建、切换、显示和隐藏工具按钮全部失效了

【传说】广州_编程小哥哥 2021-11-13 12:54:07
菜根 两种其实是一样的,只是说自己实现遍历还是用eh现成的
@菜根 也许是这个程序里面对qry还做了其它什么动作

【潜水】菜根 2021-11-13 13:03:41
是的,你检查一下,或者做一个单独的测试

【话唠】欢乐飞刀 2021-11-13 13:05:56
解决了,TNND,IDE坑真多

【话唠】思罗529 2021-11-13 13:10:12
@欢乐飞刀  用的几?

【话唠】欢乐飞刀 2021-11-13 13:11:16
XE 10.4.2

【话唠】欢乐飞刀 2021-11-13 13:11:50
部分工具栏按钮突然失去响应,怪怪的

【话唠】思罗529 2021-11-13 13:19:02
我用了一段时间没发现问题呀

【话唠】思罗529 2021-11-13 13:19:19
感觉速度还挺快的


原文地址:https://www.cnblogs.com/xionda/p/15547975.html