Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как с помощью DataReader слить записи в DataSet ? / 16 сообщений из 16, страница 1 из 1
22.11.2004, 09:21
    #32793311
Чугун
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
OleDB / Ms Jet .

Мне надо прочитать 14000 записей из таблицы отобразить их в гриде. Потом уже делать выборки из DataSet с помощью DataView.
...
Рейтинг: 0 / 0
22.11.2004, 09:25
    #32793314
MEGA_LexX
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
используй датаадаптер к нему подключи датакоманд и дай метод филл
...
Рейтинг: 0 / 0
22.11.2004, 09:39
    #32793341
Чугун
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
Я в курсе , но надо бы через ДатаРидер! Он пошустрей сольет записи. Или нет такой возможности у этого класса?
...
Рейтинг: 0 / 0
22.11.2004, 10:01
    #32793370
YuriWhite
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
нет у него такого метода :( Тока руками :)
...
Рейтинг: 0 / 0
22.11.2004, 10:11
    #32793383
Чугун
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
В смысле создать DataTable , к ней добавить нужное кол-во столбцов и строки добавить с помощью ДатаРидера... А потом таблу добавить к датасету и читать в гриде.

Вот кусок кода , он компилится , но дает ошибку в строке при выполнении

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
public void CreateTable() // создадим вручную таблицу
        {

            Table = new DataTable();

            Table.TableName = "Telefon";

            myColumn = new DataColumn();
            myColumn.DataType = System.Type.GetType("System.String");
            myColumn.ColumnName = "номер";
            Table.Columns.Add(myColumn);

            myColumn = new DataColumn();
            myColumn.DataType = System.Type.GetType("System.String");
            myColumn.ColumnName = "ФИО";
            Table.Columns.Add(myColumn);

            myColumn = new DataColumn();
            myColumn.DataType = System.Type.GetType("System.String");
            myColumn.ColumnName = "улица";
            Table.Columns.Add(myColumn);

            myColumn = new DataColumn();
            myColumn.DataType = System.Type.GetType("System.String");
            myColumn.ColumnName = "дом";
            Table.Columns.Add(myColumn);

            myColumn = new DataColumn();
            myColumn.DataType = System.Type.GetType("System.String");
            myColumn.ColumnName = "корп";
            Table.Columns.Add(myColumn);

            myColumn = new DataColumn();
            myColumn.DataType = System.Type.GetType("System.String");
            myColumn.ColumnName = "кв";
            Table.Columns.Add(myColumn);

        }

        public void StartReader()
        {
            Conn.Open();
            Dr = Cmd.ExecuteReader();

            while (Dr.Read())
            {
                myRow =  Table.NewRow();
                myRow[0] = Dr.GetString(0).ToString();
                myRow[1] = Dr.GetString(1).ToString(); // тут дает ошибку
                myRow[2] = Dr.GetString(2).ToString();
                myRow[3] = Dr.GetString(3).ToString();
                myRow[4] = Dr.GetString(4).ToString();
                myRow[5] = Dr.GetString(5).ToString();

                Table.Rows.Add(myRow);
                

            }



Ошибка -> Index was outside the bounds of the array.

Что не так?
...
Рейтинг: 0 / 0
22.11.2004, 10:19
    #32793398
YuriWhite
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
http://www.codeproject.com/csharp/PracticalGuideDataGrids3.asp
...
Рейтинг: 0 / 0
22.11.2004, 10:41
    #32793445
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
Что в Cmd.CommandText?

У вас стоит преобразование в строку
это может добавить еще и проблему с Null-значениями
...
Рейтинг: 0 / 0
22.11.2004, 10:44
    #32793453
Чугун
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
Что то не выходит...

2 Worobjoff


Вот

Код: plaintext
1.
2.
3.
4.
            Cmd.Connection = Conn;
            Cmd.CommandText = "SELECT * FROM TableTownTel order by Фио";
            Ad.SelectCommand = Cmd;

...
Рейтинг: 0 / 0
22.11.2004, 10:59
    #32793479
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
Может во так

myRow[0] = Dr[0]
...
Рейтинг: 0 / 0
22.11.2004, 11:04
    #32793491
Чугун
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
Так уже пробовал

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
myRow.BeginEdit();

                myRow[0] = Dr[0];
                myRow[1] = Dr[1]; // тут дает ошибку 
                myRow[2] = Dr[2];
                myRow[3] = Dr[3];
                myRow[4] = Dr[4];
                myRow[5] = Dr[5];

                myRow.EndEdit();

                Table.Rows.Add(myRow);


та же ошибка вылазит Index was outside the bounds of the array.

Проверил . В таблице 6 полей.

Почему все таки эта строка ему не нравится myRow[1] = Dr[1]; ???
...
Рейтинг: 0 / 0
22.11.2004, 11:25
    #32793551
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
Проверьте через Query Analyzer (в случае MS SQL), что возвращает ваш запрос. Есть подозрение, что он возвращает всего одну колонку. По этому при обращении к колонке с индексом 1 и выбрасывается исключение.
...
Рейтинг: 0 / 0
22.11.2004, 11:28
    #32793559
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
Может описать SQL полностью. (Cmd.CommandText).
Если что не так ошибка раньше выскочит.
...
Рейтинг: 0 / 0
22.11.2004, 12:05
    #32793663
Чугун
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
Я общаюсь не с эскуэль серваком , а с базой акеса.

Вот кстати что у меня еще

создаю ДатаРидер так

OleDbDataReader Dr;

если это написать

Dr = new OleDbDataReader();

то вот такая ругань

Error 1 The type 'System.Data.OleDb.OleDbDataReader' has no constructors defined

значит конструктор нельзя в ридере использовать по умолчанию?

Проверил текст запроса к базе через команду Cmd. Через Адаптер все проходит на ура, есть возврат 6 полей таблицы.
...
Рейтинг: 0 / 0
22.11.2004, 12:32
    #32793754
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
Ну, хоть в Msgbox этот Dr вывести удается?
Хотя бы пару полей.
...
Рейтинг: 0 / 0
22.11.2004, 13:12
    #32793874
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
Ридер таким способом, насколько я знаю, никто не создает. Обычно делается reader = OleDbCommand.ExecuteReader();
См. примеры в МСДН. Для новичка это будет очень хорошей практикой.

Проверьте заодно, что у вас myRow имеет эти 6 колонок. Не запрос возвращает 6 колонок, а таблица их содержит. (Хотя вы ее явно создаете, но все же.)
...
Рейтинг: 0 / 0
22.11.2004, 14:37
    #32794171
Чугун
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью DataReader слить записи в DataSet ?
Есть , всем спасибо! Получилось...

Ридер действительно шустрый!
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как с помощью DataReader слить записи в DataSet ? / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]