![]() |
|
Модераторы: skyboy |
![]()
|
|
| casinosoftguru |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.12.2008 Репутация: нет Всего: нет |
всем привет
подскажите, пожалуйста, как решить такую задачу необходимо реализовать шаблоны, показывать списком последние несколько десятков (или все) выбранных строк есть таблица где есть соответственно id number(10) уникальный ключ когда пользователь у меня на форме выбирает что то из диалога я этот id хочу дополнительно сохранять в файл получится у меня текстовичок такой где на каждой строке будет по id как составить запрос чтобы он мне выбирал все строки у которых id совпадает с этим файлом вот запрос которым я выбираю одну строку какую то.. select t.rowid, t.* from table_name t where t.id = :id а как бы сделать так чтобы можно было список этих id задать в рантайме ? один id задается SetDataSetVariable(dataset1, 'ID', 123); Добавлено через 6 минут и 8 секунд я так понял мне нужно юзать WHERE id IN а как тут указать массив значений ну или стринглист например.. чтобы строки брались asVariant з.ы. может тему все же в делфи перенести.. |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 4 Всего: 44 |
что за изврат с текстовичком?! быть может временная таблица подойдет + запрос:
влюбом случае сначала объясните что требуется, а не что делать с тем что уже наворотили, ибо комбинация из трех пальцев на выходе гарантирована. Добавлено через 9 минут и 26 секунд может и лучше, только вряд ли вам там предложат что нить кроме динамического SQL. |
|||
|
||||
| casinosoftguru |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.12.2008 Репутация: нет Всего: нет |
какая временная таблица ? требуется сделать систему хранения наиболее часто используемых строк из бд и вынести их в шаблоны
есть форма на ней можно выбрать что-то из бд как только выбор был сделан, ID сохраняем себе локально куда то и затем есть combobox который должен выдавать все строки из бд которые сохранены "локально куда то" Добавлено через 1 минуту и 17 секунд временная таблица работает от старта до завершения программы ? т.е. она в памяти ? лучше бы надо чтобы она на диске сохранялась |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Имея сервер БД, ляпать "текстовичок" - это, конечно, могуче. Но через горло гланды удалять всё-таки проще. Это должна быть таблица, содержащая id выбранных записей и штамп времени выборки. Соответственно в неё добавляются (insert ... on duplicate key update ...) записи последней выборки и удаляются самые старые по времени запроса записи. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| DimW |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 4 Всего: 44 |
oracle create temporary table
эти самые часто использоваемые данные храняться: 1) на протяжении всей жизни БД? 2) быть может неделю? 3) только сеанс пользователя? эти самые данные персонализированы или являются общей статистикой для всех пользователей? ответьте на вопросы, тогда подумаем куда лучше их сохранять и как извлекать. |
||||
|
|||||
| casinosoftguru |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.12.2008 Репутация: нет Всего: нет |
да
нет, независимо от времени
нет конечно.
персонализированы для каждого пользователя системы.. я планировал хранить массив значений в application data\..\..\папка настроек программы.. там где гриды хранят свои настройки например.. Это сообщение отредактировал(а) casinosoftguru - 27.4.2010, 17:04 |
||||||||
|
|||||||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 4 Всего: 44 |
исходя из этого могу предложить следующее: 1) создайте таблицу в БД сполями: - user_id - use_id 2) при выборе пользователем "чего то там" из формочки делаете запись в таблицу статистики 3) для комбобокса используете запрос:
как такой вариант? |
|||
|
||||
| casinosoftguru |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.12.2008 Репутация: нет Всего: нет |
неплохо, попробую, спасибо |
|||
|
||||
| Zloxa |
|
||||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
хм, хранить MRU клиента на серверсайде вот это действительно могуче. /*Не, ну не спорю, елси это сервис чтото вроде айгугла, где персонализация пользовательского окружения являет собой бизнес функцию, но ведь наверняка не тот случай, ибо показывать все собираемся в "комбобоксе".*/ Обычно его хранят в реестре. Можно и в файлике, например XML-е - оч удобно
Не понятно от чего вы хотите именно один запрос. Обычно MRU редко содержит более десятка записей а десять запросов по PK это почитай и не нагрузка на сервер. Если действительно есть необходимость с клиента выбраться по массиву данных, вот здесь я показывал как можно испльзовать в SQL коллекцию, которая передана как связанная переменная. /*второй пример не смотрите, то была шутка*/ Соответственно распарсить файло и сформировать коллекцию это для делфи - плевое дело. Однко же проще (не значит правильнее) всего использовать XML как для формата файла хранения MRU, так и для выборки по нему:
Это сообщение отредактировал(а) Zloxa - 27.4.2010, 17:58 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Ну кто ж знал, что ему поклиентно... но и даже в этом случае - локальное хранение даёт не по клиенту, а по учётной записи конкретного компьютера. Пересел на соседний комп - и где там твои последние запросы? А если несколько сотрудников периодически юзают один комп под одной учёткой? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Akina, я прекрасно понимаю что ты имеешь в виду. Однако я преисполнен уверенностью что это вовсе не то, что нужно автору.
Тут оно вишь, мои мысли больше на стороне серверсайда а твои больше на стороне клиентсайда. Бесспорно хранить эту информацию на серверсайде для разработчика фронтэнда было бы куда удобнее - единообразие внешних источников данных и способов доступа к ним. Только вот прикладной ценности эта информация не имеет никакой. Сделать turncate этой табличке никогда не будет жалко, а если данные не жалко терять - зачем их хранить, копить логи транзакций по ним, быкапить? Это сообщение отредактировал(а) Zloxa - 27.4.2010, 18:39 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Смотря какая система делается... буржуи на статистике по вот такого рода информации - кто куда когда за чем лазил - умудряются неплохие деньги делать... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
делфевым комбобоксом? Это сообщение отредактировал(а) Zloxa - 27.4.2010, 23:21 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Уж не хочешь ли ты сказать, что если я, к примеру, напишу свою оболочку для гуглевского поиска, гугель перестанет запоминать, что я запрашивал? и именно потому, что у меня клиент на дельфах? По-моему, речь о возможности наличия смысла в хранении такого массива данных на стороне сервера - и я привожу пример оправданности такого хранения. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 4 Всего: 44 |
оба варианта имеют смысл, вопрос только насколько персонализированные данные персональны и нужно ли закладываться на возможность использования данной фичи в разных реализациях клиентсайда.
думаю casinosoftguru, сюда еще заглянет и решит, что ему неоходимо, пищи для размышления предостаточно. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |