Вы можете поместить все операторы выбора в одну хранимую процедуру, что означает, что вы попадете в базу данных только один раз и загрузите результат в DataSet
, используя SqlAdapter.Fill(MyDataSet)
, и передадите каждую таблицу в вашем наборе данных соответствующему пользовательскому элементу управления с помощьюсоздание публичной собственности с DataTable
типом
public class UserControl_1
{
private DataTable _dbTable;
public DataTable dbTable;
{
get
{
return _dbTable;
}
set
{
_dbTable = value
}
}
}
на вашей странице
Private DataSet myDataSet;
public void Page_Load(Object sender,EventArgs e)
{
myDataSet = PopulateData(); // call your stored procedure inside it
UserControl_1.dbTable = myDataSet.Tables[0];
UserControl_2.dbTable = myDataSet.Tables[1];
//... and so on
}
Я хотел бы дать вам хорошую идею