Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net页面中向MySQL数据库插入数据?_Asp.net_Mysql_Sql Server_Vb.net - Fatal编程技术网

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

如何在asp.net页面中向MySQL数据库插入数据?,asp.net,mysql,sql-server,vb.net,Asp.net,Mysql,Sql Server,Vb.net,我正在尝试使用MySQL 5和asp.net 4 我成功链接并显示了MySQL数据库中的数据,但问题出在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

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

我成功链接并显示了MySQL数据库中的数据,但问题出在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
我做的是一个简单的页面来测试insert命令,当我点击它时,我添加了一个按钮,它应该执行insert命令

但当我点击它时,它会给我错误:

#42000您的SQL语法有错误;检查手册 对应于您的MySQL服务器 要使用的正确语法的版本 靠近“[CMS.tbimages]( 标题、说明)值 (parm2,parm3)“在第1行

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

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

尝试以下操作:

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"))
此外,本教程可能会有所帮助。

尝试以下方法:

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 (?,?)"

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

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

Dim Sql As String = "INSERT INTO `CMS.tbimages` (Title,Description) VALUES (?,?)"
如果表名没有引起任何冲突,则也不需要将其括在反勾号中:

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

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

请确保使用文章文本上方的函数和下方的预览窗口,以确保文章以您希望的方式显示。:)请确保使用帖子文本上方的功能和下方的预览窗口,以确保帖子以您想要的方式显示。:)哦,是的,就是这样。非常感谢你。我的问题是,哦,是的,就是这样。非常感谢你。我的问题是你是对的!!但在我的应用程序中,我使用了这个,它工作正常:Dim Sql As String=“INSERT INTO CMS.tbimages(Title,Description)value(?parm2,parm3);“感谢您的帮助:)是的,您是对的!!但在我的应用程序中,我使用了这个,它工作正常:Dim Sql As String=“INSERT INTO CMS.tbimages(Title,Description)value(?parm2,parm3);“感谢您的帮助:)