
VB 实时错误 '94' 无效使用 null
我做的一个通过串口来接收单片机数据的程序,然后把数据写进数据库,然后能够动态的画出曲线来,可是在我调试的时候总是出现这一行的错误,Picture1.Circle((64-...
我做的一个通过串口来接收单片机数据的程序,然后把数据写进数据库,然后能够动态的画出曲线来,可是在我调试的时候总是出现这一行的错误, Picture1.Circle ((64 - kccount) * 140, (100 - rst.Fields("Voltage").Value) * 25), 30
sql = "select * from table1"
Set rst = run_SQL(sql)
rst.AddNew
rst.Fields("channel").Value = num(1)
rst.Fields("voltage").Value = num(2) * 0.001 '电压单位为伏
If num(2) = 0 Then
rst.Fields("resistance").Value = 0
Else: '此公式为计算电阻值的公式
rst.Fields("resistance").Value = (2.5 - num(2) * 0.001) * Val(Combo3.Text) / (num(2) * 0.001) 'Int(Rnd() * 10000) / 100
End If
rst.Fields("datetime").Value = Now()
rst.Update
Set rst = Nothing
'从数据库中把数据读出来并且画出来
List1.Clear
Picture1.Cls
If Combo1.Text = "第一通道" Then ch = 1
If Combo1.Text = "第二通道" Then ch = 2
If Combo1.Text = "第三通道" Then ch = 3
If Combo1.Text = "第四通道" Then ch = 4
sql = "select * from table1 where channel=" & ch & " order by datetime desc"
Set rst = run_SQL(sql)
kccount = 0
List1.AddItem " "
If Not rst Is Nothing Then
Do While Not rst.EOF And kccount < 65
List1.AddItem "通道号:" & rst.Fields("channel").Value & " 电阻:" & Left(rst.Fields("resistance").Value & "欧姆 ", 8) & " 采集时间:" & rst.Fields("datetime").Value
Picture1.Circle ((64 - kccount) * 140, (100 - rst.Fields("Voltage").Value) * 25), 30
If kccount > 0 Then
Picture1.Line ((64 - (kccount - 1)) * 140, (100 - dianya) * 25)-((64 - kccount) * 140, (100 - rst.Fields("Voltage").Value) * 25), RGB(255, 0, 0)
End If
dianya = rst.Fields("Voltage").Value
kccount = kccount + 1
rst.MoveNext
Loop
Set rst = Nothing
End If
End Sub
前面写进数据库的这一句很奇怪,rst.Fields("voltage").Value = num(2) * 0.001 '电压单位为伏
,这一句我的num(2)不是零的时候,我调试也会看到等式左边提示我为null,当右边num(2)为零的时候,左边也会提示我是null,我之前没有出现这个问题,请高手赐教! 展开
sql = "select * from table1"
Set rst = run_SQL(sql)
rst.AddNew
rst.Fields("channel").Value = num(1)
rst.Fields("voltage").Value = num(2) * 0.001 '电压单位为伏
If num(2) = 0 Then
rst.Fields("resistance").Value = 0
Else: '此公式为计算电阻值的公式
rst.Fields("resistance").Value = (2.5 - num(2) * 0.001) * Val(Combo3.Text) / (num(2) * 0.001) 'Int(Rnd() * 10000) / 100
End If
rst.Fields("datetime").Value = Now()
rst.Update
Set rst = Nothing
'从数据库中把数据读出来并且画出来
List1.Clear
Picture1.Cls
If Combo1.Text = "第一通道" Then ch = 1
If Combo1.Text = "第二通道" Then ch = 2
If Combo1.Text = "第三通道" Then ch = 3
If Combo1.Text = "第四通道" Then ch = 4
sql = "select * from table1 where channel=" & ch & " order by datetime desc"
Set rst = run_SQL(sql)
kccount = 0
List1.AddItem " "
If Not rst Is Nothing Then
Do While Not rst.EOF And kccount < 65
List1.AddItem "通道号:" & rst.Fields("channel").Value & " 电阻:" & Left(rst.Fields("resistance").Value & "欧姆 ", 8) & " 采集时间:" & rst.Fields("datetime").Value
Picture1.Circle ((64 - kccount) * 140, (100 - rst.Fields("Voltage").Value) * 25), 30
If kccount > 0 Then
Picture1.Line ((64 - (kccount - 1)) * 140, (100 - dianya) * 25)-((64 - kccount) * 140, (100 - rst.Fields("Voltage").Value) * 25), RGB(255, 0, 0)
End If
dianya = rst.Fields("Voltage").Value
kccount = kccount + 1
rst.MoveNext
Loop
Set rst = Nothing
End If
End Sub
前面写进数据库的这一句很奇怪,rst.Fields("voltage").Value = num(2) * 0.001 '电压单位为伏
,这一句我的num(2)不是零的时候,我调试也会看到等式左边提示我为null,当右边num(2)为零的时候,左边也会提示我是null,我之前没有出现这个问题,请高手赐教! 展开
2个回答
2010-07-19
展开全部
太阳雨多年积攒极其珍贵的原创VB串口通信技术资料V2.0 (830M)
VB串口通信编程源码206个,多种行业多种应用...
VB串口通信技术文章160多篇,详尽地对VB串口通信的诠释...
VB串口通信电子书籍16部,工业通信名家著作,经典细致...
VB串口通信控件16个,简化串口通信编码,提高开发效率...
VB串口调试工具80个,应用于各种串口调试与校验计算...
VB串口视频教程46个,两套完整视频教程,讲解直观,更快掌握...
程序员发展类文章和书籍12部,帮助您的成长,健康和发展....
超级赠品一:OSI网络模型教程48M
超级赠品二:串口硬件层知识大全资料包24M
你在淘宝搜索“太阳雨VB串口资料”就可以找到,希望可以帮助到你。
VB串口通信编程源码206个,多种行业多种应用...
VB串口通信技术文章160多篇,详尽地对VB串口通信的诠释...
VB串口通信电子书籍16部,工业通信名家著作,经典细致...
VB串口通信控件16个,简化串口通信编码,提高开发效率...
VB串口调试工具80个,应用于各种串口调试与校验计算...
VB串口视频教程46个,两套完整视频教程,讲解直观,更快掌握...
程序员发展类文章和书籍12部,帮助您的成长,健康和发展....
超级赠品一:OSI网络模型教程48M
超级赠品二:串口硬件层知识大全资料包24M
你在淘宝搜索“太阳雨VB串口资料”就可以找到,希望可以帮助到你。

2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询