ORA-01008:未绑定所有变量-VB.NET web应用程序
我正在编写一个VB.NET函数来更新一个包含四列的表,如下所示。它每次都失败,例外情况是ORA-01008:并非所有变量都绑定了 有人能帮忙吗ORA-01008:未绑定所有变量-VB.NET web应用程序,vb.net,oracle,Vb.net,Oracle,我正在编写一个VB.NET函数来更新一个包含四列的表,如下所示。它每次都失败,例外情况是ORA-01008:并非所有变量都绑定了 有人能帮忙吗 Public Sub UpdateLog(ByVal intUserID As Integer, ByVal strDesc As String, ByVal intLogID As Integer) Dim oraConn As OracleConnection Dim cmd As OracleCommand Try
Public Sub UpdateLog(ByVal intUserID As Integer, ByVal strDesc As String, ByVal intLogID As Integer)
Dim oraConn As OracleConnection
Dim cmd As OracleCommand
Try
cmd = New OracleCommand
cmd.Parameters.Clear()
cmd.CommandText = "Insert Into Tbl_Trans_Log(UserID,TransID,TransDate,ActionDone) values (:userId,:logId,:transdate,:action)"
cmd.CommandType = CommandType.Text
cmd.BindByName = True
cmd.Parameters.Add("userId", OracleDbType.Int64).Value = intUserID
cmd.Parameters.Add("logId", OracleDbType.Int64).Value = intLogID
cmd.Parameters.Add("transdate", OracleDbType.Date).Value = DateTime.Now
cmd.Parameters.Add("action", OracleDbType.Varchar2).Value = strDesc
oraConn = New OracleConnection(ConfigurationManager.ConnectionStrings("connString").ConnectionString)
oraConn.Open()
cmd.Connection = oraConn
cmd.ExecuteNonQuery()
Catch ex As Exception
sWriteErrorLog("C:\", "log - sUpdateTransLog -> " & ex.Message)
Finally
oraConn.close()
End Try
End Sub
下面的代码适用于我 cmd=新的OracleCommand
cmd.Parameters.Clear()
cmd.CommandText = "Insert Into Tbl_Trans_Log(UserID,TransID,TransDate,ActionDone) values (:userId,:logId,:transdate,:action)"
cmd.CommandType = CommandType.Text
cmd.BindByName = True
cmd.Parameters.Add(New OracleParameter(":userId", OracleDbType.Int64)).Value = intUserID
cmd.Parameters.Add(New OracleParameter(":logId", OracleDbType.Int64)).Value = intLogID
cmd.Parameters.Add(New OracleParameter(":transdate", OracleDbType.Date)).Value = DateTime.Now
cmd.Parameters.Add(New OracleParameter(":action", OracleDbType.Varchar2)).Value = strDesc
oraConn = New OracleConnection(ConfigurationManager.ConnectionStrings("xxxxxxxxx").ConnectionString)
oraConn.Open()
cmd.Connection = oraConn
cmd.ExecuteNonQuery()
行似乎应该以分号结尾,例外部分的
“&ex.Message
”应该引用为“&ex.Message”
,谢谢你的回复。我应该这样说吗?用分号cmd.CommandText=“Insert-Into-Tbl_Trans_Log(UserID,TransID,TransDate,ActionDone)值(:userId,:logId,:transdate,:action);“如果您使用的是BindByName,我想您可能需要确保您的oracle变量名称匹配,您是否尝试添加了:
?据我所知,您不需要在引号内使用分号,但正如我所知,应该在…value(:userId,:logId,:transdate,:action)等引号后存在。”
Hi soohiinigan,是的,我已经尝试将:添加到参数中。结果仍然是一样的