Foxtable(狐表)用户栏目专家坐堂 → [求助]我需要批量导入上万条数据,看了下以往的帖子,没看懂,求教


  共有3343人关注过本帖树形打印复制链接

主题:[求助]我需要批量导入上万条数据,看了下以往的帖子,没看懂,求教

帅哥哟,离线,有人找我吗?
zto001
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
[求助]我需要批量导入上万条数据,看了下以往的帖子,没看懂,求教  发帖心情 Post By:2019/10/8 12:38:00 [只看该作者]

[求助]我需要批量导入上万条数据,看了下以往的帖子,没看懂,求教

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/8 14:18:00 [只看该作者]

什么帖,写了什么代码,什么地方不懂?

 回到顶部
帅哥哟,离线,有人找我吗?
zto001
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/10/8 15:10:00 [只看该作者]

当前我用的是Access作为数据源

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/8 15:20:00 [只看该作者]

这个是因为论坛发帖屏蔽了一些关键字,可以下载附件看源码啊

Dim cmd As New SQLCommand
cmd.ConnectionName = "某数据源"
……

Count 变量只是为了方便知道更新了多少条数据

 回到顶部
帅哥哟,离线,有人找我吗?
zto001
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/10/9 11:13:00 [只看该作者]

sql语句合成这方法好像有点慢,我导了一万多,就进入假死状态了

 回到顶部
帅哥哟,离线,有人找我吗?
zto001
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/10/10 8:38:00 [只看该作者]

还有办法没?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/10 8:42:00 [只看该作者]

那就分批处理,一次处理一万条

 回到顶部
帅哥哟,离线,有人找我吗?
zto001
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By: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”的转换无效。




图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20191104155113.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/4 16:23:00 [只看该作者]

错误所在事件:自定义函数sql提取函数

检查函数代码

 回到顶部
总数 17 1 2 下一页