ADO.NET を使用してストア プロシージャを実行しています。ストア プロシージャに複数の select ステートメントがあります。DataSet にアクセスすると、テーブルには Table1、Table2 などの名前が付けられます。これらの各テーブルにユーザー フレンド名を付けたいと思います。SQL クエリでテーブル変数または一時テーブルを使用したくありません。他の選択肢はありますか?
次のコードを使用してデータセットを取得しています
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
try
{
con.ConnectionString = ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
con.Open();
cmd = new SqlCommand("sp_GetData", con);
cmd.Parameters.Add(new SqlParameter("@ParamOne", param));
cmd.CommandType = CommandType.StoredProcedure;
da.SelectCommand = cmd;
da.Fill(ds);
}
これもやりたくない
da.TableMappings.Add("Table", "MyTable1");
da.TableMappings.Add("Table1", "MyTable2");
da.TableMappings.Add("Table2", "MyTable3");
またはこれ
ds.Tables[0].TableName = "NametbA";
ds.Tables[1].TableName = "NametbB";
できれば、SQL クエリで名前を指定したいと思います。このアプローチを使用する理由は、このデータセットをテーブル名をファイルに書き込む関数に渡すためです。
あなたの提案を提供してください。
ありがとうございました