Я запрашиваю SQL базу данных сервера и заполняю данные. Но даже когда my sql не возвращает значений, счетчик строк с данными может быть равен одному. Вот мой код:
strSQL = "My sql string"
cmd.CommandText = strSQL;
cmd.Parameters.AddWithValue("@wsNo", wsNo);
cmd.Parameters.AddWithValue("@reachNo", reachNo);
using (DataTable dt = new DataTable())
{
dt.Load(cmd.ExecuteReader());
MyTextbox.Text = dt.Rows.Count.ToString();
myGridview.DataSource = dt;
myGridview.DataBind();
}
Вид сетки отображает данные правильно и не отображается вообще, если sql не возвращает записей. Но я хочу отобразить количество записей в текстовом поле, и это всегда 1, когда нет записей. В нескольких местах, которые я проверил, подразумевается, что ExecuteReader может быть неподходящим инструментом для этой работы, но если это так, мне не ясно, каким я должен быть. Адаптер данных, и, кажется, работает сейчас. Я не понимаю, почему, не должно иметь никакого значения, но я думаю, переписывание кода исправило то, что я делал неправильно. Никаких дополнительных комментариев не требуется. Спасибо людям, которые ответили.