Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > SQL запросы


Автор: UnixBeginner 14.2.2006, 12:57
Есть программа, которая выполняет запросы, но проблема в том, что пользователь при установке может сам указывать как называются его таблицы и колонки в БД, если БД уже была создана до этого. Поэтому в программе приходится где-то хранить все эти данные и подставлять их в запросы. Но я думаю может хранить запросы в файлах и при установке сразу вносить туда изменения, затем просто считывать и выполнять. Что посоветуете?

Автор: DeadSoul 14.2.2006, 22:12
Хранить не сами запросы, а только изменяемые части запросов. Например,
Код

SELECT Param1,SomeParam2 FROM SomeTable

храним
1. Число полей
- 2
2. Название полей
- Param1
- SomeParam2
3. Название таблицы
- SomeTable

Где хранить в nix-ах не знаю. ini-файлы\xml используются в никсах для хранения настроек?

Автор: En_t_end 16.2.2006, 16:21
DeadSoul
В nix системах файловые системы устроены таким образом, что расширения не имеют особого значения. В принципе можно хранить в любых файлах, но так как для linux, к примеру доступна xml-либа, то грех не воспользоваться smile

Автор: DeadSoul 16.2.2006, 22:38
En_t_end, под "расширениями" я имел ввиду формат. Например, xml-формат для хранения настроек в виндах начал активно применятся не очень давно. ini-файлы пизнаны устаревшими

Автор: UnixBeginner 17.2.2006, 11:13
Вот подумал, а имеет ли вообще хранить запросы, или изменяемые части в файлах.
Например сейчас у меня есть класс, в котором как константы храняться SQL константы - SELECT, FROM ... и есть класс, в котором храняться названия всех изменяемых параметров, ну там, названия таблиц, полей. Потом уже думаю сделать сделать получение этих параметров их файла.
Так вот, имеет ли мне смысл вообще хранить запросы в файлах? Или действительно проще все хранить в классе? быстрее работать будет

Автор: bas 17.2.2006, 12:01
Цитата(UnixBeginner @ 17.2.2006, 11:13 Найти цитируемый пост)
Так вот, имеет ли мне смысл вообще хранить запросы в файлах?

Может хранить в мемо полях?

Автор: DeadSoul 17.2.2006, 22:58
Цитата(UnixBeginner @ 17.2.2006, 11:13 Найти цитируемый пост)
Так вот, имеет ли мне смысл вообще хранить запросы в файлах? Или действительно проще все хранить в классе? быстрее работать будет


UnixBeginner, исходим из принципа "одинаковое вместе, разное - вразных местах"(название сам придумалsmile )

Запросы для все клиентов твого приложения будут однотипные, а названия полей - разными.
Представь себе ситуацию: нашел ошибку в одном запросе. Варианты:
- править конфигурационные файлы у ВСЕХ пользователей
- выложить на сайт обновленную версию

Автор: UnixBeginner 18.2.2006, 12:51
Цитата(DeadSoul @ 17.2.2006, 22:58 Найти цитируемый пост)
- править конфигурационные файлы у ВСЕХ пользователей
- выложить на сайт обновленную версию

Получается что проще в dll библиотеку все засунуть и если что поставлять клиентам измененную версию, чем файлы? Правильно я понял?

Автор: DeadSoul 18.2.2006, 13:15
UnixBeginner, нет. В настройки нужно выносить ВСЕ, что юзер может изменять(и ему нужно это изменять).
При этом исходи из правила
- юзеры тупые
- если ты считаешь, что юзер такого никогда не сделает, то он обязательно

Сам подумай, ради изменения "скина" для музыкального проигрывателя ты будешь качать новую версию?

Автор: UnixBeginner 18.2.2006, 19:48
ладно, посмотрим, что скажите на это:
есть конфигурационный файл с названиями полей и таблиц.
Вот его я и буду потом читать и хранить в классе, из которого потом буду извлекать необходимые для меня данные при формировании запроса.
Как вам такая идея?

Автор: DeadSoul 18.2.2006, 23:51
UnixBeginner, так я тебе это в первом посте и написал. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)