【问题标题】:Type Mismatch when combining two csv files in VB在VB中组合两个csv文件时类型不匹配
【发布时间】:2013-10-31 18:21:33
【问题描述】:

我的代码运行良好,但是当我生成 CSV 文件的新更新版本时,它突然出现错误并给我一个类型不匹配的捕获。

这是我现在拥有的代码。

 Dim A As String = "ADusers.csv"
    Dim B As String = "MlnExp.csv"
    Dim filePath As String = "C:\CSV"

    Try
        Dim ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & (filePath) & "\;Extended Properties='text;HDR=Yes'"

        Dim sSql As String = "SELECT *" _
        & "FROM ([" & (B) & "] B LEFT JOIN [" & (A) & "] A ON B.EmployeeNumber = A.employeeID)"

        Dim conn As OleDb.OleDbConnection = New OleDb.OleDbConnection(ConnectionString)
        Dim Command As OleDb.OleDbCommand = New OleDb.OleDbCommand(sSql, conn)
        Command.CommandType = CommandType.Text
        conn.Open()

        Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sSql, conn)
        Dim dt As DataTable = New DataTable
        da.Fill(dt)

        DataGrid1.DataSource = dt
        DataGrid1.Update()

        conn.Close()
        lblStatus.Text = "CSV combined... Now saving to file."


    Catch ex As Exception
        MsgBox(ex.Message, MsgBoxStyle.Exclamation)


    End Try

在它通过之前,合并两个 CSV 文件,然后将它们显示在我的数据网格中。但是现在我的捕获物被扔了回来

表达式类型不匹配

【问题讨论】:

  • 你试过调试它吗?
  • 是的。我得到的错误An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll Additional information: Type mismatch in expression.

标签: sql vba csv datasource


【解决方案1】:

我会检查 B.EmployeeNumber = A.employeeID 在您的两个文件中,一个是文本值(左对齐),另一个是整数(右对齐)

【讨论】:

  • 好吧,它们看起来都在 CSV 文件中正确对齐,但是当我实际单击对齐按钮时,它神奇地决定工作......我有两个 csv 文件都是由 PowerShell 编写的,所以它们应该等于。知道我怎样才能强迫他们保持这种状态吗?
  • 在VB中呢?我可以强迫他们成为整数吗?
  • 在你的 sql 语句中可能会起作用......SELECT *" _& "FROM ([" & (B) & "] B LEFT JOIN [" & (A) & "] A ONCAST(B.EmployeeNumber AS INT) = CAST(A.employeeID AS INT)
  • 现在我收到一条错误消息IErrorInfo.GetDescription failed with E_FAIL(0x80004005)
  • 我想通了。当我从 PowerShell 导出 MlnExport 文件时,我有一个 -NoTypeInformation 在那里我猜想删除了整数属性。现在唯一的问题是它在顶部放了一行 #TYPE System.Data.DataRow 我想我只需要弄清楚如何在不搞砸数据类型的情况下摆脱它
猜你喜欢
  • 1970-01-01
  • 2016-10-19
  • 2015-12-22
  • 1970-01-01
  • 2020-08-09
  • 2010-10-07
  • 1970-01-01
  • 2018-04-07
  • 1970-01-01
相关资源
最近更新 更多