错误消息:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行'desc)VALUES('223','hhh')附近使用正确的语法
如果我从查询中删除'desc',那么它的代码正在运行。所以我相信代码/查询没有任何问题。
这就是我设计前端和MySQL的方式
txtTitle是一个单行文本框,txtDesc是一个多行文本框
我将标题设为VARCHAR(45),将desc设为VARCHAR(1000) 这是我的代码:
string connectionString = @"server=max-5.com.my;userid=user; password=123456;database=myDatabase";
MySqlConnection conn = new MySqlConnection(connectionString);
MySqlCommand cmd = conn.CreateCommand();
cmd.Parameters.Add("title", MySqlDbType.VarChar);
cmd.Parameters["title"].Value = this.txtTitle.Text;
cmd.Parameters.Add("desc", MySqlDbType.VarChar);
cmd.Parameters["desc"].Value = Server.HtmlEncode(this.txtDesc.Text);
cmd.CommandText = "INSERT INTO application(title, desc) VALUES(@title, @desc)";
conn.Open();
int numberOfRows = cmd.ExecuteNonQuery();
conn.Close();
Response.Redirect("Page2.aspx");
答案 0 :(得分:4)
您使用desc
作为字段名称,这是一个保留关键字。在查询中使用反引号:
cmd.CommandText = "INSERT INTO application(title, `desc`) VALUES(@title, @desc)";
或者,重命名该字段。