[英]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.