以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]我需要批量导入上万条数据,看了下以往的帖子,没看懂,求教 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=141673) |
-- 作者:zto001 -- 发布时间:2019/10/8 12:38:00 -- [求助]我需要批量导入上万条数据,看了下以往的帖子,没看懂,求教 [求助]我需要批量导入上万条数据,看了下以往的帖子,没看懂,求教 |
-- 作者:有点蓝 -- 发布时间:2019/10/8 14:18:00 -- 什么帖,写了什么代码,什么地方不懂? |
-- 作者:zto001 -- 发布时间:2019/10/8 15:07:00 -- http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=53006&skin=0 首先,他的代码里有错 Dim cmd As New SQLCommand cmd.C Dim Count As Integer = 0 其次没明白导入数据跟这个有什么关系 这个倒是可以,单只能弄几千条,搞个上万条就出错
|
-- 作者:zto001 -- 发布时间:2019/10/8 15:10:00 -- 当前我用的是Access作为数据源 |
-- 作者:有点蓝 -- 发布时间:2019/10/8 15:20:00 -- 这个是因为论坛发帖屏蔽了一些关键字,可以下载附件看源码啊 Dim cmd As New SQLCommand cmd.ConnectionName = "某数据源" …… Count 变量只是为了方便知道更新了多少条数据 |
-- 作者:zto001 -- 发布时间:2019/10/9 11:13:00 -- sql语句合成这方法好像有点慢,我导了一万多,就进入假死状态了 |
-- 作者:zto001 -- 发布时间:2019/10/10 8:38:00 -- 还有办法没? |
-- 作者:有点蓝 -- 发布时间:2019/10/10 8:42:00 -- 那就分批处理,一次处理一万条 |
-- 作者:zto001 -- 发布时间:2019/11/4 15:52:00 -- Dim st As Date = Date.Now Dim strlist As List(Of String) = Functions.Execute("sql提取函数",Tables("账单"),"账单","运单号","运单号","收件扫描时间|客户名称|目的地|城市|结算重量|签收网点|运费|重量|加收费","收件扫描时间|客户名称|目的地|城市|结算重量|签收网点|运费|重量|加收费",1) If strlist.count = 0 Then Return Nothing Dim sql As String Dim cmd As New SQLCommand cmd.Connecti Dim Count As Integer = 0 For Each s As String In strlist cmd.CommandText = s Count += cmd.ExecuteNonQuery() Output.show(s) Next Tables("账单").DataTable.BaseTable.AcceptChanges() \'提交修改 Tables("账单").DataTable.Load \'刷新表 Output.show("影响了" & Count & "行") MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒") 想问问,我第一次执行这代码的时候正常执行,后面在执行就提示错误了,是哪里错了? .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2019.10.3.1 错误所在事件:自定义函数sql提取函数 详细错误信息: 调用的目标发生了异常。 从类型“DBNull”到类型“String”的转换无效。 |
-- 作者:有点蓝 -- 发布时间:2019/11/4 16:23:00 -- 错误所在事件:自定义函数sql提取函数 检查函数代码
|