繁体   English   中英

如何在asp.net页面中将数据插入MySQL数据库?

[英]How to insert data to MySQL database in asp.net page?

我正在尝试使用MySQL 5和asp.net 4

我成功地完成了链接并显示了来自MySQL DB的数据,但问题出在DML命令中!

请看看我的代码

Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim MyConnection As String = "server=localhost;User Id=root;password=123;database=cms"

        Dim Connection As New MySqlConnection(MyConnection)

        Connection.Open()

        Dim Sql As String = "INSERT INTO [CMS.tbimages] ( Title,Description) VALUES (parm2,parm3);"
        Dim cmd As New MySqlCommand(Sql, Connection)

        cmd.Parameters.Add(New MySqlParameter("parm2", "hajjaj"))
        cmd.Parameters.Add(New MySqlParameter("parm3", "hajjaj"))

        cmd.ExecuteNonQuery()
        cmd.Connection.Close()
    End Sub
End Class

我所做的是一个简单的页面,用于测试插入命令,单击时添加了一个按钮,它应该执行插入命令!

但是当我单击它给我错误:

#42000您的SQL语法有误; 检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的[[CMS.tbimages](Title,Description)VALUES(parm2,parm3)”附近使用

不是:我尝试了许多其他方法来更改插入语句:

“插入[tbimages]([Title],[Description])值(?,?)中”
“插入[tbimages]([标题],[描述])
值(?标题,?说明)”
插入[tbimages]([标题],[描述])值(标题,描述)

尝试这个:

Dim Sql As String = "INSERT INTO CMS.tbimages ( Title,Description) VALUES (?parm2,?parm3);"
Dim cmd As New MySqlCommand(Sql, Connection)

cmd.Parameters.Add(New MySqlParameter("?parm2", "hajjaj"))
cmd.Parameters.Add(New MySqlParameter("?parm3", "hajjaj"))

另外, 教程可能会有所帮助。

MySQL不使用标识符周围的括号,而是使用反引号:

Dim Sql As String = "INSERT INTO `CMS.tbimages` (Title,Description) VALUES (?,?)"

如果表名没有引起任何冲突,则也不需要将其括在反引号中:

Dim Sql As String = "INSERT INTO CMS.tbimages (Title,Description) VALUES (?,?)"

我不确定您的数据库驱动程序如何处理参数,但我认为应将其命名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM