在使用OracleDataAdapter.Fill(Dataset)方法时报错:指定的参数已超出有效值的范围!

mxldream 2006-09-05 11:52:56
完整的异常信息如下:

Wrong SQL Statement:
指定的参数已超出有效值的范围。
参数名:十进制数的小数位数值必须介于0和28之间(包括0和28)

在PL/SQL Developer中运行同样的SQL语句没有任何问题。
...全文
489 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lldwolf 2006-09-05
  • 打赏
  • 举报
回复
其实这是ORACLE和.net间的一个兼容性的问题,若oracle的字段类型为float,可以取值范围超过28位小数,而.net的DataTable对小数只能保留到28位(简直是个白痴),所以,你对float字段用round(字段名,28)处理一下,即可排除掉该错误
Knight94 2006-09-05
  • 打赏
  • 举报
回复
如下进行检查
1、connection是否open;
2、dataset是否初始化。
mxldream 2006-09-05
  • 打赏
  • 举报
回复
没有任何参数,大体代码如下:

sql = "select * from table";
OracleDataAdapter adapter = new OracleDataAdapter(sql);
adapter.fill(dataset); //此行出错
Kshatriya 2006-09-05
  • 打赏
  • 举报
回复
是参数数据类型的问题吧,不同的类型对精度的限制不同

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧