Форум программистов, компьютерный форум, киберфорум
Visual C++: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/103: Рейтинг темы: голосов - 103, средняя оценка - 4.77
2 / 2 / 4
Регистрация: 20.10.2015
Сообщений: 20

Postgres odbc - отображение данных на форме

26.03.2022, 22:11. Показов 26320. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Пытаюсь создать максимально простое приложение для работы с БД postgres.
Успешно подключился к БД. Создал набор данных CRecordSet с результатом работы запроса. Но не понимаю как мне прикрутить это к элементу формы DataGridView(или аналогу).
C++
1
2
3
4
5
6
7
8
9
CDatabase* cdbMyDB = new CDatabase;
LPCTSTR connString;
connString = _T("Dsn=postgres;database=db1;server=localhost;port=5432;uid=postgres;sslmode=disable;readonly=0;protocol=7.4;fakeoidindex=0;showoidcolumn=0;rowversioning=0;showsystemtables=0;fetch=100;unknownsizes=0;maxvarcharsize=255;maxlongvarcharsize=8190;debug=0;commlog=0;usedeclarefetch=0;textaslongvarchar=1;unknownsaslongvarchar=0;boolsaschar=1;parse=0;lfconversion=1;updatablecursors=1;trueisminus1=0;bi=0;byteaaslongvarbinary=1;useserversideprepare=1;lowercaseidentifier=0;d6=-101;optionalerrors=0;xaopt=1");
cdbMyDB->Open(NULL, FALSE, FALSE, connString);  
CRecordset recset(cdbMyDB);
LPCTSTR SqlString = _T("select * from staff");
recset.Open(CRecordset::forwardOnly, SqlString, CRecordset::readOnly);
DataSet st;
DataTable^ dt;
Я так понимаю, что DateViewGrid.Datasource работает с DataTable. А DataTable не совместим с CRecordSet.
Подскажите как я могу отобразить свою таблицу на форме ?
Можно без конкретных примеров. Хотя бы понять какие инструменты для этого нужны.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.03.2022, 22:11
Ответы с готовыми решениями:

Postgres + ODBC + ADO
Всем привет. Никак не могу разобраться с подключением вот этой вот тройки, перечитал кучу информации и все равно не получается( ...

Ls+odbc в postgres - один и тот же запрос выдает разные данные
Добрый день, коллеги! Есть некий скрипт, работает уже дцать лет, а тут внезапно стал работать нестабильно - на один и тот же SQL запрос...

База данных ветклиника, отображение выбранных данных в другой форме!
Здравствуйте, помогите пож-ста. Есть база данных, мне нужно организовать в главной форме Карта Животного поиск по фамилии. В главной форме...

1
2 / 2 / 4
Регистрация: 20.10.2015
Сообщений: 20
27.03.2022, 10:50  [ТС]
В общем получился вот такой колхоз:
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
CDatabase* cdbMyDB = new CDatabase;
LPCTSTR connString;
connString = _T("Dsn=postgres;database=db1;server=localhost;port=5432;uid=postgres;sslmode=disable;readonly=0;protocol=7.4;fakeoidindex=0;showoidcolumn=0;rowversioning=0;showsystemtables=0;fetch=100;unknownsizes=0;maxvarcharsize=255;maxlongvarcharsize=8190;debug=0;commlog=0;usedeclarefetch=0;textaslongvarchar=1;unknownsaslongvarchar=0;boolsaschar=1;parse=0;lfconversion=1;updatablecursors=1;trueisminus1=0;bi=0;byteaaslongvarbinary=1;useserversideprepare=1;lowercaseidentifier=0;d6=-101;optionalerrors=0;xaopt=1");
cdbMyDB->Open(NULL, FALSE, FALSE, connString);  
CRecordset recset(cdbMyDB);
LPCTSTR SqlString = _T("select * from staff");
recset.Open(CRecordset::forwardOnly, SqlString, CRecordset::readOnly);
 
 
// get column names for DataGrid
        dataGridView1->ColumnCount = recset.m_nResultCols;
        for (int i = 0; i < recset.m_nResultCols; i++)
        {
        recset.GetODBCFieldInfo(i, fieldinfo);
        dataGridView1->Columns[i]->Name = gcnew System::String(fieldinfo.m_strName);
        }
        //get row data
        CDBVariant cv;
        CStringA cStr;
        for (int row_n=0; !recset.IsEOF();row_n++)
        {
            dataGridView1->Rows->Add(); 
            for (int col_n = 0; col_n < recset.m_nResultCols; col_n++)
            {
                recset.GetFieldValue(col_n, cStr);
                String^ stringEx = gcnew String(cStr);
                dataGridView1->Rows[row_n]->Cells[col_n]->Value =  stringEx;    
            }
            recset.MoveNext();
        }
        recset.Close();
Работает да и ладно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.03.2022, 10:50
Помогаю со студенческими работами здесь

Отображение данных в форме
Добрый день. У меня есть таблица(фио и адрес) и форма. Подскажете, пожалуйста, как сделать так, чтобы при открытии формы я мог вводить...

Отображение данных БД на форме
Подскажите,нужно вывести данные из бд ,(таблицы 1) на форму в с#, а именно в textBox-ы например, фио студента в один textBox, адрес в...

Странная ошибка с ODBC: [Microsoft][Драйвер ODBC Microsoft Access] Файл '(нет данных)' не может быть открыт ядром базы данных Microsoft Jet.
Внезапно вылезла вот такая ошибка: Файл '(нет данных)' не может быть открыт ядром базы данных Microsoft Jet. Файл уже открыт другим...

Отображение данных из отчета в форме
Форумисты :) подскажите, можно ли сделать, чтоб суммированные позиции из отчета выводились в форме в определенном поле? И менялись в...

Отображение данных таблиц в форме
Доброго дня! Я новичок в отношении баз данных, и возник вопрос-проблема. Итак, есть несколько связанных таблиц, под них сооружена форма,...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru