C#无法弄清楚我的MySql命令字符串有什么问题(语法错误)

时间:2016-02-01 16:19:28

标签: c# mysql exception syntax-error

我正在使用MySql.Data库来访问我的MySql数据库,并且在我的一个表中输入一行时遇到了一些困难。有人可以检查我在这里提供的内容并指出错误吗?

以下是我的MySql数据库中的列名:

ID
Full Name
Date of Birth
City
State/Province/Region
Zip Code
Country
Phone Number
Email Address
Ticket Number
Registration Time

这是我的命令字符串(当我使用string.Format将函数中的参数用作值时,它变得完整):

string commandString = "INSERT INTO Participants (ID,Full_Name,Date_of_Birth,City,State/Province/Region,Zip_Code,Country,Phone_Number,Email_Address,Ticket_Number,Registration_Time) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}');";

以下是异常消息:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   近   ''州/省/地区',ZIP_CODE,国家,PHONE_NUMBER,EMAIL_ADDRESS,Ticket_Numbe'   在第1行

提前致谢!

1 个答案:

答案 0 :(得分:0)

尝试通过将State/Province/Region列放在后面的刻度(`)中来转义它。有关详细信息,请参阅here

此外,您尝试存储格式化的字符串而不调用String.Format

尝试这样的事情:

string commandString = String.Format("INSERT INTO Participants (ID,Full_Name,Date_of_Birth,City,`State/Province/Region`,Zip_Code,Country,Phone_Number,Email_Address,Ticket_Number,Registration_Time) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}');",
                                     value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10);

只需将value0value1等变量替换为您的值。