Форум программистов, компьютерный форум, киберфорум
Visual C++: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 24

Неоднократной подключение к базе данных sql в одном обработчике

28.05.2013, 16:37. Показов 1398. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня. У меня такая проблема. Есть база данных sql в ней несколько столбцов. Я подключаюсь к ней считываю информацию из одного столбика в массив, далее сортирую этот массив по возрастанию с помощью сортировки Шелла. После этого мне необходимо подключится к базе снова для того чтобы считывать информацию проверять условие и если оно верное то вывести инфу в listView1. Проблема в том что когда я уже закрыл поток connection->Close() я не могу его заново открыть connection->Open() выдаёт ошибку:

Необработанное исключение типа "System.InvalidOperationException" произошло в System.Data.SqlServerCe.dll

Дополнительные сведения: Неудачная попытка выполнить Read при закрытом процессе чтения.


C++
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
SqlCeEngine^ engine =
                    gcnew SqlCeEngine("Data Source='schedule.sdf';");
                SqlCeConnection^ connection =
                    gcnew SqlCeConnection (engine->LocalConnectionString);
                connection->Open();
                SqlCeCommand^ command = connection->CreateCommand();
                command->CommandText = "SELECT * FROM schedule ORDER BY SOD";
                SqlCeDataReader^ dataReader = command->ExecuteReader();
                String^ st;
                int mas[500];
                int counter=0;
                while (dataReader->Read())
                {
                    st = dataReader->GetValue(1)->ToString();
                    int per = Convert::ToInt32(st);
                    mas[counter]=per;
                    counter++;
                }
                connection->Close();
                int step = counter / 2;
                while (step > 0)//пока шаг не 0
                {
                    for (int i = 0; i < (counter - step); i++)
                    {
                        int j = i;
//будем идти начиная с i-го элемента
                        while (j >= 0 && mas[j] > mas[j + step])
//пока не пришли к началу массива
//и пока рассматриваемый элемент больше
//чем элемент находящийся на расстоянии шага
                        {
//меняем их местами
                            int temp = mas[j];
                            mas[j] = mas[j + step];
                            mas[j + step] = temp;
                            j--; 
                        }
                    }
                    step = step / 2;//уменьшаем шаг
                }
                int j=0;
                int itemIndex=0;
                connection->Open();
                for( int a=0;a<counter ;a++ )
                {
                    while (dataReader->Read())
                    {
                            st = dataReader->GetValue(1)->ToString();
                            int per = Convert::ToInt32(st);
                            if (per==mas[j])
                            {
                                listView1->Items->Clear();
                                for(int i=0; i<dataReader->FieldCount; i++)
                                {
                                    st = dataReader->GetValue(i)->ToString();
                                    switch (i)
                                    {
                                        case 0:
                                            listView1->Items->Add(st);
                                            break;
                                        case 1:
                                            listView1->Items[itemIndex]->SubItems->Add(st);
                                            break;
                                        case 2:
                                            listView1->Items[itemIndex]->SubItems->Add(st);
                                            break;
                                        case 3:
                                            listView1->Items[itemIndex]->SubItems->Add(st);
                                            break;
                                        case 4:
                                            listView1->Items[itemIndex]->SubItems->Add(st);
                                            break;
                                        case 5:
                                            listView1->Items[itemIndex]->SubItems->Add(st);
                                            break;
                                        case 6:
                                            listView1->Items[itemIndex]->SubItems->Add(st);
                                            break;
                                        case 7:
                                            listView1->Items[itemIndex]->SubItems->Add(st);
                                            break;
                                        case 8:
                                            listView1->Items[itemIndex]->SubItems->Add(st);
                                            break;
                                        case 9:
                                            listView1->Items[itemIndex]->SubItems->Add(st);
                                            break;
                                        case 10:
                                            listView1->Items[itemIndex]->SubItems->Add(st);
                                            break;
                                        };
                                }
                            }
                    }
 
                }
                connection->Close();
            }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.05.2013, 16:37
Ответы с готовыми решениями:

Подключение к базе данных FireBird
Приветствую! Сложилась следующая ситуация:) Предыдущие клиенты БД писал на Java, и так сложилось, что подключался к FireBird - все было...

Подключение к Базе Данных MS SQL
Всем привет! Нужно подключиться к серверу MS SQL. Опытные программисты, подскажите, каким образом или какими инструментами...

Подключение к базе данных MS SQL
Всем доброго времени суток! Есть задача: брать данные из java-приложения, записывать их в базу MS SQL и, при необходимости, извлекать...

1
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 24
31.05.2013, 11:24  [ТС]
Проблему решил сам
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.05.2013, 11:24
Помогаю со студенческими работами здесь

Подключение к SQL базе данных через SQlAlchemy
Добрый день всем. На 4 день работы поставили задачу - подключиться к серверу с SQL-базой данных через SQLAlchemy, вытянуть оттуда...

Подключение java к базе данных sql 2008 r2
Всем доброго времени суток.Нужна помощь в подключении java с sql , через интернет ,как это сделать и настроить . Если можно подскажите...

Подключение к базе данных (локальному созданному файлу sql)
Всем привет! Помогите! К примеру на phpmyadmin я создал таблицу users,потом скачал её в sql формате. Вопрос. как через php приконектиться...

Программное подключение элемента управления данными Adodc к базе данных SQL Server
Привет всем! Подскажите пожалуйста, как правильно реализовать подключение элемента управления данными Adodc1 к базе данных SQL Server....

Подключение к sql и Excel на одном листе
Добрый день, пожалуйста-пожалуйста, помогите! Голова уже кипит, а результат требуют! в один запрос на листе нужно &quot;запихнуть&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru