2012-01-27 3 views
1

CommandType = Text 일 때 SqlCommand에서 매개 변수 컬렉션을 가져 오는 방법이 있습니까? 예를 들어SqlCommand (CommandType Text)에서 매개 변수 컬렉션 검색

:

string MyDinamicSql = @"SELECT * FROM USERS where USERName = @Param1 and [email protected]"; 
SqlCommand comand = connection.CreateCommand(); 
comand.CommandText = MyDinamicSql; 
comand.CommandType = System.Data.CommandType.Text; 

//Do something for fill comand.Parameters from MyDinamicSql... 

내가 원하는과 매개 변수 집합을 얻을 수있는 방법 [@ Param1을, @과 Param2] ... 나는 SQL 쿼리를 모른다 (그들이 동적) 내가 원하는 내 응용 프로그램에 대한 매개 변수를 가져 와서 입력 컨트롤로 만들 수 있습니다.

SqlCommandBuilder.DeriveParameters(command)으로 저장 프로 시저에서만 작동하므로이 작업을 수행 할 수 없습니다.

감사합니다.

+0

SQL 문자열은 어떻게 생성됩니까? 코드로 구축되었거나 사용자가 제공하고 있습니까? –

+0

그들은 매개 변수 이름의 저장소에 대한 장소없이 작성되었습니다 ... : -/그들은 사용자로부터 왔으며, 내 응용 프로그램은 쿼리 매개 변수를 알지 못합니다. –

+0

델파이에서 FetchParams (ClientDataSet에 있음)의 엔진이 SQL을 구문 분석하고이 작업을 수행 할 때 뭔가가 발생했습니다. 하지만 C#에서는 그와 같은 것을 찾지 못했습니다. –

답변

2

아니요 - SQL Server가 명령을 구문 분석 할 때까지 단순한 문자열입니다.

+0

처럼 보이는지 의심합니다. SQL Server가 매개 변수 컬렉션을 얻기 위해 명령 텍스트를 구문 분석하도록 강제하는 방법이 있습니까? –

+0

SQL Server에서는 매개 변수를 지정하지 않으면 시도하지 않습니다. – egrunin