#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 может отображать значения таким образом!!