내가하려고하는 것은 매개 변수가있는 임의의 SQL 명령을 작성하고 매개 변수의 값과 유형을 설정 한 다음 매개 변수가 포함 된 구문 분석 된 sql 명령을 리턴하는 것입니다. SQL 데이터베이스에 대해이 명령을 직접 실행하지 않으므로 연결이 필요하지 않습니다. 내가 예제 프로그램 아래 실행한다면, 나는 다음과 같은 텍스트 (또는 비슷한) 볼 수 있도록 노력하겠습니다 것 :SqlParameters를 사용하여 SqlCommand의 구문 분석 된 텍스트를 가져올 수 있습니까?
WITH SomeTable (SomeColumn)
AS
(
SELECT N':)'
UNION ALL
SELECT N'>:o'
UNION ALL
SELECT N'^_^'
)
SELECT SomeColumn FROM SomeTable
그리고 샘플 프로그램은 다음과 같습니다
using System;
using System.Data;
using System.Data.SqlClient;
namespace DryEraseConsole
{
class Program
{
static void Main(string[] args)
{
const string COMMAND_TEXT = @"
WITH SomeTable (SomeColumn)
AS
(
SELECT N':)'
UNION ALL
SELECT N'>:o'
UNION ALL
SELECT @Value
)
SELECT SomeColumn FROM SomeTable
";
SqlCommand cmd = new SqlCommand(COMMAND_TEXT);
cmd.CommandText = COMMAND_TEXT;
cmd.Parameters.Add(new SqlParameter
{
ParameterName = "@Value",
Size = 128,
SqlDbType = SqlDbType.NVarChar,
Value = "^_^"
});
Console.WriteLine(cmd.CommandText);
Console.ReadKey();
}
}
}
사용 달성이 뭔가 닷넷 표준 라이브러리? 처음으로 검색하는 것은 '아니요'라고 말하지만 잘못된 것입니다.
감사합니다. 이것은 정확히 내가 듣고 싶었던 것입니다. sp_executesql이 배후에서 호출되는 것을 알고 있으면 모든 것을 설명합니다. – Burg