完整的异常信息如下:Wrong SQL Statement:
指定的参数已超出有效值的范围。
参数名:十进制数的小数位数值必须介于0和28之间(包括0和28)在PL/SQL Developer中运行同样的SQL语句没有任何问题。

解决方案 »

  1.   

    没有任何参数,大体代码如下:sql = "select * from table";
    OracleDataAdapter adapter = new OracleDataAdapter(sql);
    adapter.fill(dataset);       //此行出错
      

  2.   

    如下进行检查
    1、connection是否open;
    2、dataset是否初始化。
      

  3.   

    其实这是ORACLE和.net间的一个兼容性的问题,若oracle的字段类型为float,可以取值范围超过28位小数,而.net的DataTable对小数只能保留到28位(简直是个白痴),所以,你对float字段用round(字段名,28)处理一下,即可排除掉该错误