如何在asp.net页面中向MySQL数据库插入数据?
我正在尝试使用MySQL 5和asp.net 4 我成功链接并显示了MySQL数据库中的数据,但问题出在DML命令中 请看一下我的代码如何在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
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);“感谢您的帮助:)