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