【问题标题】:Update database using ODBC使用 ODBC 更新数据库
【发布时间】:2011-11-17 17:07:21
【问题描述】:

这是我使用 ODBC 更新数据库的子程序:

Public Sub UpdateDatabase(ByVal sql As String, ByVal parameters() As OdbcParameter)
    Dim connectionString As String = "dsn=" & ODBC & ";uid=" & UID & ";pwd="

    Try
        Using conn As OdbcConnection = New OdbcConnection(connectionString)
            Dim adapter As New OdbcDataAdapter(sql, conn)

            For Each parameter As OdbcParameter In parameters
                adapter.InsertCommand.Parameters.Add(parameter)
            Next

            conn.Open()

            adapter.InsertCommand.ExecuteNonQuery()
        End Using
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub

这是一个使用空参数调用它的示例:

            Dim query As String = "INSERT INTO F_ARTICLE (AR_Ref) VALUES ('test')"
            Dim parameters As OdbcParameter() =
            {
            }
            UpdateDatabase(query, parameters)

但显示以下异常:

NullReferenceException: Object reference not set to an instance of an object

这似乎是由此触发的:

adapter.InsertCommand.ExecuteNonQuery()

知道我在这里做错了什么吗?

【问题讨论】:

    标签: vb.net insert odbc dataadapter


    【解决方案1】:

    我仍然不知道为什么以前的 sub 不起作用,但这就是我解决它的方法:

    Public Sub UpdateDatabase(ByVal query As String, ByVal parameters() As OdbcParameter)
        Dim connectionString As String = "dsn=" & ODBC & ";uid=" & UID & ";pwd="
    
        Try
            Using conn As OdbcConnection = New OdbcConnection(connectionString)
                Using command As New OdbcCommand(query, conn)
    
                    For Each parameter As OdbcParameter In parameters
                        command.Parameters.Add(parameter)
                    Next
    
                    conn.Open()
    
                    command.ExecuteNonQuery()
                End Using
            End Using
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-08
      • 1970-01-01
      • 2013-07-10
      • 2014-12-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多