私がやろうとしているのは、パラメーターを使用して任意のsqlコマンドを作成し、パラメーターの値とタイプを設定してから、パラメーターを含めて解析済みのsqlコマンドを返すことです。SQLデータベースに対してこのコマンドを直接実行することはないので、接続は必要ありません。したがって、以下のサンプルプログラムを実行した場合、次のテキスト(または同様のもの)が表示されることを期待します。
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();
}
}
}
これは、.net標準ライブラリを使用して達成できるものですか?最初の検索では「いいえ」と表示されますが、私は間違っていると思います。