有沒有一種簡單的方法來獲取從引數化的 CommandText 發送的實際 SQL 查詢?
如果我有
mySQLCommand.CommandText = ("UPDATE dbo.Users SET LimitTime=@limitTime WHERE userID=@userID");
如何將其保存到值為limitTimeand的字串中userID?我需要能夠記錄發送的實際 SQL。
我試圖做一個mySQLCommand.CommandText.toString()但沒有填寫值。
編輯:對不起,這不是 mySQL,它是用于 SQL Server 的。mySQLCommand就是我所說的SqlCommand變數。甚至沒有想到這可能會令人困惑。
uj5u.com熱心網友回復:
我假設 MySQL 類似于 SQL Server。在 SQL Server 中,引數化查詢作為準備好的陳述句發送到 SQL Server。執行命令時,引數和查詢文本將分開處理。任何時候都不會生成完整的 SQL 字串。
試試這個,你可以像這樣自己構造字串
string query = mySQLCommand.CommandText;
foreach (SqlParameter p in cmd.Parameters)
{
query = query.Replace(p.ParameterName, p.Value.ToString());
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/525467.html
標籤:C#sql服务器
上一篇:替換特定的字串值
