mysql - 在 ASP.net (vb.net) 中使用参数将数据插入 MySqlDatabase 时出现问题

标签 mysql asp.net vb.net parameters

当我尝试将数据插入数据库(mysql)时遇到一些问题。我的连接似乎不起作用,但我对此表示怀疑,因为我可以从中检索数据,但插入时却没有运气。 我也尝试了各种方法,但仍然找不到解决方案,也找不到错误原因。

有人可以帮我吗?非常感谢您的关心!

这是我的 Registration.aspx 页面

Imports MySql.Data.MySqlClient
Imports System.Web.Security
Imports System.Security.Cryptography
Imports System.Web.Configuration
Imports System.Configuration
Partial Class Register
    Inherits System.Web.UI.Page
    Dim ctc As New Class1
    Dim conn As MySqlConnection
    Dim connstr As String = ConfigurationManager.ConnectionStrings("dbconn").ConnectionString
    Dim cmd As MySqlCommand
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Try
            conn = New MySqlConnection(connstr)
            conn.Open()

            cmd = New MySqlCommand("INSERT INTO tbl_uinfo (user_id, fname, lname, email, pword, paypal) values (null,@fname,@lname,@email,@pword,@paypal)")
            cmd.Parameters.Add("@fname", MySqlDbType.VarChar, 45).Value = firstname.Text
            cmd.Parameters.Add("@lname", MySqlDbType.VarChar, 45).Value = lastname.Text
            cmd.Parameters.Add("@email", MySqlDbType.VarChar, 45).Value = email.Text
            cmd.Parameters.Add("@pword", MySqlDbType.VarChar, 250).Value = password2.Text
            cmd.Parameters.Add("@paypal", MySqlDbType.VarChar, 45).Value = paypal.Text

            cmd.ExecuteNonQuery()



            conn.Dispose()
            conn.Close()
            cmd.Dispose()
        Catch ex As Exception
            MsgBox("Registration failed." & ex.Message)
        End Try

    End Sub
End Class
<小时/>

这是我的 ConnectionString (web.config)

<connectionStrings>
        <add name="dbconn" connectionString="server=localhost;database=db_aspweb;user id=root; pwd=root"/>
    </connectionStrings>
<小时/>

我的数据库

CREATE TABLE `tbl_uinfo` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `fname` varchar(45) DEFAULT NULL,
  `lname` varchar(45) DEFAULT NULL,
  `email` varchar(45) DEFAULT NULL,
  `pword` varchar(250) DEFAULT NULL,
  `paypal` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`user_id`),
  UNIQUE KEY `email` (`email`),
  UNIQUE KEY `paypal` (`paypal`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
<小时/>

到目前为止我遇到的错误

“注册失败。连接必须有效且打开。”

最佳答案

通过构造函数或属性将连接 (connstr) 传递给命令对象 (cmd)。

关于mysql - 在 ASP.net (vb.net) 中使用参数将数据插入 MySqlDatabase 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25913386/

相关文章:

c# - 构建版本与修订号

c# - 我可以在没有管理员权限的情况下保存到哪个存储库?

html - 如何在确认弹出按钮中禁用 ng-click 事件

javascript - VB.net Google Map从数据库检索数据信息

c# - 用户在 GridView.DataBind 调用期间单击会导致 ArgumentException

c++ - VB.NET 无法加载 DLL 找不到指定的模块。当dll导入时

mysql - 如何更新日期时间MySQL中的空时间

带有来自另一个表的列值的 MYSQL IN 语句

php - Mysql 查询执行时间过长

mysql - 将 MySQL 数据库时区设置为 GMT