有什麼辦法如何將SqlCommand對象轉換爲實際的T-SQL命令,它發送到SQL Server?SqlCommand到T-SQL
0
A
回答
0
我不這麼認爲,參數和查詢文本分別發送到SQL Server,並且SQL Server會相應地處理它們。您可以從SqlCommand.CommandText獲取查詢,並且參數存儲在SqlCommand.Parameters集合中。您必須執行一些字符串操作才能將其轉換爲查詢,但即使如此,您還是可以獲得與發送給SQL Server的內容不同的內容。
這個問題有關於這一些有趣的信息,太:How does SqlCommand sanitize parameters?
0
其實我在想是這樣的擴展名(不工作好,只是想法):
public static string ToQuery(this SqlCommand command)
{
StringBuilder sb = new StringBuilder();
sb.Append("exec ");
sb.Append(command.CommandText);
List<string> parameters = new List<string>();
for (int i=0; i<command.Parameters.Count;i++)
{
if (command.Parameters[i].Direction != ParameterDirection.ReturnValue)
{
parameters.Add(string.Format(" {0}={1}", command.Parameters[i].ParameterName, command.Parameters[i].Value));
}
}
if (parameters.Count > 0) sb.Append(string.Join(",", parameters.ToArray()));
return sb.ToString();
}
相關問題
- 1. 用SQLCommand插入到C#中
- 2. TSQL行到列
- 3. TSQL追加到行
- 4. 轉換TSQL到LINQ
- 5. TSQL到LINQ翻譯
- 6. TSQL DateTime到DateKey Int
- 7. Data Adpater vs SQLCommand
- 8. OutOfMemoryException SqlCommand VarChar(Max)
- 9. Sqlcommand去執行
- 10. 改變表SqlCommand
- 11. SqlCommand的asp.net C#
- 12. 返回值SQLCommand
- 13. SqlCommand錯誤
- 14. 的SqlCommand AddWithValue
- 15. SqlDataReader和SqlCommand
- 16. DataReader和SQLCommand
- 17. 的SqlCommand減緩
- 18. SqlCommand CommandTimeout屬性
- 19. SqlCommand VarChar或Int?
- 20. SqlCommand或SqlDataAdapter?
- 21. 無法的SqlParameter添加到SqlCommand的
- 22. SqlConnection和SqlCommand超時
- 23. 異步SQLCommand和CCR
- 24. SqlCommand參數與String.Format
- 25. SQLCommand/SQLConnection vs OleDbCommand/OleDbConnection
- 26. 查找SQLCommand的SQLParameters
- 27. 的SqlCommand與SqlDataAdapter的
- 28. C#SqlCommand Connection.Open()問題
- 29. 的SqlCommand和SqlConnection的
- 30. C#的SqlCommand錯誤
重複數據刪除:HTTP:// stackoverflow.com/questions/2611446/what-sql-is-being-sent-from-a-sqlcommand-object – tzaman 2010-06-03 08:57:51