16,555
社区成员
发帖
与我相关
我的任务
分享
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Timer2.Enabled = True
Timer2.Interval = 1000
'每一秒刷新一次
'遍历取值问题解决,i=i+1去掉
Try
Dim str2 As String = "server=localhost;database=test;user id=root;password=123;pooling=false;"
Dim conn1 As MySqlConnection = New MySqlConnection(str2)
conn1.Open()
'查詢資料
Dim str1 As String = "select * from wait_message where ustatus = '-1'"
Dim adapter1 As Common.DbDataAdapter = New MySqlDataAdapter(str1, conn1)
'將查詢結果放到記憶體testDataSet上的"wait_message"表格內
Dim testDataSet As DataSet = New DataSet
adapter1.Fill(testDataSet, "wait_message")
Dim i As Integer = 0
'它是按照0,2,4循环的.如果把i=i+1去掉可以读取到全部,不过跟弹出框和刷新不同步,控件读取数据的时间跟发送时间不同步问题,现在的问题还是不太清楚发送的数据有没有问题
For i = 0 To testDataSet.Tables("wait_message").Rows.Count - 1
MobPort.Text = testDataSet.Tables("wait_message").Rows(i).Item("uportnum")
TelNum_Text.Text = testDataSet.Tables("wait_message").Rows(i).Item("uphonenum")
'DeleteSms_Index.Text = testDataSet.Tables("wait_message").Rows(i).Item("ucontent") '此行是主鍵值,所以不打算顯示
SendSms_Text.Text = testDataSet.Tables("wait_message").Rows(i).Item("ucontent")
ReceiveSms_Text.Text = testDataSet.Tables("wait_message").Rows(i).Item("uIndex")
DeleteSms_Index.Text = testDataSet.Tables("wait_message").Rows(i).Item("ustatus")
'MsgBox(testDataSet.Tables("wait_message").Rows.Count - 1)
'MsgBox(MobPort.Text & testDataSet.Tables("wait_message").Rows(i).Item("uportnum"))
' MsgBox(i)
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
If Len(Trim(TelNum_Text.Text)) >= 11 And Sms_Send(Trim(TelNum_Text.Text), Trim(SendSms_Text.Text)) Then
Sms_Disconnection_Button.Enabled = False
MsgBox("发送短信成功!", MsgBoxStyle.Information, "提示")
'Else
' MsgBox("发送短信失败!", MsgBoxStyle.Critical, "警告")
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
Dim str2 As String = "server=localhost;database=test;user id=root;password=123;pooling=false;"
Dim conn1 As MySqlConnection = New MySqlConnection(str2)
conn1.Open()
Dim comstr As String
comstr = " UPDATE wait_message SET ustatus = '1' WHERE ustatus = '-1' "
Dim adapter1 As Common.DbDataAdapter = New MySqlDataAdapter(comstr, conn1)
Dim testDataSet As DataSet = New DataSet
adapter1.Fill(testDataSet, "wait_message")
''關閉資料庫的連結
conn1.Close()
'conn1.ConnectionString = Nothing
End If
Timer2.Enabled = False
End Sub
Dim str2 As String = "server=localhost;database=test;user id=root;password=123;pooling=false;"
Dim conn1 As MySqlConnection = New MySqlConnection(str2)
conn1.Open()
'设计两个参数一个是链接数据库字符 constr 一个是已打开的数据库连接 conn
'返回一个dataset
Private Function setDataSet(ByVal conStr$, ByVal conn As MySqlConnection) As DataSet
Dim comstr As String
comstr = " UPDATE wait_message SET ustatus = '1' WHERE ustatus = '-1' "
Dim adapter1 As Common.DbDataAdapter = New MySqlDataAdapter(comstr, conn)
Dim tmpDataSet As DataSet = New DataSet
adapter1.Fill(tmpDataSet, "wait_message")
Return tmpDataSet
End Function
调用方法:
前提就是你已经打开了conn1
Dim comstr As String = " UPDATE wait_message SET ustatus = '1' WHERE ustatus = '-1' "
Dim testDataSet As DataSet = setDataSet(comstr, conn1)
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Timer2.Enabled = True
Timer2.Interval = 1000
'每一秒刷新一次
'遍历取值问题解决,i=i+1去掉
Try
Dim str1$ = "select * from wait_message where ustatus = '-1'"
Dim testDataSet As DataSet = setDataSet(str1, conn1)
'查詢資料
'將查詢結果放到記憶體testDataSet上的"wait_message"表格內
'它是按照0,2,4循环的.如果把i=i+1去掉可以读取到全部,不过跟弹出框和刷新不同步,控件读取数据的时间跟发送时间不同步问题,现在的问题还是不太清楚发送的数据有没有问题
For i As Int32 = 0 To testDataSet.Tables("wait_message").Rows.Count - 1
MobPort.Text = testDataSet.Tables("wait_message").Rows(i).Item("uportnum")
TelNum_Text.Text = testDataSet.Tables("wait_message").Rows(i).Item("uphonenum")
'DeleteSms_Index.Text = testDataSet.Tables("wait_message").Rows(i).Item("ucontent") '此行是主鍵值,所以不打算顯示
SendSms_Text.Text = testDataSet.Tables("wait_message").Rows(i).Item("ucontent")
ReceiveSms_Text.Text = testDataSet.Tables("wait_message").Rows(i).Item("uIndex")
DeleteSms_Index.Text = testDataSet.Tables("wait_message").Rows(i).Item("ustatus")
'MsgBox(testDataSet.Tables("wait_message").Rows.Count - 1)
'MsgBox(MobPort.Text & testDataSet.Tables("wait_message").Rows(i).Item("uportnum"))
' MsgBox(i)
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
If Len(Trim(TelNum_Text.Text)) >= 11 And Sms_Send(Trim(TelNum_Text.Text), Trim(SendSms_Text.Text)) Then
Sms_Disconnection_Button.Enabled = False
MsgBox("发送短信成功!", MsgBoxStyle.Information, "提示")
'Else
' MsgBox("发送短信失败!", MsgBoxStyle.Critical, "警告")
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
Dim comstr = " UPDATE wait_message SET ustatus = '1' WHERE ustatus = '-1' "
Dim testDataSet As DataSet = setDataSet(comstr, conn1)
End If
Timer2.Enabled = False
End Sub
Private Function setDataSet(ByVal conStr$) As DataSet
Dim str2 As String = "server=localhost;database=test;user id=root;password=123;pooling=false;"
Dim conn1 As MySqlConnection = New MySqlConnection(str2)
conn1.Open()
Dim adapter1 As Common.DbDataAdapter = New MySqlDataAdapter(conStr, conn1)
Dim tmpDataSet As DataSet = New DataSet
adapter1.Fill(tmpDataSet, "wait_message")
Return tmpDataSet
conn1.Close()
End Function
注:以上代码未经过测试