Russian Qt Forum
Сентябрь 30, 2024, 10:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как правильно составить запрос  (Прочитано 3646 раз)
dsp
Гость
« : Июнь 16, 2011, 18:11 »

Привет.

Допустим есть программа, в которой в меню можно выбрать файл с базой данных, который есть в какой-либо папке.

Вопрос такой: как в запросах, например SELECT указывать название таблицы, которую я выбрал?

Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Июнь 16, 2011, 18:22 »

в меню можно выбрать файл с базой данных
указывать название таблицы, которую я выбрал?
Что-то меня тут смущает....
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
dsp
Гость
« Ответ #2 : Июнь 16, 2011, 18:26 »

в меню можно выбрать файл с базой данных
указывать название таблицы, которую я выбрал?
Что-то меня тут смущает....
Гы..
Может я просто не правильно формулирую проблему: Допустим есть 3 базы данных с одной и той же структурой, но вообще друг с другом не связанные. В них что-то лежит. А программа одна, которая может работать с бд, имеющую такую же структуру (одинаковое количество и название столбцов и типов данных), что и эти 3. Хочу я сейчас работать с одной бд, завтра с другой, всего лишь выбрав их в меню. Или как такие вещи решаются?
Записан
sobr_vamp
Гость
« Ответ #3 : Июнь 16, 2011, 18:27 »

Тут нормально написано
http://habrahabr.ru/blogs/qt_software/51650/

А вообще...
1. Выбираете подходящий класс для работы с БД.
1. Делаете соединение (там будет драйвер для вашей базы и путь к ней)
2. Открываете базу
3. Делаете запросы

К сожалению в коде написать не могу =) Но принцип такой
Записан
dsp
Гость
« Ответ #4 : Июнь 16, 2011, 18:31 »

Тут нормально написано
http://habrahabr.ru/blogs/qt_software/51650/

А вообще...
1. Выбираете подходящий класс для работы с БД.
1. Делаете соединение (там будет драйвер для вашей базы и путь к ней)
2. Открываете базу
3. Делаете запросы

К сожалению в коде написать не могу =) Но принцип такой

Да я не об этом =)
Я знаю немного, как работать с БД, но работая с бд, я всегда видел запросы типа:
query.prepare("SELECT File_Photo FROM photos WHERE Id = :Id");
Вот вместо явного указания таблицы "photos", как мне указывать названия выбранной мной таблицы, т.е. как сделать этот запрос пригодный для всех таблиц.
« Последнее редактирование: Июнь 16, 2011, 18:34 от dsp » Записан
sobr_vamp
Гость
« Ответ #5 : Июнь 16, 2011, 18:47 »

Ну у вас же путь хранится в каком-нибудь QComboBox?
1. Берете полный путь, выделяете имя файла без расширения
2. Сохраняете в QString str, например
3. В запросе делаете что-то вроде "SELECT * FROM" + str + "..."

Разные пути - разные базы... А запрос один для всех. Что сложного то?)
Записан
dsp
Гость
« Ответ #6 : Июнь 16, 2011, 18:50 »

Ну у вас же путь хранится в каком-нибудь QComboBox?
1. Берете полный путь, выделяете имя файла без расширения
2. Сохраняете в QString str, например
3. В запросе делаете что-то вроде "SELECT * FROM" + str + "..."

Разные пути - разные базы... А запрос один для всех. Что сложного то?)
ничего. Уже так и сделал... туплю малость. уже день с ночью перепутал....диплом =)
Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.205 секунд. Запросов: 23.