我在Oracle 11g中创建了表,
CREATE TABLE "TABLE1"
(
"COLUMN1" VARCHAR2(20 BYTE),
"COLUMN2" VARCHAR2(20 BYTE)
)
与System.Data.OleDb
联系,connectionStrings
为:
<connectionStrings>
<add name="DBConnStr" connectionString="Provider=msdaora;Data Source=test;User Id=test;Password=test;" />
</connectionStrings>
并尝试将数据插入表TABLE1
:
private void testInsert()
{
string sql = "";
int recordsAffected = 0;
using (OleDbConnection openCon = new OleDbConnection(constr))
{
sql = @"insert into table1 (column1, column2) values (:aaa, :bbb)";
using (OleDbCommand command = new OleDbCommand(sql))
{
command.Connection = openCon;
command.Parameters.AddWithValue(":aaa", "test");
command.Parameters.AddWithValue(":bbb", "0123456");
openCon.Open();
recordsAffected = command.ExecuteNonQuery(); // <-- error here
openCon.Close();
}
}
}
但ORA-01008
行出现command.ExecuteNonQuery ()
错误。为什么Oracle声称不是所有变量都绑定了?
如果我用:
替换冒号(@
)前缀,则会出现ORA-00936
错误。如果我删除所有前缀,我得到ORA-00984
错误。将数据插入Oracle表的正确方法是什么?
提前致谢。
答案 0 :(得分:0)