Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Access表插入无法通过VB工作_Sql_Vb.net_Ms Access_Vba_Oledb - Fatal编程技术网

Sql Access表插入无法通过VB工作

Sql Access表插入无法通过VB工作,sql,vb.net,ms-access,vba,oledb,Sql,Vb.net,Ms Access,Vba,Oledb,我正在用VB编写一个程序,并尝试插入到我以前做过的DB中,但它不起作用。假设所有参数值都是正确的,那么什么会导致不会引发异常或错误,但不会插入包含以下代码的行 Dim sqlString As String = "INSERT INTO ArDetail (ArType, ArTenantNbr, ArInvNbr, ArSeqNbr, ArTransactAmt, ArAmtDue, ArChkNbr) VALUES (?, ?, ?, ?, ?, ?, ?);" Dim sqlArgs As

我正在用VB编写一个程序,并尝试插入到我以前做过的DB中,但它不起作用。假设所有参数值都是正确的,那么什么会导致不会引发异常或错误,但不会插入包含以下代码的行

Dim sqlString As String = "INSERT INTO ArDetail (ArType, ArTenantNbr, ArInvNbr, ArSeqNbr, ArTransactAmt, ArAmtDue, ArChkNbr) VALUES (?, ?, ?, ?, ?, ?, ?);"
Dim sqlArgs As String(,) = {{"@ArType", "RI"},
                    {"@ArTenantNbr", lblTenantNumber.Text},
                    {"@ArInvNbr", row.Cells("Inv Nbr").Value.ToString},
                    {"@ArSeqNbr", nextSeqNbr.ToString},
                    {"@ArTransactAmt", row.Cells("Paid Amt").Value.ToString},
                    {"@ArAmtDue", "0"},
                    {"@ArChkNbr", txtCheckNumber.Text}}
我附加了这个,以便您可以在sqlArgs中查看信息。

编辑:有人要求我包括ChangeTableObj代码


实际执行插入的代码在哪里?@MattGibson我现在就附上它。我必须问一下。。。。您的连接字符串正确吗?您正在查看正确数据库中的预期表吗?也许这些行正在被插入到数据库的另一个副本中?是的,它可以工作。我已经能够用它来选择数据了。我不知道它有什么问题。如果检查cmdObj.ExecuteNonQuery的返回值,它是0?
Public Shared Sub ChangeTableObj(ByVal sqlString As String,
                                 Optional ByVal sqlArgs As String(,) = Nothing)

Dim i As Integer

'Instantiate Access database Connection using Connect string in app.config
Dim dbConnObj As OleDb.OleDbConnection = New OleDb.OleDbConnection()
dbConnObj.ConnectionString = My.Settings.TenManDBConnectionString

'Instantiate an OleDb Command Object using the Connection object
Dim cmdObj As New OleDb.OleDbCommand(sqlString, dbConnObj)
cmdObj.CommandType = CommandType.Text

'Add requested parameters to the sql command if given
If Not sqlArgs Is Nothing Then
    For i = 0 To sqlArgs.GetUpperBound(0)
        cmdObj.Parameters.AddWithValue(sqlArgs(i, 0), sqlArgs(i, 1))
    Next i
End If

'Open connection, update database, and close

cmdObj.Connection.Open()
cmdObj.ExecuteNonQuery()
cmdObj.Connection.Close()

End Sub