Как устранить ошибку не удается найти таблицу 0 в поле со списком привязка с использованием трехуровневой архитектуры
когда я публикую свой метод привязки в событии загрузки формы, он показывает, что не может найти ошибку таблицы 0.
кроме того, когда я связываю одно поле со списком, оно работает, но когда я связываю более одного поля со списком, оно показывает ошибку.
Что я уже пробовал:
Даль часть есть.............
public DataSet prno_combo(SqlCommand cmd) { DataSet ds = new DataSet(); getcon(); cmd.Connection = getcon(); SqlDataAdapter adapt = new SqlDataAdapter(cmd); adapt.Fill(ds, "Purchase"); DataRow dr = ds.Tables[0].NewRow(); dr["Id"] = "Select"; dr["Id"] = "0"; ds.Tables[0].Rows.InsertAt(dr, 0); return ds; } public DataSet store_combo(SqlCommand cmd) { DataSet ds = new DataSet(); getcon(); cmd.Connection = getcon(); SqlDataAdapter adapt = new SqlDataAdapter(cmd); adapt.Fill(ds, "StoreMaster"); DataRow dr = ds.Tables[0].NewRow(); dr["StoreName"] = "Select"; dr["id"] = "0"; ds.Tables[0].Rows.InsertAt(dr, 0); return ds; }
Бл часть есть..............
public DataSet BL_prno_combo(clsPRml mlprobj) { SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "Prc_BindPurchaseMandate"; return dlprobj.prno_combo(cmd); } public DataSet BL_store_combo(clsPRml mlprobj) { SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "Prc_BindStore"; return dlprobj.store_combo(cmd);
Форма изложения части такова......
public void BindPRnoCombo() { cbPRNo.DataSource = blprobj.BL_prno_combo(mlprobj).Tables[0]; cbPRNo.ValueMember = "Id"; cbPRNo.DisplayMember = "Id"; cbPRNo.SelectedIndex = 0; } public void BindStoreCombo() { // ERROR OCCURS HERE cbStore.DataSource = blprobj.BL_store_combo(mlprobj).Tables[0]; cbStore.ValueMember = "Id"; cbStore.DisplayMember = "StoreName"; cbStore.SelectedIndex = 0;
preety sunita
не понимаю вопроса..пожалуйста, дайте более подробную информацию или код относительно него.
SahuA
Я пытаюсь связать поле со списком, используя трехуровневую архитектуру, когда я связываю первое поле со списком, оно работает, но когда я связываю второе поле со списком и помещаю имя метода в событие загрузки, оно показывает " не могу найти таблицу 0."
Andy Lanng
Не могли бы вы показать нам, на какой линии происходит ошибка? Вы часто используете Table[0].
PS: не очень хорошая идея всегда предполагать, что будет таблица[0]. Вы должны справиться со случаем, когда вам не вернут столик.
SahuA
В этой строке возникает ошибка...........
cbStore.Источник данных = blprobj.BL_store_combo(mlprobj).Таблицы[0];
preety sunita
Пожалуйста, попробуйте отладить ваш слой DAL с помощью F11, я думаю, что должна быть проблема, и проверьте, есть ли у ds таблицы или нет в коде представления формы...
Dataset ds = новый набор данных();
ДС =blprobj.BL_store_combo(mlprobj);
если(ДС.таблицы.граф и gt; 0) // здесь проверка граф таблицы.
{
----------Ваш код ----------
}