以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]后台删除报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172764)

--  作者:天一生水
--  发布时间:2021/10/29 20:33:00
--  [求助]后台删除报错
老师好!删除[代码]、[日期]均相同的行,报错如图。是什么原因?

代码:
Dim cmd As New SQLCommand
c
Dim Count As Integer
c.CommandText = "Del ete from {股票日线} where [_Identify] not In (Se lect min([_Identify]) As id from {股票日线} group by 代码,日期)"
Count= cmd.ExecuteNonQuery()
Messagebox.Show( "总共删除" & Count & "行!")


图片点击可在新窗口打开查看此主题相关图片如下:后台去重.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2021/10/30 9:06:00
--  
可能之前的某个操作出错,导致数据库连接没有关闭,重启项目在测试

另外给代码和日期列添加个索引

另外试试使用关联删除,尽量不要使用in,下面代码请到测试库测试
Delete from a from {股piao日线} as a inner join (Select min([_Identify]) As id from {股piao日线} group by 代码,日期) as b on a.[_Identify] = b.id

--  作者:天一生水
--  发布时间:2021/10/30 21:58:00
--  
老师好!
我这样测试:
1、我先添加了代码和日期的索引;
2、数据量在1千万行以上时,前后两种代码会报错“The connection was not closed. The connection\'s current state is open.”;
3、少量数据测试,几百行时,不会报错;
4、老师提供的关联删除,在数据库里执行显示错误:
消息 102,级别 15,状态 1,第 1 行
\'}\' 附近有语法错误。
消息 102,级别 15,状态 1,第 1 行
\'}\' 附近有语法错误。
5、在项目里测试关联删除代码 删除的是 不重复行~

下一步怎么弄?


[此贴子已经被作者于2021/10/31 13:12:01编辑过]

--  作者:有点蓝
--  发布时间:2021/10/31 20:17:00
--  
Foxtable的sql放到数据库里执行的时候要去掉大括号