3

パラメータを置き換えた後、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経由ではなく、ステートメントを呼び出す前か後かは気にしません。

4

1 に答える 1

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);
    }
于 2012-11-04T23:54:02.267 に答える