问题描述:通过C#连接上一个oracle数据库,插入行是没有问题的。但我用最简单的update语句去更新它,结果发现对于一些表,例如table1,执行ExecuteNonQuery()之后返回被更新的行数,修改成功;而对另外的某个表,例如table2,执行ExecuteNonQuery()后总是返回0,不能对它进行更新。请问各位,这是什么情况?谢谢
补充:table2为多列组成的主键,update语句在PL/SQL Developer试过了,都可以执行。

解决方案 »

  1.   

    代码很简单,已连上数据库。
    string upd = @"update table2 set cloumn3='value3' where cloumn1='value1' and clomun2='value2'";
    OleDbCommand cmd = new OleDbCommand(upd, myConnection);
    int i = cmd.ExecuteNonQuery();
    然后我发现i总是0。
    说明:cloumn1和clomun2两列合起来是主键。但是我换成其他表(我用了一个没有主键的表试的),发现这样的语句执行是没有问题的。
      

  2.   

    如果一样的语句 在PL/SQL Developer可以执行,在程序中执行不了
    可能:
    1变量没传进去
    2语句中是否需要单引号只是建议 我好几年没来论坛了