[e02]例如:原sql語句
delete from [serviceboard] where charindex(cast([id] as nvarchar),@ids)>0
注:[id]在資料庫中為整型,要匹配字串必須轉換成nvarchar
現在修改為:
delete from [serviceboard]
where charindex(','+cast([id] as nvarchar)+',',','+@ids+',')>0
解釋:
假設資料庫中有乙個id=1,現在傳入的字串為『2,3,11』
如果使用原sql語句會刪除id=1的資料,因為『1』在『2,3,11』字串中能找到
使用新sql語句後,在字段前後加乙個半角逗號,傳入的字串前後也各加乙個半角逗號,所以『,1,』在字串『,2,3,11,』中找不到
問題解決
引數化查詢
一 using system using system.collections.generic using system.linq using system.text using model using system.data.sqlclient using system.data namespac...
Sql Server 的引數化查詢
為什麼要使用引數化查詢呢?引數化查詢寫起來看起來都麻煩,還不如用拼接sql語句來的方便快捷。當然,拼接sql語句執行查詢雖然看起來方便簡潔,其實不然。遠沒有引數化查詢來的安全和快捷。今天剛好了解了一下關於sql server 引數化查詢和拼接sql語句來執行查詢的一點區別。引數化查詢與拼接sql語句...
SqlParameter引數化查詢
2013 06 24 14 30 2999人閱讀收藏 舉報 net架構 18 上篇部落格寫了關於重構 用到的 sqlhelper 類,這個類包括四種函式,根據是否含參和是否有返回值各分兩種。在這裡寫寫傳參過程用到的 sqlparameter。如果我們使用如下拼接 sql字串的方式進行資料庫操作存在指...