VB编程调试时出现无效NULL

Private Sub Label1_Click(Index As Integer)
stateGrid.Visible = True
stateGrid.Clear
stateGrid.Cols = 5
stateGrid.Row = 0
stateGrid.Col = 0
stateGrid.Text = ""
stateGrid.Col = 1
stateGrid.Text = "用户名"
stateGrid.Col = 2
stateGrid.Text = "上班时间"
stateGrid.Col = 3
stateGrid.Text = "下班时间"
stateGrid.Col = 4
stateGrid.Text = "实际工作时间"
stateGrid.ColWidth(0) = 25 * 12
stateGrid.ColWidth(1) = 200 * 12
stateGrid.ColWidth(2) = 350 * 12
stateGrid.ColWidth(3) = 350 * 12
stateGrid.ColWidth(4) = 350 * 12
stateGrid.Row = 0
登陆界面.Adodc2.Recordset.MoveLast
Do While 登陆界面.Adodc2.Recordset.BOF = False
stateGrid.Row = stateGrid.Row + 1
stateGrid.Col = 1
stateGrid.Text = 登陆界面.Adodc2.Recordset("用户名")
stateGrid.CellAlignment = 2
stateGrid.Col = 2
stateGrid.Text = 登陆界面.Adodc2.Recordset("上班时间")(无效NULL值)
stateGrid.CellAlignment = 2
stateGrid.Col = 3
stateGrid.Text = 登陆界面.Adodc2.Recordset("下班时间")(无效NULL值)
stateGrid.CellAlignment = 2
stateGrid.Col = 4
'stateGrid.Text = 登陆界面.Adodc2.Recordset("实际工作时间")
stateGrid.CellAlignment = 2
登陆界面.Adodc2.Recordset.MovePrevious
Loop
登陆界面.Adodc2.Recordset.MoveLast

End Sub

NULL值是指为空,没有输入任何数据。
你只要处理下就没问题了,如:
stateGrid.Text = 登陆界面.Adodc2.Recordset("上班时间")(无效NULL值)改成:
if isnull(登陆界面.Adodc2.Recordset("上班时间"))=True then
stateGrid.Text ="无"
else
stateGrid.Text = 登陆界面.Adodc2.Recordset("上班时间")(无效NULL值)
end if就可以了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-05
你按F8单步运行一下,看是哪句会出错,估计是你的登陆界面.Adodc2这个控件没有定义数据源,直接应用导致出错,你应该先定义数据源
相似回答