微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VB.NET 在 mysql 中插入数据时出现重复

如何解决VB.NET 在 mysql 中插入数据时出现重复

我正在尝试在 MysqL 中插入数据并获取最新 ID,但问题是我正在插入重复数据 是我的语法错误还是什么?

connection.open()
insertString = "INSERT INTO `daily_report`(`saan_nalaman`,`purpose`,`usual_time`,`apps`,`Feedback`,`userid`,`survey_at_what_blh`) VALUES ('" & txtq1.Text & "','" & txtq2.Text & "','" & txtq3.Text & "','" & txtq4.Text & "','" & txtq5.Text & "','" & Utilities.UserID & "','" & Login.RichTextBox1.Text & "');SELECT last_insert_id();"
command = New MysqLCommand(insertString,connection)
reader = command.ExecuteReader
connection.Close()
connection.open()
TextBox1.Text = command.ExecuteScalar
connection.Close()

解决方法

在使用它们的方法中声明和处置您的数据库对象。即使出现错误,Using 块也会为我们处理这个问题。 总是使用参数来避免sql注入。此外,它使 sql 命令更易于阅读和编写,无需所有连接和单引号。单个 ExecuteScalar 将完成插入和选择。

Private ConStr As String = "Your connection string"

Private Sub GetID()
    Dim insertString = "INSERT INTO `daily_report`(`saan_nalaman`,`purpose`,`usual_time`,`apps`,`feedback`,`userid`,`survey_at_what_blh`) VALUES (@saan,@purpose,@time,@apps,@feedback,@userid,@survey) SELECT last_insert_id();"
    Dim id As Integer
    Using Command As New MySqlCommand(insertString,New MySqlConnection(ConStr))
        With Command.Parameters
            .AddWithValue("@saan",txtq1.Text)
            .AddWithValue("@purpose",txtq2.Text)
            .AddWithValue("@time",txtq3.Text)
            .AddWithValue("@apps",txtq4.Text)
            .AddWithValue("@feedback",txtq5.Text)
            .AddWithValue("@userid",Utilities.UserID)
            .AddWithValue("@survey",Login.RichTextBox1.Text)
        End With
        Command.Connection.Open()
        id = CInt(Command.ExecuteScalar)
    End Using
    TextBox1.Text = id.ToString
End Sub

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?