被猪拿把杷站在前面挡住两星期---两字:郁闷~~
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error Resume Next
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
Dim sql As String
Dim tmp(100) As Long
Dim i As Integer
Dim t As Long
ListBox1.Items().Clear()
If RadioButton1.Checked = True Then
sql = "select name from type where type=1"
ElseIf RadioButton2.Checked = True Then
sql = "select name from type where type=2"
ElseIf RadioButton3.Checked = True Then
sql = "select name from type"
End If
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data\\data.mdb")
rs.Open(sql, conn, 1, 1)
Do While Not rs.EOF
i = i + 1
If RadioButton4.Checked = True Then
sql = "select sum(number) as total from data where name='" & rs.Fields(0).Value & "' and time=# " + DateTimePicker1.Value + " #"
ElseIf RadioButton5.Checked = True Then
sql = "select sum(number) as total from data where name='" & rs.Fields(0).Value & "' and time>=# " + DateTimePicker1.Value + "# and time<=# " + DateTimePicker2.Value + "#"
End If
rs1.Open(sql, conn, 1, 1)
ListBox1.Items().Add(rs.Fields(0).Value & "-----总数为:" & rs1.Fields(0).Value)
If rs.Fields(0).Type = ADODB.DataTypeEnum.adEmpty = False Then
tmp(i) = rs1.Fields(0).Value
End If
rs1.Close()
rs.MoveNext()
Loop
i = 0
For i = 0 To UBound(tmp)
t += tmp(i)
Next i
ListBox1.Items().Add("所有的总数为:" & t)
rs.Close()
rs = Nothing
rs1 = Nothing
conn.Close()
conn = Nothing
End Sub
问题出在这一句:
If rs.Fields(0).Type = ADODB.DataTypeEnum.adEmpty = False Then
tmp(i) = rs1.Fields(0).Value
End If
为什么当查询结果为空时就出错!望各位帮帮忙!(出错提示rs1.Fields(0).Value=dbnull)
问题点数:100、回复次数:4Top
1 楼zhouxiaotan(夜雨悠扬)回复于 2006-03-05 11:54:16 得分 40
因为如果没有数据的时候rs.Fields的总个数是0
使用rs.Fields(0)数组超出下标,所以会出错。
建议使用之前先要判断数据个数。
另外如果number字段中如果有NULL值的话,也可能出错,建议要在SQL文中进行NULL值判断Top
2 楼mint(mint)回复于 2006-03-05 11:57:37 得分 40
对rs.fileds先做判断:
if rs.filds.count<>0 then
''取值处理
end if
如果要对元素的值取的话,就要再作以下判断:
if not isdbnull(rs.filds(0)) then
/....
end if
====CSDN 小助手 V2.5 2005年11月05日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2
Top
3 楼why2002plus()回复于 2006-03-05 12:47:36 得分 20
rs.Fields(0)是第一条记录,不是空记录.记录索引从0开始啊.空了就没这个rs.Fields(0),引用当然要出错.Top
4 楼lyfer(叼着白沙写程序)回复于 2006-03-05 13:14:20 得分 0
谢谢楼上的三位兄弟,问题已在你们的指点下搞定!谢啦Top
相关问题
- 关于TC的问题(最迟两星期给分)
- 跳槽了。新老板既然要求我先用VB。要求在两星期搞定VB希望大家给点建议。我以前是用VC的
- 跳槽了。新老板既然要求我先有VB。要求在两星期搞定VB希望大家给点建议
- **小弟我学Delphi已整两星期了,现编了第一个程序,是一个Flash播放器,希望各位前辈、学长看看!谢谢!!**
- ~~呵呵!!辛苦两星期终于可以放300分了,再此,谢谢各位同仁,特别是danny,天蓝,基恩!!我回答的问题都是蒙的,望不要见笑!!呵呵~~
- 层被select,iframe挡住
- TabStrip把WebBrowser挡住了
- 层怎样才可以挡住表单?
- 请教:右键菜单被挡住
- 层被框架挡住问题




