请教:奇怪的OCI-22053问题 asp.net使用oraclehelper访问oracle的程序包中的存储过程,在存储过程中的SQL中已经都加上round(x,2),在pl/sql develop中测试返回的结果集都是2位小数,但是使用oracledatareader返回数据时总是报OCI-22053溢出错误?随便插了两个变量赋值发现返回的都是有很多位小数的数据,请问是什么原因? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SQL语句部分:select round(i.ivc_net_price,2) ivc_net_price, round(i.ivc_net_price_with_tax,2) ivc_net_price_with_tax, round(sum(i.curr_net_amt),2) curr_net_amt, round(sum(i.curr_tax_amt),2) curr_tax_amt, round(sum(i.curr_gross_amt),2) curr_gross_amtfrom CUSTOMER_ORDER_INV_ITEM igroup by round(i.ivc_net_price,2),round(i.ivc_net_price_with_tax,2)ASP.NET程序部分:using (OracleDataReader rdr = OracleHelper.ExecuteReader(OracleHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, SP_SALES_INFO_BY_SALES_GROUP, parms)) { while (rdr.Read()) { SalesAmountInfo salesinfo = new SalesAmountInfo(); salesinfo.Contract = contract; salesinfo.StartDate = startDate; salesinfo.EndDate = endDate; salesinfo.IvcNetPrice = System.Convert.ToDecimal(rdr[0]); //decimal y = System.Convert.ToDecimal(rdr[0]); salesinfo.IvcNetPriceWithTax = System.Convert.ToDecimal(rdr[71]); salesinfo.CurrNetAmt = System.Convert.ToDecimal(rdr[2]); salesinfo.CurrTaxAmt = System.Convert.ToDecimal(rdr[3]); salesinfo.CurrGrossAmt = System.Convert.ToDecimal(rdr[4]); salesInfoBySalesGroup.Add(salesinfo); } }那个y总是很长小数位 的数值,请问是为什么? 上一楼的rdr[71]是rdr[1]~为什么没权限修改? 你oracle中字段的数据类型是什么? 去数据库社区问问!!我没用过Oracle!! 用过to_char()了,还是溢出,还就是那一个字段,想不明白 请教用户登录时的数据库操作,怎样写SQLScript比较好? 请问如何把新做的.cs文件封装入现有的.dll文件中? html动态加载xml的问题 高手帮忙解决向SQL SERVER2000 提交DateTime类型数据的问题.. JavaScript和正则表达式 在线等。。。。 ■■高分求好空间■■ 为什么有时我把网页另存为时下载下来的页面是空的网页或是其它的呢?? 新闻小偷 寻找ASP.net高手? 求助:水晶报表的问题!高手请进!!! Browser has been restricted 这个sql该怎么写
select round(i.ivc_net_price,2) ivc_net_price,
round(i.ivc_net_price_with_tax,2) ivc_net_price_with_tax,
round(sum(i.curr_net_amt),2) curr_net_amt,
round(sum(i.curr_tax_amt),2) curr_tax_amt,
round(sum(i.curr_gross_amt),2) curr_gross_amt
from CUSTOMER_ORDER_INV_ITEM i
group by round(i.ivc_net_price,2),round(i.ivc_net_price_with_tax,2)ASP.NET程序部分:
using (OracleDataReader rdr = OracleHelper.ExecuteReader(OracleHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, SP_SALES_INFO_BY_SALES_GROUP, parms))
{
while (rdr.Read())
{
SalesAmountInfo salesinfo = new SalesAmountInfo();
salesinfo.Contract = contract;
salesinfo.StartDate = startDate;
salesinfo.EndDate = endDate;
salesinfo.IvcNetPrice = System.Convert.ToDecimal(rdr[0]);
//decimal y = System.Convert.ToDecimal(rdr[0]);
salesinfo.IvcNetPriceWithTax = System.Convert.ToDecimal(rdr[71]);
salesinfo.CurrNetAmt = System.Convert.ToDecimal(rdr[2]);
salesinfo.CurrTaxAmt = System.Convert.ToDecimal(rdr[3]);
salesinfo.CurrGrossAmt = System.Convert.ToDecimal(rdr[4]);
salesInfoBySalesGroup.Add(salesinfo);
}
}
那个y总是很长小数位 的数值,请问是为什么?
我没用过Oracle!!