목록 번역
쿼리 내에 포함된 "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})";
이 명령문에서 {0}는 다음 단계에서 생성된 동적 매개변수 목록에 대한 자리 표시자 역할을 합니다.
string[] paramArray = settingList.Select((x, i) => "@settings" + i).ToArray();
여기서 문자열 배열 paramArray는 settingsList를 반복하고 각 값을 "@settings0", "@settings1" 형식의 명명된 매개 변수에 할당하여 파생됩니다. 등
cmd.CommandText = string.Format(sql, string.Join(",", paramArray));
Format 메소드는 명령문 템플릿을 매개변수 목록과 결합하여 매개변수화된 SQL 문을 생성합니다.
for (int i = 0; i < settingList.Count; ++i) { cmd.Parameters.Add(new SqlParameter("@settings" + i, settingList[i])); }
개별 매개변수가 각 값에 해당 매개변수가 있는지 확인하기 위해 settingsList를 반복하는 루프를 사용하는 SqlCommand 개체.
이러한 단계를 수행하면 List
위 내용은 SQL IN 문의 SqlParameter로 목록을 안전하게 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!