关于float.Parse(dr["allsizes"].ToString()),提示未处理的异常..

blueicexx 2008-01-25 01:41:18
今天碰到一个很奇怪的问题,检查了三次都没发现错误,发来让大家看看,是否有遇到同种情况的

实体中有这么一个构造函数
public Accounts(Int64 id, Int64 userid, float balance, float picsize, DateTime startdate, DateTime enddate, float allsize)
{
//
}

数据处理给值方式:
Accounts account = new Accounts(id, long.Parse(dr["UserId"].ToString()), float.Parse(dr["Balance"].ToString()), float.Parse(dr["PicSize"].ToString()), DateTime.Parse(dr["StartDate"].ToString()), DateTime.Parse(dr["EndDate"].ToString()), float.Parse(dr["allsizes"].ToString()), dr["Url"].ToString(), Int32.Parse(dr["SiteNum"].ToString()));


//下面问题来了
在页面调用方法给值的时候提示上面那句出现未处理的异常,说细见下:

allsizes 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.IndexOutOfRangeException: allsizes


可是我就很奇怪,库里的此记录中PicSize与allsizes的值均为100(我给的100.00,不知道为什么没小数点),在执行给值时float.Parse(dr["PicSize"].ToString()正常运行,却提示float.Parse(dr["AllSizes"].ToString()错误...它们都是同类型(float),值也一样,为什么前者正常,却提示后者出现异常????
...全文
130 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
blueicexx 2008-01-25
  • 打赏
  • 举报
回复
解决了,....手误...很郁闷...

谢谢楼上二位
blueicexx 2008-01-25
  • 打赏
  • 举报
回复
一般来说库里的float型在页面会转成Decimal,不过我现在是直接在页面用的float,所以没法,只能转成float,但奇怪的是前面有一个一模一样的类型,连值也一样,却不出错,后面一个就出错.
zhuanshen712 2008-01-25
  • 打赏
  • 举报
回复
同楼上:
Convert.ToDecimal();
=========
.Parse(str)和Convert.(str)之间,两者作用是一样的,都是转换为整数类型的方法,区别是前者是弱转换((int)str也属弱转换),后者是强转换.

int.parse()只能转换string,只是将数字的字符串表示形式转换为它的等效 32 位有符号整数
Convert.ToInt32参数为object,转换不当时会引发异常
小小暴徒 2008-01-25
  • 打赏
  • 举报
回复
Convert.ToDecimal试一下
和3D技术实现怪兽的详细情况 public class ChuqinDAO { DataBase db = new DataBase(); public bool AddChuqin(Chuqin chuqin) { string sqlStr = "insert into chuqin values('"; sqlStr += chuqin.ChuqinId + "','"; sqlStr += chuqin.EmployeeId + "','"; sqlStr += chuqin.Year + "','"; sqlStr += chuqin.Month + "','"; sqlStr += chuqin.OverHour + "','"; sqlStr += chuqin.ChiDao + "','"; sqlStr += chuqin.ZaoTui + "','"; sqlStr += chuqin.KuangGong + "')"; return db.InsertOrUpdate(sqlStr) > 0; } //删除编号为employeeid的员工 public bool delete(int chuqinId) { //String delChuqin = "delete from [chuqin] where employeeId='" + employeeId + "'"; //String delLeave = "delete from [leave] where employeeId='" + employeeId + "'"; //String delSalary = "delete from [salary] where employeeId='" + employeeId + "'"; //String delSell = "delete from [sell] where employeeId='" + employeeId + "'"; //String delEmployee = "delete from [employee] where employeeId = '" + employeeId + "'"; //String[] sqlStrings = new String[] { delChuqin, delLeave, delSalary, delSell, delEmployee }; DataBase db = new DataBase(); String sql = String.Format("delete from Chuqin where chuqinId={0}", chuqinId); return db.executeNoQuery(sql, CommandType.Text, null); } //更新员工表中的一条记录 public bool UpdateChuqinInfo(Chuqin chuqin) { string sqlStr = "update chuqin set "; sqlStr = sqlStr + "employeeId = '" + chuqin.EmployeeId + "',"; sqlStr = sqlStr + "year = '" + chuqin.Year + "',"; sqlStr = sqlStr + "month = '" + chuqin.Month + "',"; sqlStr = sqlStr + "overHour = '" + chuqin.OverHour + "',"; sqlStr = sqlStr + "chiDao = '" + chuqin.ChiDao + "',"; sqlStr = sqlStr + "zaoTui = '" + chuqin.ZaoTui + "',"; sqlStr = sqlStr + "kuangGong = '" + chuqin.KuangGong + "' "; sqlStr = sqlStr + "where chuqinId = '" + chuqin.ChuqinId + "'"; DataBase db = new DataBase(); if (db.InsertOrUpdate(sqlStr) <= 0) return false; return true; } public Chuqin getOneChuqin(String chuqinId) { String sqlStr = "select * from chuqin where chuqinId='" + chuqinId + "'"; DataBase db = new DataBase(); DataSet ds = db.GetDataSet(sqlStr); Chuqin chuqin = null; if (ds.Tables[0].Rows.Count > 0) { chuqin = new Chuqin(); DataRow dr = ds.Tables[0].Rows[0]; chuqin.ChuqinId = Convert.ToInt32(dr["chuqinId"]); chuqin.EmployeeId= Convert.ToInt32(dr["employeeId"]); chuqin.Year= Convert.ToInt32( dr["year"]); chuqin.Month= Convert.ToInt32(dr["month"]); chuqin.OverHour= float.Parse (dr["overHour"].ToString()); chuqin.ChiDao = Convert.ToInt32(dr["chiDao"]); chuqin.ZaoTui = Convert.ToInt32(dr["zaoTui"]); chuqin.KuangGong = float.Parse (dr["kuangGong"].ToString ()); } return chuqin; } } }

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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