0
나는 C#에서 해시 테이블에서 동적으로 SQL 문을 어디서 만들길 원한다.SQL Server에서 where 절을 작성하는 방법은 무엇입니까?
hash_table의 키는 삽입 할 열의 이름이고 hash_table의 값은 value가됩니다.
string sql_1="SELECT COL_1,COL_2 FROM MY_TABLE";
string sql_2="SELECT * FROM MY_TABLE WHERE COL_3='ABC'"; //note: some statment have where clause while some do NOT have.
string sql= ToSql(sql_1,myHashTable); // the actual sql statment will be returned from ToSql
//execute sql
sql= ToSql(sql_2,myHashTable); //
//execute sql
내 질문은 어떻게 LINQ에서 ToSql() 함수를 만들 수 있습니까?
참고 : 해시 테이블 값의 데이터 형식이 고려됩니다.
미리 감사드립니다. 물론
제안 해 주셔서 감사합니다. 하지만 매개 변수화 된 쿼리를 사용하는 것은 가능하지 않습니다. 매개 변수의 수가 전달 될 때만 런타임에 알 수 있기 때문에 일부 추가 코드가 필요합니다. 그런데 LINQ에서 Hashtable에 액세스 할 수 있습니까? – Kai
@Kai, 매개 변수가있는 쿼리는 여전히 런타임에서 사용자 지정 쿼리입니다. 매우 귀중한 보안 기술인 매개 변수를 올바르게 벗어나려는 번거 로움을 덜어줍니다. –
@ W.Craig Trader, 나를 고쳐 주셔서 고마워.하지만, 난 이미 이것을 처리 할 수있는 함수를 가지고 있고, 나는 이것에 SQL 문을 전달해야한다. – Kai