為什么我們總是喜歡在SQL語句中使用參數(shù)?我很擅長使用數(shù)據(jù)庫?,F(xiàn)在我可以寫SELECT,UPDATE,DELETE,和INSERT命令。但我看過很多我們喜歡寫的論壇:SELECT empSalary from employee where salary = @salary...代替:SELECT empSalary from employee where salary = txtSalary.Text為什么我們總是喜歡使用參數(shù)以及如何使用它們?我想知道第一種方法的用途和好處。我甚至聽說過SQL注入,但我并不完全理解它。我甚至不知道SQL注入是否與我的問題有關(guān)。
4 回答

哆啦的時(shí)光機(jī)
TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
除了其他答案之外,需要添加該參數(shù)不僅有助于防止sql注入,還可以提高查詢性能。Sql server緩存參數(shù)化查詢計(jì)劃并在重復(fù)查詢執(zhí)行時(shí)重用它們。如果您沒有參數(shù)化您的查詢,那么如果查詢文本不同,sql server將在每個(gè)查詢(有一些排除)執(zhí)行時(shí)編譯新計(jì)劃。

倚天杖
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
在Sql中,當(dāng)任何單詞包含@符號時(shí),表示它是變量,我們使用此變量在其中設(shè)置值并在同一個(gè)sql腳本的數(shù)字區(qū)域上使用它,因?yàn)樗幌抻趩蝹€(gè)腳本,而您可以聲明許多變量許多腳本上的相同類型和名稱。我們在存儲過程批次中使用此變量,因?yàn)榇鎯^程是預(yù)編譯的查詢,我們可以從腳本,桌面和網(wǎng)站傳遞這些變量中的值以獲取更多信息讀取聲明局部變量,Sql存儲過程和sql注入。
另請閱讀保護(hù)sql注入它將指導(dǎo)如何保護(hù)您的數(shù)據(jù)庫。
希望它也能幫助你理解任何問題評論我。
添加回答
舉報(bào)
0/150
提交
取消