【发布时间】:2014-11-17 09:56:56
【问题描述】:
以下代码:
string query = "INSERT INTO `@tableName` (@tableKeys) VALUES(@tableValues)";
MySqlCommand sql = new MySqlCommand(query);
sql.Connection = connection;
sql.Parameters.Add(new MySqlParameter("@tableName", values[0]));
sql.Parameters.Add(new MySqlParameter("@tableKeys", values[1]));
sql.Parameters.Add(new MySqlParameter("@tableValues", values[2]));
sql.ExecuteNonQuery();
返回错误:
MySql.Data.dll 中出现“MySql.Data.MySqlClient.MySqlException”类型的未处理异常
附加信息:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ''porto,date') VALUES('232,17-11-2014 10:48:11')' 附近使用正确的语法
我使用这个调用代码:
string[] values = {"logs","porto,date",num+","+date};
bool dbopen = dbManager.OpenConnection();
if(dbopen){
dbManager.Insert(values);
}
谁能告诉我我做错了什么?
【问题讨论】:
-
您不能将表名作为参数。
-
那么我怎样才能实现我在这里尝试做的事情呢?
-
Sql - tablename as variable 的可能重复项
-
INSERT INTO 'log' (porto, date) VALUES (@num, @date)并为@num 和@date 添加2个参数。