0

错误信息:

您的 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");
4

1 回答 1

4

您正在使用desc作为字段名称,这是一个保留关键字。在查询中使用反引号:

cmd.CommandText = "INSERT INTO application(title, `desc`) VALUES(@title, @desc)";

或者,重命名该字段。

于 2012-05-27T09:19:18.727 回答