翻譯清單
包含在查詢中的「IN」語句指定特定列必須在提供的值列表中具有匹配的值。當使用 SqlCommand 物件處理 SQL IN 語句時,可能會出現關於 List
在提供的程式碼片段中:
cmd.CommandText = "Select dscr from system_settings where setting in @settings"; cmd.Connection = conn; cmd.Parameters.Add(new SqlParameter("@settings", settingsList)); reader = cmd.ExecuteReader();
參數settingsList代表一個List
要使用SqlCommands 安全地執行IN 查詢,請考慮採用以下方法:
string sql = "SELECT dscr FROM system_settings WHERE setting IN ({0})";
string[] paramArray = settingList.Select((x, i) => "@settings" + i).ToArray();
cmd.CommandText = string.Format(sql, string.Join(",", paramArray));
for (int i = 0; i < settingList.Count; ++i) { cmd.Parameters.Add(new SqlParameter("@settings" + i, settingList[i])); }
以上是如何安全地使用列表作為 SQL IN 語句的 Sql 參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!