請教一個問題,下面是我寫的一個防注入的SQL文
Dim updateStatement As String =
"UPDATE table1 set" &
"Name = ? "
"WHERE Name = ?"
Using updateCommand As New OleDbCommand(updateStatement, connect)
updateCommand.Parameters.AddWithValue("@Name1", Name1)
updateCommand.Parameters.AddWithValue("@Name2", Name2)
updateCommand.ExecuteNonQuery()
End Using
這段代碼沒什么問題,已經執行過OK了
我想問一下,DEBUG時,在執行<updateCommand.ExecuteNonQuery()>前,能不能看到被替換好內容的SQL文
比如 NAME1 = "aa" NAME2 = "bb"
也就是我在DEBUG時,想看到的SQL文是 <update table1 set name = "aa" where name = "bb" >這樣的,請問要加什么代碼可以看到呢?
uj5u.com熱心網友回復:
引數化不是拼接sql,那在代碼執行期間就沒有 update table1 set name = "aa" where name = "bb" 這樣的陳述句出現了uj5u.com熱心網友回復:
就一點兒辦法沒有嗎?uj5u.com熱心網友回復:
你是有什么需求?引數化就是代碼層面沒有拼接了,怎么可能有你的sql呢。除錯的話,手工把引數替換也可以除錯吧uj5u.com熱心網友回復:
需求就是想通過DEBUG把改后的SQL文和以前的對比,如果是一樣的就可以了。否則,就要對改后的SQL文進行嚴格的測驗了。作業量太大了。。。
uj5u.com熱心網友回復:
那我看懸了,這拼接sql和引數化就是兩種完全不同的模式。uj5u.com熱心網友回復:
好的,謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/24418.html
標籤:VB.NET
上一篇:C#開發excel表格
下一篇:這段代碼怎么把值傳遞給控制元件!
