Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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 插入错误Oracle_Sql_Vb.net_Oracle - Fatal编程技术网

Sql 插入错误Oracle

Sql 插入错误Oracle,sql,vb.net,oracle,Sql,Vb.net,Oracle,我一直在尝试使用以下脚本插入到Oracle表: Try conn.Close() conn.Open() cmd.CommandText = "INSERT INTO PERSONAL(KODEPERSON) VALUES(:KODE)" cmd.Parameters.Add(":KODE", "AN001") cmd.Connection = conn

我一直在尝试使用以下脚本插入到Oracle表:

        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中执行此命令时,它在ExecuteOnQuery中引发了错误ORA-01036

有人能告诉我发生了什么事吗

谢谢大家,我已经挣扎了大约1个小时,现在我得到了解决方案,请注意,如果我们在任何语句中使用Oracle命令时将其声明为公共命令,请注意,我们必须处理它,以便它不再保留在前一个语句缓存中。上帝保佑每个人

尝试改变 cmd.Parameters.Add(“:KODE”,“AN001”) 到 cmd.Parameters.Add(“KODE”、“AN001”)

尝试更改 cmd.Parameters.Add(“:KODE”,“AN001”) 到
cmd.Parameters.Add(“KODE”,“AN001”)

如果您使用的是Microsoft的
OracleClient
,则不需要在
参数中使用冒号。Add

cmd.Parameters.Add("KODE", "AN001")
从:

对于
Oracle
,在
SQL
语句或存储过程中使用命名参数时,必须在参数名称前面加冒号(
)。但是,在代码的其他地方引用命名参数时(例如,在调用
Add
时),命名参数前面不要加冒号(
)。用于Oracle的
.NET Framework数据提供程序
自动提供冒号

更新:

使用


如果您使用的是Microsoft的
OracleClient
,则不需要在
参数中使用冒号。添加

cmd.Parameters.Add("KODE", "AN001")
从:

对于
Oracle
,在
SQL
语句或存储过程中使用命名参数时,必须在参数名称前面加冒号(
)。但是,在代码的其他地方引用命名参数时(例如,在调用
Add
时),命名参数前面不要加冒号(
)。用于Oracle的
.NET Framework数据提供程序
自动提供冒号

更新:

使用


您使用的是哪种提供商?Oracle、Visual Basic、Oracle数据访问您的意思是
ODP.NET
?您使用哪个类来创建
conn
cmd
?我是说您是对的,我使用的是ODP.NET,您使用的是哪个提供程序?Oracle、Visual Basic、Oracle数据访问您是指
ODP.NET
?您使用哪个类来创建
conn
cmd
?我的意思是您是对的,我正在使用ODP.NETI。我仍然有同样的问题,我不知道为什么会发生这种情况。这是一个非法号码,你试过代码了吗?我想解决办法还可以,但我必须承认我弄错了,我很快会发布进展情况。我仍然有同样的问题,我不知道为什么会发生这种情况。这是一个非法号码,你试过代码了吗?我想解决办法还可以,但我必须承认我弄错了,我会尽快发布进展