невозможно отобразить данные sql внутри gridview

#c# #.net #sql #ado.net

#c# #.net #sql #ado.net

Вопрос:

Я пытаюсь выполнить следующее, чтобы отобразить данные таблицы sql внутри gridview

 try
    {
        SqlConnection xconn = new SqlConnection();
        xconn.ConnectionString = @"Data Source=servername;Integrated Security=True;Initial Catalog=master";
        xconn.Open();

        string s = "select * from tablename";
        SqlCommand ycmd = new SqlCommand(s,xconn);
        SqlDataReader dr = ycmd.ExecuteReader();

        gridview.DataSource = dr;
        gridview.DataBind();
    }
    catch (Exception)
    {
        lblresult.Text = "Cannot connect to SQL";
    }
  

Я продолжаю получать исключение. Что я делаю не так?

Комментарии:

1. Какое исключение вы получаете?

2. Я думаю, вы не можете привязать datareader к сетке.

3. Какая строка вызывает исключение и что это за исключение?

4. @Brettski — вы можете привязаться к DataReader(). На этой странице есть пример (похожий на этот код): support.microsoft.com/kb/307860 Найдите ExecuteReader() — это примерно на полпути вниз.

5. Я вижу [Начальный каталог = master] в вашей строке подключения. Находится ли ваша таблица в системной базе данных [master]? Просто подтверждаю. При трассировке генерируется ли исключение в строке. Открыть () или ниже?

Ответ №1:

измените раздел Catch на

 catch (Exception ex)
{
    lblresult.Text = ex.Message amp;"n" amp; ex.StackTrace;
}
  

Теперь вы получите действительное описание исключения. используйте это, чтобы исправить это самостоятельно … 🙂

Если нет, опубликуйте подробную информацию об исключении из lblresult.Text вашего сообщения.

Ответ №2:

Вы должны заполнить результат запроса переменной, которую вы можете использовать в качестве itemsource.

 GridView.ItemsSource = ContainerClass.AllItems;
  

ContainerClass является справочным классом и содержит переменную IEnumerable AllItems. Gridview может отображать значения таким образом!!