现有两段代码,主要是跟全局变量有关,由于测试条件达不到,没有办法测试,只好问问各位了!
Public UserId As String
Private Sub Timer1_Timer()
Dim rs As ADODB.Recordset
Dim autoid, UserNumber, MessageContent, UserId As String Dim tempsql As String
Dim sql As String 'On Error GoTo lastcode
If IsLeftPoint Then
Set rs = New ADODB.Recordset
If Wavecom1.SendBufCount > 0 And Wavecom1.SendBufCount <= 10 Then
tempsql = "select top 10 AutoID,isnull(UserNumber,'0') as UserNumber,isnull(MessageContent,'') as MessageContent,userid from T_Out_Modem "
Set rs = ExecSql(tempsql, CONN2)
While Not rs.EOF '数据库
If IsLeftPoint Then
autoid = CStr(rs("autoid"))
UserNumber = rs("UserNumber")
MessageContent = rs("MessageContent")
UserId = rs("userid") 'modify by zhang 05.8.5
Wavecom1.SendSM UserNumber, MessageContent
CONN2.Execute ("delete T_Out_Modem where autoid='" + autoid + "'")
rs.MoveNext
Else
Exit Sub
End If
' DoEvents
Wend
rs.Close
Set rs = Nothing
End If
End If
End SubPrivate Sub Wavecom1_SendResult(SM As String, SIM As String, result As CommModule.enumSendResult)
Dim datestr As String
datestr = Format(Now, "yyyy-mm-dd hh:mm:ss")
If result = Success Then
addLog1 datestr, "发送成功", SIM, SM, "1"
addLog2 datestr, "发送成功", SIM, SM, "1", UserId
showListInfo datestr, 1, SIM, SM, UserId
Call ChangePoint
Call IsLeftPoint2
Else
addLog1 datestr, "发送失败", SIM, SM, "4"
showListInfo datestr, 2, SIM, SM, UserId
End If
End Sub现定义了userid为全局变量,主要是为了下边函数的调用,小弟担心的是在后边函数调用的时候userid可能变成空值,会不会出现这样的问题,如果出现了该如何解决,谢谢!
Public UserId As String
Private Sub Timer1_Timer()
Dim rs As ADODB.Recordset
Dim autoid, UserNumber, MessageContent, UserId As String Dim tempsql As String
Dim sql As String 'On Error GoTo lastcode
If IsLeftPoint Then
Set rs = New ADODB.Recordset
If Wavecom1.SendBufCount > 0 And Wavecom1.SendBufCount <= 10 Then
tempsql = "select top 10 AutoID,isnull(UserNumber,'0') as UserNumber,isnull(MessageContent,'') as MessageContent,userid from T_Out_Modem "
Set rs = ExecSql(tempsql, CONN2)
While Not rs.EOF '数据库
If IsLeftPoint Then
autoid = CStr(rs("autoid"))
UserNumber = rs("UserNumber")
MessageContent = rs("MessageContent")
UserId = rs("userid") 'modify by zhang 05.8.5
Wavecom1.SendSM UserNumber, MessageContent
CONN2.Execute ("delete T_Out_Modem where autoid='" + autoid + "'")
rs.MoveNext
Else
Exit Sub
End If
' DoEvents
Wend
rs.Close
Set rs = Nothing
End If
End If
End SubPrivate Sub Wavecom1_SendResult(SM As String, SIM As String, result As CommModule.enumSendResult)
Dim datestr As String
datestr = Format(Now, "yyyy-mm-dd hh:mm:ss")
If result = Success Then
addLog1 datestr, "发送成功", SIM, SM, "1"
addLog2 datestr, "发送成功", SIM, SM, "1", UserId
showListInfo datestr, 1, SIM, SM, UserId
Call ChangePoint
Call IsLeftPoint2
Else
addLog1 datestr, "发送失败", SIM, SM, "4"
showListInfo datestr, 2, SIM, SM, UserId
End If
End Sub现定义了userid为全局变量,主要是为了下边函数的调用,小弟担心的是在后边函数调用的时候userid可能变成空值,会不会出现这样的问题,如果出现了该如何解决,谢谢!
解决方案 »
- 动态加载的控件 除了FORM上,生成到其他控件上都显示不到 好像被掩盖了。在线等待。
- 在Write输出的文本中出现莫名的""号
- 请各位兄弟帮忙,在vb中 windows启动时运行此程序。急。。。急。。。。100分
- 哪位大虾教我用treeview?感激不尽啊!
- Private Sub Form_Activate()用在什么地方?
- ******如何在单击command时自动建立一个dbf库,并插入一列名为id的字段,类型为数字型******
- 如何获取ADO连接的所有的表名?
- 初恋18周年纪念日,心情好,送分!!!!
- ADO与ACCESS2000的问题
- 在VB中DCOM的实现
- 此貼大家要小心 "买错书了,七折转让昨天晚上刚刚买的《Visual Basic.NET数据库开发经典案例解析》"
- MDB数据库,怎么列举所有表?
在这里定义的是过程级别的USERID,每次时间控件触发后都制空了addLog2 datestr, "发送成功", SIM, SM, "1", UserId
在这里得到的USERID的PUBLIC里定义好的
应该不会出现你想的问题的。如果出现了,你设置个断点进行调试下。
public UserID as string