我正在研究一种方法来制作我所有的 SQL 查询,然后将它们数据绑定到中继器、数据列表等等......
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");
但是那个剂量现在起作用了,因为当我只使用 Control 时它不知道控制类型。
那么我该怎么做呢?