在程序里你往数据库里写存储过程,try和catch,如果有错会报错的啊,然后在OracleCommand.ExecuteNonQuery();
上添加try和 catch,不执行的话,会报不能执行

解决方案 »

  1.   

    在SQL plus里面先执行试试呗
      

  2.   

    用try catch可以进行判断.
    这些工作都交给ado.net底层来进行就行了.你分为几级最终只需要一个结果,对或错.
    所以没有必要这么麻烦.
      

  3.   

    我知道可以try catch,但是那样程序就中止了.举个例子,我想先对某一列建索引再执行,可是如果该列已经建过索引就会报错从而不执行下面的程序了.
      

  4.   

    先把要执行的sql 语句在数据库 里面执行一次好了。
      

  5.   

    faint,那要程序干什么?
    我就是让用户输入SQL语句啊
      

  6.   

    catch里在让程序回到前一个页面
    并且提示SQL出错啊!
      

  7.   

    1,你最好用try ...catch从catch 中获取错误类型,2,如果一定要复杂化,可以用事务,(好像有点BT)
    OracleTransaction trans = Connection.BeginTransaction();
    bool OK = true;
    try
    {
    // do you work
    }catch(Exception ex)
    {
    Console.WriteLine(ex.Message);
    OK = false;
    }trans.Rollback();if(OK)
    // do you work3,或者放在Oracle中去处理
    用动态SQL ,获取 SQLCODE ,
      

  8.   

    最简单的方法:程序运行时,在生成sql语句的地方设置一个断点,然后得到此语句的值,把这个值靠下来,放到数据库中让他执行,错误会比较详细一点。
      

  9.   

    利用数据库工具吧!把sql复制出来!
      

  10.   

    我知道可以try catch,但是那样程序就中止了.举个例子,我想先对某一列建索引再执行,可是如果该列已经建过索引就会报错从而不执行下面的程序了./////////////////////////最后用finally
    {

    ............
    }
      

  11.   

    用try Catch怎么会中止程序呢?你想获得错误信息可以写到文件中阿,