替换参数后是否可以查看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记录,但是我不介意它是在调用该语句之前还是之后。

最佳答案

这似乎是最简单的方法:

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);
    }

关于c# - 添加参数后的SQL语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13218843/

10-11 01:24