环境:win2000,vs2005,oracle9i
以前  vs2003没有此现象
private void test()
{
 string strsql =" update tabletest set n_value=111 where id=1 ";
 string constr = "Data Source=sk;User ID=sys;Password=123456;Unicode=True";
 OracleConnection con = new OracleConnection(constr);
 con.Open();
 OracleCommand oc = new OracleCommand();
 oc.Connection = con;
 oc.CommandType = CommandType.Text; 
 oc.CommandText = strsql;
  try
  {
     oc.ExecuteNonQuery();//运行到这里就一动都不动了,异常也捕捉不到,若是将sql语句改成
  }                       //select一点问题都没有,若是改成delete同样一动都不动,若是update
                          //的语句写错了,可以捕捉到异常。vs2003没有这个问题。各位大虾们有
                          //没有遇到过这种问题,怎么解决?帮帮小妹,谢谢先~~~
  catch (OracleException e)
  {
      MessageBox.Show(e.Message);
   }            
}

解决方案 »

  1.   

    补充一下:将sql语句改成insert没有问题~~
      

  2.   

    估计你的表tabletest 被锁定了看有没有人操作了这个表以后没有commit或者rollback另外当前用户有没有权限如果被锁定,DBA可以kill杯锁定的session
      

  3.   

    to:mosquitoxh(南非蚊子)
    表应该没有锁定
    因为insert语句没有问题
    还有怎么给你分呀~~
      

  4.   

    不好意思
    在补充一下:
    同样的语句在PLSQL Developer中操作没有问题