DataGrid
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



DataGrid Expand / Collapse
Автор
Сообщение
07.07.2006 12:33
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 16.05.2007 12:30
Сообщ.: 71, Visits: 127
При работе с дата грид я всегда забивал коннект в компоненте SQLConnection, запрос тоже вводил в компонент, датасет генерировал вручную!

Подскажите как все это сделать в коде, или попросту покажите пример вывода на DataGrid информации!

Заранее благодарен!
Сообщ. #900281
07.07.2006 12:38


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833, Visits: 16 863

Using cn As New Data.SqlClient.SqlConnection("****")

cn.Open()

Using cmd As Data.SqlClient.SqlCommand = cn.CreateCommand()

cmd.CommandText = "selec * from tbl"

dgMain.DataSource = cmd.ExecuteReader

dgMain.DataBind()

End Using

cn.Close()

End Using

Сообщ. #900282
07.07.2006 13:13
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Поправка к ответу Алексея. Мне кажется гораздо важнее поставить using вокруг SqlDataReader чем вокруг SqlCommand.
Сообщ. #900289
07.07.2006 14:08
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 16.05.2007 12:30
Сообщ.: 71, Visits: 127
Предыдущий пример работает, но я решил сделать загрузку данных с применением SqlDataAdapter вот так

SqlConnection connect = null;
SqlDataAdapter adapter = null;
DataSet dataset = null;

   connect = new SqlConnection(".....");

   string Qtxt = "..... ";

   adapter = new SqlDataAdapter();
   adapter.SelectCommand = new SqlCommand(Qtxt,connect);
   adapter.SelectCommand.Parameters.Add("@id",SqlDbType.Int,4).Value = 1;

   connect.Open();

   dataGrid1.DataSource = adapter.Fill(dataset);
           
   dataGrid1.DataBind();

Exception Details: System.ArgumentNullException: Value cannot be null. Parameter name: dataSet  

и подсвечивает строку dataGrid1.DataSource = adapter.Fill(dataset);

Сообщ. #900296
07.07.2006 14:43


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833, Visits: 16 863
Так ты же параметр только добавляешь, а значение ему не присваиваешь.
Сообщ. #900298
07.07.2006 14:52
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 16.05.2007 12:30
Сообщ.: 71, Visits: 127
Всмысле тогда как сделать!?!?

adapter.Fill(dataset);
   dataGrid1.DataSource = dataset;

   dataGrid1.DataBind();

так!?!?

Сообщ. #900300
07.07.2006 14:54
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
1) Прежде чем заполнять DataSet надо его создать 2) метод Fill возвращает кол-во успешно добавленных строк, поэтому бессмысленно присваивать его результат свойству DataSource.

dataset = new DataSet();
adapter.Fill(dataset);
dataGrid1.DataSource = dataset;
Сообщ. #900301
07.07.2006 15:14


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833, Visits: 16 863
Прошу прощения - из-за прокрутки в области кода увидел только это:

adapter.SelectCommand.Parameters.Add("@id",SqlDbType.Int,4)

А дальше сомтреть не стал. Полностью согласен с bazile. Еще раз сорри за невнимательность.

Сообщ. #900303
07.07.2006 16:09