怎么把reader读到得DBnull数据类型转换double类型
时间:2011-12-15
来源:互联网
''' <summary>
''' 根据用户标示符获取用户记录
''' </summary>
''' <param name="orderld ">用户标示符</param>
''' <returns>返回Userinfo对象。如果用户不存在就返回Nothing</returns>
''' <remarks></remarks>
Public Function GetExpense(ByVal orderld As String) As AllexpenseInfo
Dim engin As New MyDbEngine
Dim cmdText As String
cmdText = "select*from 消费总单 where 手工单号=" & orderld
engin.OpenConnect() '打开数据库连接
Dim reader As Common.DbDataReader = engin.ExecuteReader(cmdText)
'判断是否存在记录
If IsNothing(reader) Then
engin.CloseConnect()
Return Nothing
End If
If reader.Read Then
Dim aExpense As New AllexpenseInfo
aExpense.Orderld = reader("手工单号").ToString.Trim()
aExpense.UserName = reader("操作员").ToString.Trim()
aExpense.Memname = reader("会员姓名").ToString.Trim()
aExpense.DishDiscount = reader("折扣")
aExpense.HotDish = reader("热菜总额")
aExpense.CodeDish = reader("凉菜总额")
aExpense.DrinksDish = reader("酒水总额")
aExpense.CakeDish = reader("糕点总额")
aExpense.AllDish = reader("消费总额")
reader.Close()
engin.CloseConnect()
Return aExpense
End If
Return Nothing
End Function
在这里面的“折扣”等都是列名 在SQL里面设置的double类型 aExpense.HotDish aExpense.AllDish aExpense.DrinksDish 等都是在VB里的double类型的
默认值是0.0 读出来之后就变string类型了
然后赋给那些类的double变量就说无法强制转化
CDbl函数也不行的
''' 根据用户标示符获取用户记录
''' </summary>
''' <param name="orderld ">用户标示符</param>
''' <returns>返回Userinfo对象。如果用户不存在就返回Nothing</returns>
''' <remarks></remarks>
Public Function GetExpense(ByVal orderld As String) As AllexpenseInfo
Dim engin As New MyDbEngine
Dim cmdText As String
cmdText = "select*from 消费总单 where 手工单号=" & orderld
engin.OpenConnect() '打开数据库连接
Dim reader As Common.DbDataReader = engin.ExecuteReader(cmdText)
'判断是否存在记录
If IsNothing(reader) Then
engin.CloseConnect()
Return Nothing
End If
If reader.Read Then
Dim aExpense As New AllexpenseInfo
aExpense.Orderld = reader("手工单号").ToString.Trim()
aExpense.UserName = reader("操作员").ToString.Trim()
aExpense.Memname = reader("会员姓名").ToString.Trim()
aExpense.DishDiscount = reader("折扣")
aExpense.HotDish = reader("热菜总额")
aExpense.CodeDish = reader("凉菜总额")
aExpense.DrinksDish = reader("酒水总额")
aExpense.CakeDish = reader("糕点总额")
aExpense.AllDish = reader("消费总额")
reader.Close()
engin.CloseConnect()
Return aExpense
End If
Return Nothing
End Function
在这里面的“折扣”等都是列名 在SQL里面设置的double类型 aExpense.HotDish aExpense.AllDish aExpense.DrinksDish 等都是在VB里的double类型的
默认值是0.0 读出来之后就变string类型了
然后赋给那些类的double变量就说无法强制转化
CDbl函数也不行的
作者: ywhyf1988 发布时间: 2011-12-15
1.发错版块了。
2.先判断读回的记录不等于DBNull.Value再进行转换。
2.先判断读回的记录不等于DBNull.Value再进行转换。
作者: zjl1234567 发布时间: 2011-12-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28