Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2011, 14:51   #21
eduard93
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 300
По умолчанию

Все ваши проблемы очень легко решаются. Начинайте искать информацию по БД и языку запросов SQL. К примеру у меня сейчас на столе лежит книжка Алана Бьюли "Изучаем SQL".
eduard93 вне форума Ответить с цитированием
Старый 10.05.2011, 09:45   #22
yuran111
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 33
По умолчанию

всем спасибо! оказалось все так просто. я работал с access и знал про базы данных и sql но не думал что в delphi нет как бы своей внутренней базы данных и надо подключаться к внешней - вот и тормозил. подключился к access через ADO и все просто летает. может кто поделится готовым кодом хинта для dbgrid для непомещающихся ячеек?
yuran111 вне форума Ответить с цитированием
Старый 10.05.2011, 13:32   #23
art-programs
Пользователь
 
Регистрация: 04.07.2009
Сообщений: 61
По умолчанию

http://drkb3.narod.ru/664.htm
если я вас правильно понял
art-programs вне форума Ответить с цитированием
Старый 10.05.2011, 16:43   #24
yuran111
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 33
По умолчанию

да спасибо вроде это- пока не проверял. и как правильно поступать с sql запросами. если мне надо отобрать записи по любому из 10 фиксированных городов или по нескольким сразу, а потом в отобранных фильтровать по товару например. то как эти 10 городов - чекбоксами или листбоксом или чем еще правильнее? чтобы из этого чекбокса в sql подкидывать. а потом как на отфильтрованный по городу список еще раз sql по товару например отфильтровать?
yuran111 вне форума Ответить с цитированием
Старый 10.05.2011, 19:39   #25
art-programs
Пользователь
 
Регистрация: 04.07.2009
Сообщений: 61
По умолчанию

Цитата:
Сообщение от yuran111 Посмотреть сообщение
отобрать записи по любому из 10 фиксированных городов или по нескольким сразу
есть в такой компонент TChekListBox
там можно добавить города, потом по нему пробежать
и собрать отмеченные города и их уже добавить в запрос
art-programs вне форума Ответить с цитированием
Старый 10.05.2011, 19:49   #26
yuran111
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 33
По умолчанию

ну да спасибо, так и буду делать значит. пробежать это CASE или цикл если где-то 10 городов? ну а потом мне нужно работать,( просмотр с фильтрами разными) с этими отобраными городами. как к отфильтрованому по городам фильтры потом строить? создавать и сохранять таблицу новую или как-то к каждому новому запросу добавлять старый запрос с городами? или рекордсет какой использовать для городов и к нему уже потом запросы? вообщем один раз в день например отфильтрую по городам, а потом много раз различные фильтры к отфильтрованому по городам. как правильно поступить?
yuran111 вне форума Ответить с цитированием
Старый 10.05.2011, 20:10   #27
art-programs
Пользователь
 
Регистрация: 04.07.2009
Сообщений: 61
По умолчанию

city - строка
Код:
for i:=1 to CheckListBox1.Items.Count-1 do
  if CheckListBox1.Checked[i] then
      city:=city+CheckListBox1.Items[i]+',' ;
теперь в city собственно нужные города
потом их можно добавить в запрос
Код:
delete(sity,length(sity)-1,1); // последняя запятая лишняя

запрос:
SELECT *
FROM tabel1 WHERE city IN ('+sity+');
что-то типа того
наверно можно и по-элегантнее сделать, но это первое что пришло в голову

Последний раз редактировалось art-programs; 10.05.2011 в 21:23.
art-programs вне форума Ответить с цитированием
Старый 10.05.2011, 23:07   #28
yuran111
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 33
По умолчанию

ну вот я получил эти города - это наверно будет набор записей - так называемый рекордсет, как я понимаю и он отобразится в гриде. а потом мне надо в этом гриде увидеть записи из этого рекордсета отфильтрованые по товару "телевизор". потом поискать товар"холодильник" и т д в этом рекордсете. то как правильно поступить- добавлять в выражение sql по городам еще и "телевизор" и т д каждый раз или эти города сохранить в виде таблицы и тогда их фильтровать по "телевизору" или рекордсет города фильтровать по "телевизору" если это возможно? как сделать, что-то не соображу как лучше или как можно.
yuran111 вне форума Ответить с цитированием
Старый 11.05.2011, 00:15   #29
eduard93
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 300
По умолчанию

Промежуточные данные можно хранить в TClientDataSet чтобы каждый раз не дергать базу.
eduard93 вне форума Ответить с цитированием
Старый 11.05.2011, 10:27   #30
yuran111
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 33
По умолчанию

в инспекторе грида есть ссылки на таблицу, datasours. значит ли это что грид привязан к определенной таблице или скорее рекордсету, а то не понятно - я три datasours положил на форму, две таблиц и три запроса. а грид один- может и рекордсет нужен один? просто каждый раз подчищать? пока не пойму - когда надо их несколько(рекордсетов, запросов), а когда один? вообще у меня будет 2 таблицы- я сравниваю их и отбираю нужные записи. потом полученные записи фильтрую по городам, а потом, уже отфильтрованые по городам, еще много раз фильтрую по различным товарам. сколько мне надо на форму кидать этих таблиц, рекордсетов и запросов? datasours сколько надо если одна база и в ней 2 таблицы?

Последний раз редактировалось yuran111; 11.05.2011 в 10:34.
yuran111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Drupal где лучше хранить доп. модули Alexei91 WordPress и другие CMS 3 13.12.2011 09:26
Где хранить большие изображения в приложении? MyLastHit Общие вопросы Delphi 11 21.12.2010 13:36
как и где хранить изображения? kate158 БД в Delphi 9 20.08.2010 16:37
где хранить рессурсы (Delphi) BanDit Gamedev - cоздание игр: Unity, OpenGL, DirectX 6 25.01.2008 00:50