ДС вопросом, когда собираюсь привязать вид сетки
Я собираюсь связать gridview в c#
когда дело доходит до этого
if (ds.Tables.Count > 0) { if (ds != null && ds.Tables.Count > 0) ///if (ds.Tables[0].Rows.Count > 0) { gdvNotice.DataSource = ds.Tables[0]; Session["Get_Notice"] = ds.Tables[0]; gdvNotice.DataBind(); } else { gdvNotice.DataSource = null; gdvNotice.DataBind(); } }
Здесь возвращается 1 и
if (ds.Tables.Count > 0)
во вторых если его ложь и выйти из блока
if (ds.Tables[0].Rows.Count > 0)
Что я уже пробовал:
если (ДС.Таблицы.Граф > 0)
{
если (ДС.Таблицы[0].Строк.Граф > 0)
{
гдвнотице.DataSource = ds. Tables[0];
Session ["Get_Notice"] = ds. Tables[0];
гдвнотице.Привязку();
}
ещё
{
гдвнотице.Источник данных = null;
гдвнотице.Привязку();
}
}
ZurdoDev
Если строк нет, то либо ваш sql не работает,либо ваш sql возвращает строки now. Посмотрите, что происходит в sql.
faisal23
привет,
в первом случае если он возвращает 1 и во втором если условие case ложно и выбрасывает блок
ZurdoDev
Я не понимаю, о чем вы спрашиваете.
faisal23
плз, см. мой код в первом случае блок означает
если (ДС.Таблицы.Граф > 0)
он возвращает true означает 1
во вторых если блок означает
если (ДС.Таблицы[0].Строк.Граф > 0)
оно становится ложным и выбрасывается
ZurdoDev
Я уже объяснял. У вас нет никаких строк.
faisal23
6 записей в таблице.
если нет записей, то это ложь в первом условии означает
если (ДС.Таблицы.Граф > 0)
здесь он возвращает 0 но это rtrn 1
ZurdoDev
ДС.Стол.Функция count подсчитывает количество таблиц в dataset. Итак, если он возвращает 1, то у вас есть 1 Таблица.
Чтобы добраться до этого стола, вы используете ds.Таблицы[0]. Индекс 0 - это первая таблица.
Таким образом, ds.Tables[0]Rows = 0 означает, что в вашей таблице нет никаких строк. Итак, как я уже сказал в самый первый раз, когда я ответил, проверьте свой sql, потому что ваш DataTable в C# не имеет никаких строк/записей.
faisal23
теперь понятно, спасибо