【发布时间】:2019-10-05 11:00:32
【问题描述】:
我有一个Log 方法:
public void Log(string log)
{
command = new SqlCommand() { Connection = connection };
command.CommandText = "INSERT INTO Logs (Date, Login, Transact) " +
$"VALUES ('{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}', '{Login}', '{log}')";
connection.Open();
command.ExecuteNonQuery();
connection.Close();
}
在日志字符串中我有这样的值:
"INSERT '/*something*/'"
或
"UPDATE: '/*smth*/' => '/*smth*/'"
但它不起作用 - 我收到一个错误:
语法错误
我该怎么做?
【问题讨论】:
-
不要直接在你的 sql 字符串中连接你的值:
log值的单引号会弄乱查询。您应该使用SqlParameter来分配您的参数
标签: c# sql sql-server ado.net sqlcommand