救命:请问为什么用SqlDataReader从数据库中用GetFloat(3)总是说报异常“指定的转换无效。” 我看了,那一列的数据类型是float的,前面的0,1,2都能读出来,就这里不能读出来,不知道为什么!请高手帮帮忙。。谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是否数据库中该字段的值为NULL?如果是,利用DataReader.IsDBNull(3)判断 可能是字段为空while (sdr.Read()){ if (!sdr.IsDBNull(3)) { float f = sdr.GetFloat(3); } } 还是不行哦。。郁闷。。我想从数据库中取出每行的数据,我是用Bean的方式来将每行封装成一个对象,然后将对象装到一个HashTable里面返回。。这样可以吗?最好的方法应该怎样做呢?谢谢高手解答,实在是太急了。 你确定你那列的值都是float类型的吗 还有检查你哪里值会面有没有多余的空格 参考: List<EmployeeInfo> employees = new List<EmployeeInfo>(); SqlOperator op = new SqlOperator(); string cmdText = "Select [Id],[Name],[Sex],[BirthDay],[DepartmentId] From Employees"; SqlDataReader dr = op.ExecuteReader(cmdText); while (dr.Read()) { EmployeeInfo emp = new EmployeeInfo((int)dr["Id"], dr["Name"].ToString(), dr["Sex"].ToString(), (DateTime)dr["BirthDay"], (int)dr["DepartmentId"]); employees.Add(emp); } return employees;注意:上述代码中应用到了List泛型列表和多层的概念,SqlOperator是自定义的数据库操作类 上面的例子只是部分代码,没有用到多层,其中泛型列表位于命名空间System.Collections.Generic 1、确定该列类型为float2、确定该列不为null vs2010比vs2008更占用资源吗?机器比较老,能有2008,用2010会吃力吗? 请教,.Net是否可以实现如下功能 两个大数相加的问题 c#高级编程(第6版),480页,关于委托的异步特性一问 客户端textbox数据验证请教 求正则表达式~~~~~~~~~ 关于SharpICTCLAS 提示这句语句已过时 问个全面的C#语法 都说善其行必先利其器,关于vs.net.... SQL Update select c#给xml指定位置插入节点出错~侠客们帮忙看看是什么问题~
while (sdr.Read())
{
if (!sdr.IsDBNull(3))
{
float f = sdr.GetFloat(3);
}
}
List<EmployeeInfo> employees = new List<EmployeeInfo>(); SqlOperator op = new SqlOperator();
string cmdText = "Select [Id],[Name],[Sex],[BirthDay],[DepartmentId] From Employees";
SqlDataReader dr = op.ExecuteReader(cmdText); while (dr.Read())
{
EmployeeInfo emp = new EmployeeInfo((int)dr["Id"], dr["Name"].ToString(), dr["Sex"].ToString(), (DateTime)dr["BirthDay"], (int)dr["DepartmentId"]);
employees.Add(emp);
} return employees;注意:上述代码中应用到了List泛型列表和多层的概念,SqlOperator是自定义的数据库操作类
2、确定该列不为null