表结构CREATE TABLE "HY-WYH"."TEST_TABLE"
( "ID" NUMBER(*,0),
"NAME" VARCHAR2(4000 CHAR)
)修改代码OracleConnection conn = new OracleConnection(GetConnectString());
OracleCommand cmd = conn.CreateCommand();
conn.Open();
cmd.CommandType=System.Data.CommandType.Text;
cmd.Parameters.Add(new OracleParameter("ID",OracleDbType.Int64)); // ID应该选什么类型
cmd.Parameters.Add(new OracleParameter("NAME", OracleDbType.Varchar2));
cmd.Parameters["ID"].Value=ID;
cmd.Parameters["NAME"].Value=Name;
cmd.CommandText="UPDATE TEST_TABLE SET \"NAME\"=:NAME WHERE \"ID\" = :ID";
//执行时引发如下异常
//Oracle.DataAccess.Client.OracleException ORA-01722: invalid number
int res = cmd.ExecuteNonQuery();oraclec#数据类型Number
( "ID" NUMBER(*,0),
"NAME" VARCHAR2(4000 CHAR)
)修改代码OracleConnection conn = new OracleConnection(GetConnectString());
OracleCommand cmd = conn.CreateCommand();
conn.Open();
cmd.CommandType=System.Data.CommandType.Text;
cmd.Parameters.Add(new OracleParameter("ID",OracleDbType.Int64)); // ID应该选什么类型
cmd.Parameters.Add(new OracleParameter("NAME", OracleDbType.Varchar2));
cmd.Parameters["ID"].Value=ID;
cmd.Parameters["NAME"].Value=Name;
cmd.CommandText="UPDATE TEST_TABLE SET \"NAME\"=:NAME WHERE \"ID\" = :ID";
//执行时引发如下异常
//Oracle.DataAccess.Client.OracleException ORA-01722: invalid number
int res = cmd.ExecuteNonQuery();oraclec#数据类型Number
cmd.Parameters["ID"].Value=ID; //在此处ID=1;我现在就是不明白ORACLE中Number到底对应OracleDbType中的什么类型
Oracle.DataAccess.Client.OracleCommand cmd = new Oracle.DataAccess.Client.OracleCommand(sql, con);
cmd.Parameters.Add("stuName", OracleDbType.Varchar2, 10).Value = txtStuName.Text.Trim();
cmd.Parameters.Add("stuNum", OracleDbType.Decimal, 8).Value =txtStuNum.Text.Trim(); //要注意按SQL参数顺序赋值,否则报错:ORA-01722: invalid number