次のようなデータベーステーブルにバインドされたドロップダウンリストのみを持つ非常に単純な .NET アプリケーションがあるとします。
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
LoadDdlDropColor();
}
private void LoadDdlDropColor()
{
string cs = ConfigurationManager.ConnectionStrings["dbcs"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
using (SqlCommand cmd = new SqlCommand("select color from Colors", con))
{
con.Open();
DropDownList1.DataSource = cmd.ExecuteReader();
DropDownList1.DataTextField = "Color";
DropDownList1.DataValueField = "color";
DropDownList1.DataBind();
DropDownList1.Items.Insert(0, new ListItem("select color", "-1"));
}
}
}
}
拡張性とベスト プラクティスの観点から、データ アクセスがDataAccess
クラス外で行われても問題ありませんか? それとも、複数のパラメーター、つまりコントロール、SqlCommand、および必要に応じて SqlParameters を、ページ読み込みイベントで呼び出されるクエリへのパラメーターとして渡す方が専門的でしょうか?