私は、すべての SQL クエリを作成し、それらをリピーター、DataLists などにデータバインドする方法に取り組んでいます...
protected void sqlQuery(Control controlName, String query) {
SqlConnection conn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["SqlConn"].ToString();
cmd.Connection = conn;
try {
cmd.CommandText = query;
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
controlName.DataSource = dt;
controlName.DataBind();
} catch (Exception error) {
Label1.Text = "Error!<br/>" + error;
}
}
次に、データバインドしたいコントロール名でメソッドを呼び出します。お気に入り:
sqlQuery(Repeater1, "SELECT * FROM someTable");
sqlQuery(DataList1, "SELECT * FROM someTable");
しかし、コントロールを使用するだけではコントロールの種類がわからないため、現在は機能していません。
では、どうすればこれを行うことができますか?