Консультация онлайн # 161541

Раздел: С / С++
Автор вопроса: Bobsa
Дата: 27.02.2009, 13:56 Консультация неактивна
Поступило ответов: 1
Здравствуйте Эксперты!
Как можно сделать на с.с++ в линуксе запрос к базе данных, считать данные с определенного файла.
Спасибо

Ответ # 1, Андрей Кузнецов aka Dr_Andrew (Старший модератор)

Здравствуйте, Bobsa!
К сожалению, Вы не указали к какой именно базе данных необходимо сделать подключение.
Предположим, что имеется база данных MySQL с названием Brucellosis. База данных содержит единственную таблицу с данными заболеваемости; название таблицы Incidence. В таблице имеются поля: ID, Year, Territory, Number_adults, Incidence_adults.
Для написания приложения для подключения к базе данных воспользуемся средствами библиотеки Qt 3.x. По умолчанию в большинстве дистрибутивов Linux обычно установлен драйвер базы данных SQLite; для работы с базой данных MySQL необходимо установить дополнительный пакет (в Fedora 7 это qt-MySQL-3.3.8-4.fc7.i386.rpm).
Первоначально программа должна установить соединение с базой данных, исходя из настроек, выбранных пользователем. Окно настроек подключения может выглядеть так:

Код окна см. в прикреплённом файле (класс TConnectionForm).
Затем пользователь выбирает таблицу базы данных для редактирования. Окно выбора таблицы может выглядеть так:

Код окна см. прикреплённом файле (класс TTablesForm).
Окно программы с открытой для редактирования таблицей может выглядеть так:

Код окна см. прикреплённом файле (класс TMainForm).
Разумеется, это только шаблон, для придания которому полной функциональности требуется значительная доработка, но функции редактирования таблиц баз данных MySQL программа выполняет.
Удачи!

Андрей Кузнецов aka Dr_Andrew

Старший модератор
27.02.2009, 16:43
Нет оценки ответа

Мини-форум консультации # 161541

Хватов Сергей

Академик

ID: 20764

178042

= общий =    27.02.2009, 14:24
Это два вопроса?
И какой язык вас интересует - c или c++?

Интерфейс есть для всех поддерживаемый баз данных, по крайней мере на c, но его можно использовать и из программ на c++. Для каждого типа баз данных свой.

А доступ к файлам стандартный. На c с помощью библиотеки stdio, на c++ - iostream
неизвестный

178050

= общий =    27.02.2009, 15:17
я думал можно через BDE или dbexpress ,я ошибаюсь (я не знаю )?
Хватов Сергей

Академик

ID: 20764

178053

= общий =    27.02.2009, 15:26
Тогда наверное UnixODBC. Только когда мне подобное понадобилось, он был кривоват и мне не подошёл. Возможно, что после этого он стал лучше.
неизвестный

178056

= общий =    27.02.2009, 15:40
спасибо буду пробовать
Андрей Кузнецов aka Dr_Andrew

Старший модератор

ID: 17042

178070

= общий =    27.02.2009, 17:01
Bobsa :
P.S. Файл почему-то скачивается как 244652.gz; переименуйте его в 244652.tar.gz
=====
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.