Vb.net 康涅狄格州公开赛 作为MySqlDataReader=cmd.ExecuteReader()的Dim rdr rdr.Read() TextBox2.Text=rdr(“主题名称”).ToString() Label1.Text=rdr(“今日”).ToS
康涅狄格州公开赛 作为MySqlDataReader=cmd.ExecuteReader()的Dim rdr rdr.Read() TextBox2.Text=rdr(“主题名称”).ToString() Label1.Text=rdr(“今日”).ToString() Label2.Text=rdr(“Count1”).ToString() Label3.Text=rdr(“Count2”).ToString() 特例 MessageBox.Show(例如Message) 最后 康涅狄格州 结束尝试 端接头 末级Vb.net 康涅狄格州公开赛 作为MySqlDataReader=cmd.ExecuteReader()的Dim rdr rdr.Read() TextBox2.Text=rdr(“主题名称”).ToString() Label1.Text=rdr(“今日”).ToS,vb.net,mysql-connector,Vb.net,Mysql Connector,康涅狄格州公开赛 作为MySqlDataReader=cmd.ExecuteReader()的Dim rdr rdr.Read() TextBox2.Text=rdr(“主题名称”).ToString() Label1.Text=rdr(“今日”).ToString() Label2.Text=rdr(“Count1”).ToString() Label3.Text=rdr(“Count2”).ToString() 特例 MessageBox.Show(例如Message) 最后 康涅狄格州 结
您是否能够识别返回错误消息的部件?它是来自VB.net还是来自MySQL?如果与你的情况相关,你也可以参考我检查一下。但不幸的是,我在MySql中也没有发现错误。我没有在sql中输入任何额外的代码,而是创建了表。所以我认为错误就在这里。我试着问这个问题,但还是找不到答案。我的脑袋会因为时间的限制而爆炸。感谢您的评论。请使用调试器。这就是为什么你有一个IDE。当抛出异常时,调试器将确切地告诉您抛出异常的行。然后,您可以检查该行,并查看它在做什么,以及在哪里需要一个
双精度
,并使用字符串
。如果您无法在那里识别它,那么请更多地使用调试器。设置一个断点并再次运行项目,然后检查引发异常的每一行的状态。我还建议您在项目属性和IDE选项中启用选项Strict On
,以便将来默认情况下总是On
。可能引发此异常的位置示例如下:Label2.Text=Label2.Text+1
。您正在添加一个字符串
和一个整数
,这是毫无意义的。您依赖于将其中一个值隐式转换为另一个类型,这总是令人担忧。如果字符串
为空,会发生什么情况?请注意您的数据类型,并始终在适当的验证后显式执行强制转换和转换。天哪,sql注入问题,蝙蝠侠!
Imports MySql.Data.MySqlClient
Public Class Form3
Dim conn As MySqlConnection
Dim command As MySqlCommand
Dim cmd As MySqlCommand
Dim Da As New MySqlDataAdapter
Dim ds As New DataSet
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'To check whether the date is same
TextBox1.Text = System.DateTime.Now.ToString(("MM/dd/yyyy"))
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
conn = New MySqlConnection
conn.ConnectionString = "server=localhost;user=root;password=1234;database=attendance"
Dim reader As MySqlDataReader
Try
ds.Clear()
conn.Open()
'Checking Subject Now
cmd = New MySqlCommand("select Subject_Name from dateverification", conn)
Da = New MySqlDataAdapter(cmd)
Da.Fill(ds, "dateverification")
TextBox2.Text = ds.Tables(0).Rows(0).Item(0)
'Checking Todays Date
cmd = New MySqlCommand("select Today_Date from dateverification", conn)
Da = New MySqlDataAdapter(cmd)
Da.Fill(ds, "dateverification")
Label1.Text = ds.Tables(0).Rows(0).Item(0)
'Checking Count1
cmd = New MySqlCommand("select Count1 from dateverification", conn)
Da = New MySqlDataAdapter(cmd)
Da.Fill(ds, "dateverification")
Label2.Text = ds.Tables(0).Rows(0).Item(0)
'Checking Count2
cmd = New MySqlCommand("select Count2 from dateverification", conn)
Da = New MySqlDataAdapter(cmd)
Da.Fill(ds, "dateverification")
Label3.Text = ds.Tables(0).Rows(0).Item(0)
'If the days are Different, Total days will be counted and Date will be updated
If Label1.Text <> TextBox1.Text Then
Label1.Text = System.DateTime.Now.ToString(("yyyy-MM-dd"))
Label2.Text = Label2.Text + 1
Dim query1 As String
query1 = "UPDATE attendance.dateverification SET Today_Date = '" & Label1.Text & "' , Count1 = '" & Label2.Text & "' WHERE Subject_Name = '" & TextBox3.Text & "'; "
command = New MySqlCommand(query1, conn)
reader = command.ExecuteReader
MessageBox.Show("Welcome to New Day")
Else
'If the date are equal, then the number of counts which register wasopen in same day will be increased
Label3.Text = Label3.Text + 1
Dim query1 As String
query1 = "UPDATE attendance.dateverification SET Count2 = '" & Label3.Text & "' WHERE Subject_Name = '" & TextBox3.Text & "'; "
command = New MySqlCommand(query1, conn)
reader = command.ExecuteReader
MessageBox.Show("You are still on the same day")
End If
Dim query As String
query = "UPDATE attendance.dateverification SET Subject_selected = '" & TextBox3.Text & "' WHERE Subject_Name = '" & TextBox3.Text & "'; "
command = New MySqlCommand(query, conn)
reader = command.ExecuteReader
conn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
conn.Dispose()
End Try
Label3.Text = Label3.Text + 1