我一直在尝试使用此脚本插入Oracle Table:
Try
conn.Close()
conn.Open()
cmd.CommandText = "INSERT INTO PERSONAL(KODEPERSON) VALUES(:KODE)"
cmd.Parameters.Add(":KODE", "AN001")
cmd.Connection = conn
cmd.ExecuteNonQuery()
MessageBox.Show("SUCESS")
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
但是当我在VB.NET中执行此操作时,它会在EXECUTENONQUERY中引发错误ORA-01036
有人可以告诉我发生了什么事吗?
谢谢大家,我已经苦苦挣扎了大约1个小时,现在我得到了解决方案,请注意,如果我们在任何声明中使用它时我们宣布Oracle Command为公开请注意我们必须处理它,使它不再离开前一个语句缓存。上帝保佑每个人
答案 0 :(得分:0)
尝试改变 cmd.Parameters.Add(":KODE"," AN001") 至 cmd.Parameters.Add(" KODE"," AN001")
答案 1 :(得分:0)
如果您使用的是Microsoft OracleClient
,则无需在Parameters.Add
中使用冒号:
cmd.Parameters.Add("KODE", "AN001")
来自docs:
对于
Oracle
,在SQL
语句或存储过程中使用命名参数时,必须在参数名称前面加冒号(:
)。但是,在代码中的其他位置引用命名参数时(例如,在调用Add
时),请不要在命名参数前面加冒号(:
)。.NET Framework Data Provider for Oracle
会自动提供冒号。
<强>更新强>
使用
cmd.Parameters.AddWithValue("KODE", "AN001")