我正在为我的软件做一个调查模块,您可以在其中选择输入法作为要在调查中显示的HTML元素。
然后,“我的软件”将获取这些输入元素,并应为每个调查创建一个表,并且name
-属性应为列名。
我想使用参数作为name
-属性,可以在Survey-Creation页面的前端进行编辑。因此,不可能进行“删除”或“删除”查询。
我当前创建代码的状态是:
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.AppendLine(string.Format("CREATE TABLE {0}.{1} (", "surveys", string.Format("survey_{0}", SurveyObject.SurveyHash)));
stringBuilder.AppendLine("id bigint(1) NOT NULL AUTO_INCREMENT,");
for (int i = 0; i < namesAttributes.Count(); i++)
{
string columnKey = string.Format("@Column{0}", i);
sqlParams.Add(columnKey, namesAttributes[i]);
stringBuilder.AppendLine(string.Format("{0} varchar(128) DEFAULT NULL,", columnKey));
}
stringBuilder.AppendLine("PRIMARY KEY(id),");
stringBuilder.AppendLine("UNIQUE KEY `id_UNIQUE` (`id`)");
stringBuilder.AppendLine(") ENGINE = InnoDB DEFAULT CHARSET = utf8;");
string sqlQuery = stringBuilder.ToString().Replace("'", "`");
isCitySurveySaved = sqlClass.Execute(sqlQuery, sqlParams) > 0;
但是出现以下错误:
MySql.Data.MySqlClient.MySqlException: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''TEXTAREA7jciyv3nokqj77b7ysc8qh' varchar(128) DEFAULT NULL, PRIMARY KEY(id), U' at line 3"
哪个说他不喜欢查询中的'
,但是这些是由MySqlData自动创建的。
有人知道如何更改分隔符或大致解决此问题吗?