读取数据库记录时,计算字段因某种原因未能取得值,请问该如何判断这种情况?
cmdstr = "select sum(xsts) as xsts,sum(xsmj) as xsmj,sum(xsjj*xsmj)/sum(xsmj) as jj from qk where rq between " + minday + " and " + maxday
cmd = New OleDbCommand(cmdstr, con)
con.Open()
dr = cmd.ExecuteReader()
If dr.Read() Then
If IsDBNull(dr("xsts")) Then
lbl_zj_cjts.Text = ""
Else
lbl_zj_cjts.Text = dr("xsts")
End If
If IsDBNull(dr("xsmj")) Then
lbl_zj_cjmj.Text = ""
Else
lbl_zj_cjmj.Text = dr("xsmj")
End If
If IsDBNull(dr("jj")) Then
lbl_zj_jj.Text = ""
Else
lbl_zj_jj.Text = dr("jj")
End If
End If
此代码一般情况下能正常运行,但当sum(xsmj)为0时就会出错。
“/real”应用程序中的服务器错误。
--------------------------------------------------------------------------------
提供程序无法确定 Double 值。例如,该行刚刚创建,未提供 Double 列的默认值,并且使用者尚未设置新 Double 值。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: 提供程序无法确定 Double 值。例如,该行刚刚创建,未提供 Double 列的默认值,并且使用者尚未设置新 Double 值。
源错误:
行 364: End If
行 365:
行 366: If IsDBNull(dr("jj")) Then
行 367: lbl_zj_jj.Text = ""
行 368: Else
请问该如何解决?
问题点数:20、回复次数:2Top
1 楼jiang8282(雪山飞狐)回复于 2006-03-02 10:59:41 得分 20
sql语句中:
nullif(sum(xsmj),0)Top
2 楼zjsunshine(日出东方)回复于 2006-03-02 11:33:22 得分 0
飞狐兄:
select 语句用了nullif()报错“表达式中 'nullif' 函数未定义”
我用的是accessTop




