我想在我的 vb.net 上安装一个检查器,它还会更新 mysql table 上的特定列
I want to have a checker on my vb.net that will also update the specific column on the mysql table
这是我的代码,它将获取 table
的列的值
Try
con.Open()
cmd = New MySqlCommand("SELECT agent_id, agent_qualifying, agent_accumulated from tbagent", con)
dr = cmd.ExecuteReader
While dr.Read
aid = dr.GetInt32("agent_id")
qual = dr.GetInt32("agent_qualifying")
acc = dr.GetInt32("agent_accumulated")
checker(aid, qual, acc)
End While
dr.Close()
con.Close()
loadstructure()
Catch ex As Exception
con.Close()
MsgBox(ex.Message, vbCritical)
End Try
这是我的检查器代码
Dim qstat = "Ready"
Dim qnstat = "Not Ready"
Try
dr.Close()
If acc >= qual Then
cmd = New MySqlCommand("update tbagent set agent_qstatus= '" & qstat & "'where agent_id like '" & aid & "'", con)
dr = cmd.ExecuteReader
Else
cmd = New MySqlCommand("update tbagent set agent_qstatus= '" & qnstat & "'where agent_id like '" & aid & "'", con)
dr = cmd.ExecuteReader
End If
Catch ex As Exception
con.Close()
MsgBox(ex.Message, vbCritical)
End Try
基本上当表格加载时,我想检查 MySQL 中 table 上的每个代理人的销售额是否等于或大于合格销售额。因此,如果他们累积的数量大于排位赛,他们在代理 table 中的状态列将更改为“READY”
您只需一条 sql 语句即可完成。我假设在创建记录时,状态为 'Not Ready' 作为该字段的默认值。
包括 Connection
和 Command
在内的多个数据库对象使用非托管代码。这些资源需要通过调用 objects Dispose
方法来释放。 Using...End Using
块为我们处理这个,即使有错误。这些对象需要在使用它们的方法中声明,以便可以使用这些块。
Private Sub UpdateStatus()
Using cn As New MySqlConnection(ConnStr),
cmd As New MySqlCommand("Update tbagent
Set agent_qstatus = 'Ready'
Where agent_accumulated > agent_qualifying ;", cn)
cn.Open()
cmd.ExecuteNonQuery()
End Using
End Sub
如果您想查看数据,您可以检索数据。
这是我的代码,它将获取 table
的列的值 Try
con.Open()
cmd = New MySqlCommand("SELECT agent_id, agent_qualifying, agent_accumulated from tbagent", con)
dr = cmd.ExecuteReader
While dr.Read
aid = dr.GetInt32("agent_id")
qual = dr.GetInt32("agent_qualifying")
acc = dr.GetInt32("agent_accumulated")
checker(aid, qual, acc)
End While
dr.Close()
con.Close()
loadstructure()
Catch ex As Exception
con.Close()
MsgBox(ex.Message, vbCritical)
End Try
这是我的检查器代码
Dim qstat = "Ready"
Dim qnstat = "Not Ready"
Try
dr.Close()
If acc >= qual Then
cmd = New MySqlCommand("update tbagent set agent_qstatus= '" & qstat & "'where agent_id like '" & aid & "'", con)
dr = cmd.ExecuteReader
Else
cmd = New MySqlCommand("update tbagent set agent_qstatus= '" & qnstat & "'where agent_id like '" & aid & "'", con)
dr = cmd.ExecuteReader
End If
Catch ex As Exception
con.Close()
MsgBox(ex.Message, vbCritical)
End Try
基本上当表格加载时,我想检查 MySQL 中 table 上的每个代理人的销售额是否等于或大于合格销售额。因此,如果他们累积的数量大于排位赛,他们在代理 table 中的状态列将更改为“READY”
您只需一条 sql 语句即可完成。我假设在创建记录时,状态为 'Not Ready' 作为该字段的默认值。
包括 Connection
和 Command
在内的多个数据库对象使用非托管代码。这些资源需要通过调用 objects Dispose
方法来释放。 Using...End Using
块为我们处理这个,即使有错误。这些对象需要在使用它们的方法中声明,以便可以使用这些块。
Private Sub UpdateStatus()
Using cn As New MySqlConnection(ConnStr),
cmd As New MySqlCommand("Update tbagent
Set agent_qstatus = 'Ready'
Where agent_accumulated > agent_qualifying ;", cn)
cn.Open()
cmd.ExecuteNonQuery()
End Using
End Sub
如果您想查看数据,您可以检索数据。