Foxtable(狐表)用户栏目专家坐堂 → [求助]导出项目数据时提示无效密码


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

主题:[求助]导出项目数据时提示无效密码

帅哥哟,离线,有人找我吗?
大红袍
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/9 10:35:00 [只看该作者]

 行不行请试过再说。

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


加好友 发短信
等级:九尾狐 帖子:2199 积分:18075 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2015/7/9 10:37:00 [只看该作者]

试过了,不行哟。

代码执行出错,错误信息:



System.InvalidOperationException: 集合已修改;可能无法执行枚举操作。

   在 System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)

   在 System.Collections.Generic.Dictionary`2.ValueCollection.Enumerator.MoveNext()

   在 UserCode.Test()

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


加好友 发短信
等级:九尾狐 帖子:2199 积分:18075 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2015/7/9 10:45:00 [只看该作者]

以前Bin兄给过一个方法,原来执行没有什么问题,但现在程序增加了一些功能之后,就发现执行报错了。

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


加好友 发短信
等级:九尾狐 帖子:2199 积分:18075 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2015/7/9 10:52:00 [只看该作者]

原来Bin兄给的代码是
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:bin给的代码.txt


但现在执行的时候,总提示什么不能定义重复字段。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/9 10:52:00 [只看该作者]

Dim dts As new List(Of String)
For i As Integer = 0 To DataTables.Count - 1
    Dim dt As DataTable = DataTables(i)
    If dt.Type = 3 And dt.name <> "aaa" Then
        dts.Add(dt.name)
    End If
Next
For Each dt As String In dts
    Dim q As new QueryBuilder
    q.TableName = "aaa"
    q.ConnectionName = "MicvyPM"
    q.SelectString = "select * f rom {" & dt & "}"
    q.Build
    Dim ex As new Exporter
    ex.SourceTableName = "aaa"
    ex.FilePath = "D:\CS\SQL\a.accdb"
    ex.Format = "Access2007"
    ex.PassWord = "123"
    ex.NewTableName = dt
    ex.Export
Next

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/9 10:54:00 [只看该作者]

Dim dts As new List(Of String)
For i As Integer = 0 To DataTables.Count - 1
    Dim dt As DataTable = DataTables(i)
    If dt.Type = 3 And dt.name <> "aaa" Then
        dts.Add(dt.name)
    End If
Next
For Each dt As String In dts
    Dim q As new QueryBuilder
    q.TableName = "aaa"
    q.ConnectionName = "MicvyPM"
    q.SelectString = "select * f rom {" & dt & "}"
    q.Build
    Dim ex As new Exporter
    ex.SourceTableName = "aaa"
    ex.FilePath = "D:\CS\SQL\a.accdb"
    ex.Format = "Access2007"
    ex.PassWord = "123"
    ex.NewTableName = dt
    ex.Export
Next

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


加好友 发短信
等级:九尾狐 帖子:2199 积分:18075 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2015/7/9 11:01:00 [只看该作者]

感谢袍兄。测试通过。

但我不明白,为什么最新的这段,就不会造成aaa的重复呢?
是不是QueryBuilder执行完成之后,会自动删除build的aaa表?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/9 11:04:00 [只看该作者]

 增加aaa表以后,会导致DataTables发生变化,就不能遍历了。

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


加好友 发短信
等级:九尾狐 帖子:2199 积分:18075 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2015/7/9 11:09:00 [只看该作者]

我的疑问是:假如dts有5个表
现在dts(0)的时候,QueryBuilder了一个表,它的名字叫"aaa",然后执行了导出操作
然后接下来遍历第二个表,即dts(1),接下来的代码还是要QueryBuilder一个表啊,它的名字还是叫“aaa“

而事实上,dts(0)的时候,表aaa已经建好了,这时候不会重复的吗?
[此贴子已经被作者于2015/7/9 11:09:12编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/9 11:10:00 [只看该作者]

 build之前,先把原先的表删除了。

 回到顶部
总数 23 上一页 1 2 3 下一页