Если есть простой способ вернуть законченный оператор SQL после замены параметра? Т.е. я хочу сохранить лог-файл всех SQL, которые запускает эта программа.
Или, если я хочу сделать это, я просто хочу избавиться от параметров и выполнить весь запрос по-старому, в одной большой строке?
Простой пример: я хочу захватить вывод:
ВЫБЕРИТЕ подкатегорию ОТ EnrollmentSubCategory ГДЕ catid = 1
.. из этого кода:
Dim subCatSQL As String = "SELECT subcatId FROM EnrollmentSubCategory WHERE catid = @catId"
Dim connectionString As String = "X"
Dim conn As New SqlConnection(connectionString)
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
Dim cmd As New SqlCommand(subCatSQL, conn)
With cmd
.Parameters.Add(New SqlParameter("@catId", SqlDbType.Int, 1))
End With
Console.WriteLine("Before: " + cmd.CommandText)
cmd.Prepare()
Console.WriteLine("After: " + cmd.CommandText)
Я предполагал, что Prepare () выполнит замены, но, очевидно, нет.
Мысли? Совет? Заранее спасибо.