Foxtable(狐表)用户栏目专家坐堂 → 用数据库组件方法导入数据时的问题


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

主题:用数据库组件方法导入数据时的问题

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


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
用数据库组件方法导入数据时的问题  发帖心情 Post By:2023/5/6 20:28:00 [只看该作者]

Dim st1 As Date = Date.Now()

DataTables(maintable.Name).RemoveFor("")

Dim dlg As New OpenFileDialog 
dlg.Filter = "Excel文件|*.xls;*.xlsx" 
If dlg.ShowDialog = DialogResult.Ok Then 
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.Format = "excel"
    mg.SourceTableName = MainTable.name & "$"
    mg.DataTableName = maintable.Name
    mg.Merge()
    
    If MainTable.Rows.Count > 0 Then
        Dim Result As DialogResult
        Result = MessageBox.Show("确定导入数据?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            
            Dim db = HySql.DataBaseFactory.CreateDatabase()
            db.BulkInsert(DataTables(maintable.name).BaseTable, maintable.name)
            
            Dim dt As Date = Date.Now
            Dim sp As New TimeSpan(0, 0, 30)
            Dim dt2 As Date = dt - sp
            DataTables(maintable.Name).RemoveFor("")
            DataTables(maintable.Name).LoadFilter = "[操作员] = '" & user.Name & "' and [操作日期] Between '" & dt2 & "' And '" & dt & "'" 
            DataTables(maintable.Name).Load() 
        Else
            DataTables(maintable.Name).RemoveFor("")
        End If
    End If
End If
MessageBox.Show("耗时: " & (Date.Now - st1).TotalSeconds & "秒")


用以上代码合并数据,出现如下错误提示:

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,客户查询,导入,Click
详细错误信息:
从索引 0 处开始,初始化字符串的格式不符合规范。

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


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
  发帖心情 Post By:2023/5/6 20:47:00 [只看该作者]

和表中添加的两个临时列有关吗?我合并前把这两列删除,再进行合并处理,但还是这个提示
[此贴子已经被作者于2023/5/6 21:04:51编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/7 20:44:00 [只看该作者]

调试看是哪一句代码执行后出错

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


加好友 发短信
等级:一尾狐 帖子:430 积分:4655 威望:0 精华:0 注册:2015/3/21 14:25:00
  发帖心情 Post By:2023/5/8 8:48:00 [只看该作者]

    Dim db = HySql.DataBaseFactory.CreateDatabase()
    db.BulkInsert(DataTables(maintable.name).BaseTable, maintable.name)
这句

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


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

绑定窗口后Foxtable会自动增加一些临时列,都要去掉

    Dim dtCopy As System.Data.DataTable = DataTables(maintable.name).BaseTable.Copy
    dtCopy.Columns.Remove("_Locked")
    dtCopy.Columns.Remove("System_Sort_Temporary")
    dtCopy.Columns.Remove("System_Filter_Temporary")
    dtCopy.Columns.Remove("System_Filter_Unique")
db.BulkInsert(dtCopy, maintable.name)

 回到顶部