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

Мне надо прочитать 14000 записей из таблицы отобразить их в гриде. Потом уже делать выборки из DataSet с помощью DataView.
...
Рейтинг: 0 / 0
Как с помощью DataReader слить записи в DataSet ?
    #32793314
MEGA_LexX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
используй датаадаптер к нему подключи датакоманд и дай метод филл
...
Рейтинг: 0 / 0
Как с помощью DataReader слить записи в DataSet ?
    #32793341
Чугун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я в курсе , но надо бы через ДатаРидер! Он пошустрей сольет записи. Или нет такой возможности у этого класса?
...
Рейтинг: 0 / 0
Как с помощью DataReader слить записи в DataSet ?
    #32793370
Фотография YuriWhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет у него такого метода :( Тока руками :)
...
Рейтинг: 0 / 0
Как с помощью DataReader слить записи в DataSet ?
    #32793383
Чугун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В смысле создать 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
Как с помощью DataReader слить записи в DataSet ?
    #32793398
Фотография YuriWhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.codeproject.com/csharp/PracticalGuideDataGrids3.asp
...
Рейтинг: 0 / 0
Как с помощью DataReader слить записи в DataSet ?
    #32793445
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что в Cmd.CommandText?

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

2 Worobjoff


Вот

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

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

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

Код: 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
Как с помощью DataReader слить записи в DataSet ?
    #32793551
Bigheadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверьте через Query Analyzer (в случае MS SQL), что возвращает ваш запрос. Есть подозрение, что он возвращает всего одну колонку. По этому при обращении к колонке с индексом 1 и выбрасывается исключение.
...
Рейтинг: 0 / 0
Как с помощью DataReader слить записи в DataSet ?
    #32793559
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может описать SQL полностью. (Cmd.CommandText).
Если что не так ошибка раньше выскочит.
...
Рейтинг: 0 / 0
Как с помощью DataReader слить записи в DataSet ?
    #32793663
Чугун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я общаюсь не с эскуэль серваком , а с базой акеса.

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

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

OleDbDataReader Dr;

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

Dr = new OleDbDataReader();

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

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

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

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

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

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


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