我正在使用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行
提前致谢!
答案 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);
只需将value0
,value1
等变量替换为您的值。