2012-05-27 81 views
0

错误消息:不能找到与MySQL +的错误.net

您的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

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

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

或者,重命名该字段。

+0

thx,从来没有想过desc是一个保留关键字.. – melvintcs