Vb.net 康涅狄格州公开赛 作为MySqlDataReader=cmd.ExecuteReader()的Dim rdr rdr.Read() TextBox2.Text=rdr(“主题名称”).ToString() Label1.Text=rdr(“今日”).ToS

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) 最后 康涅狄格州 结

康涅狄格州公开赛 作为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