是否可以在替换参数后看到sql语句?
using(SqlCommand cmdInsert = new SqlCommand("INSERT INTO Table(Value_fkey) VALUES(@ValueKey)", Database.Connection))
{
cmdInsert.Parameters.AddWithValue("@ValueKey", ValueKey);
System.Convert.ToInt32(cmdInsert.ExecuteScalar());
}
我希望它能记录我的sql语句,而不是通过SQL Server,但我不介意它是在之前,还是在调用语句之后。
答案 0 :(得分:2)
这似乎是最简单的方法:
public void OutputSQLToTextFile(SqlCommand sqlCommand)
{
string query = sqlCommand.CommandText;
foreach (SqlParameter p in sqlCommand.Parameters)
{
query = query.Replace(p.ParameterName, p.Value.ToString());
}
OutputToTextFile(query);
}