插入错误预言机



我一直在尝试使用此脚本插入到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 中执行此操作时,它会在执行非查询中引发错误 ORA-01036

有人可以告诉我发生了什么吗?

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

尝试更改cmd.Parameters.Add(":KODE", "AN001")自cmd.Parameters.Add("KODE", "AN001")

如果你使用的是Microsoft的OracleClient,你不需要在Parameters.Add中使用冒号:

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

从文档中:

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

更新:

cmd.Parameters.AddWithValue("KODE", "AN001")

最新更新