MSSQL的IN引數化查詢

2021-05-08 08:25:53 字數 610 閱讀 6125

[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字串的方式進行資料庫操作存在指...