最初にデータベースに接続し、すべてのストアド プロシージャ、入力、および関連するデータ型のリストを含む dt を取得するアプリケーションを作成しています。次に、ユーザーはコンボボックスから SProc を選択し、必要な入力を入力する必要があります。その後、アプリはデータベースに接続し、選択した SProc をユーザー指定の入力で実行し、結果をデータテーブルに返します。
私が確信していないのは、SProc ごとに特定のメソッドを記述する必要があるかどうかです。それ以外の場合、パラメーターが何であるかをどのように述べることができるかがわからないので、そう仮定しています。
これを最初に明確にしなかったことをお詫びします。これでも十分に明確でない場合はお知らせください。
例を以下に示します(これは他の誰かのコードです)
public static GetDaysDTO GetDays(int offset)
{
GetDaysDTO ret = new GetDaysDTO { TODAY = DateTime.Now, TOMORROW = new DateTime(2012, 01, 01) };
SqlConnection con = new System.Data.SqlClient.SqlConnection(@"Server = FrazMan-pc\Programming; Database = master; Trusted_Connection = True");
SqlCommand cmd = new System.Data.SqlClient.SqlCommand
{
CommandText = "GetDays",
CommandType = System.Data.CommandType.StoredProcedure,
CommandTimeout = 1,
Connection = con,
Parameters = { new System.Data.SqlClient.SqlParameter("@offset", System.Data.SqlDbType.Int) { Value = offset } }
};
using (con)
{
con.Open();
using (System.Data.SqlClient.SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
ret.TODAY = DateTime.Parse(reader[0].ToString());
ret.TOMORROW = DateTime.Parse(reader["TOMORROW"].ToString());
}
}
}
return ret;
}