我正在嘗試在一個陳述句中洗掉多條記錄,我使用以下 Sql:
DELETE FROM `tblregs2` WHERE `RegdID` IN (@RegdID)
我在執行代碼期間收集引數值并將值保存在字串變數中。
但我得到的結果是:“1,2,3,4”所以 SQL 陳述句將是:
DELETE FROM `tblregs2` WHERE `RegdID` IN ("1,2,3,4")
但是“in”不接受雙引號,所以我需要像 1,2,3,4 一樣使用它
DELETE FROM `tblregs2` WHERE `RegdID` IN (1,2,3,4)
如何得到這樣的結果?
順便說一下,代碼正在使用“FIND_IN_SET”,但我正在使用兩種資料庫型別(MySQL SQLite),所以“In”可以與它們一起使用。
uj5u.com熱心網友回復:
我不敢相信我在說這個但不要使用引數。如果您正在為您的字串決議每個數字,您應該避免 Sql 注入。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim s = "1,2,3,4"
Dim strSQL = $"DELETE FROM `tblregs2` WHERE `RegdID` IN ({s})"
MessageBox.Show(strSQL)
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/311424.html
下一篇:SqliteCommand.ExecuteScalar()回傳null(C#5.0和System.Data.Sqlite)
