![]() |
|
![]() ![]() ![]() |
|
Dmitriy84s |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.8.2008 Репутация: нет Всего: нет |
Задача:
в mysql таблице хранятся данные ввиде индексов (только цифры) все словари находятся в массиве
Как сделать так чтобы в ДБГриде вместо цифр появились значения из этого массива. |
|||
|
||||
KotBegemotKlg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 1.8.2008 Репутация: нет Всего: нет |
Для начала надо понять, как связать массив и таблицу БД. Один из вариантов - создать двумерный массив, в первом столбце которого будут ID из базы а во втором - твои названия.
Затем, для каждой записи из базы нужно произвести поиск в первом столбце массива и вернуть значение второго столбца, которое и отобразить в гриде (например как calculated поле датасета). |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 3 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
morpheyushka |
|
|||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: нет Всего: 8 |
Ага, по скольку это словарь, то 10 000 записей в таблице вполне может быть.
Интересно, пользователь не уснет пока ему все это выведут ![]() |
|||
|
||||
Dmitriy84s |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.8.2008 Репутация: нет Всего: нет |
Вообще возможно массив в dll кинуть и потом из проги вызывать его, а то уж больно код здоровый выходит....
Это сообщение отредактировал(а) Dmitriy84s - 19.8.2008, 16:27 |
|||
|
||||
remax |
|
|||
![]() Доцент ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 686 Регистрация: 7.4.2002 Где: Украина, Харьков Репутация: нет Всего: 5 |
в датасет добавить "вычисляемое поле", в котором определить метод gettext. в дб грид выводить именно вычисляемое поле (исходное - можно выводить, но лучше спрятать).
но, лучше всего этот селект сделать средствами СУБД, а не клиентской проги. хотя, если массив маленький, то и так сойдет. например kod - поле с кодом из базы yyy - вычисляемое поле тогда, в примитиве, без проверок будет выглядеть так:
Это сообщение отредактировал(а) remax - 20.8.2008, 02:58 -------------------- Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку |
|||
|
||||
Dmitriy84s |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.8.2008 Репутация: нет Всего: нет |
нужна помощь.....этот массив нужно кинуть в dll...кто-нить знает как это сделать?
Это сообщение отредактировал(а) Dmitriy84s - 20.8.2008, 09:54 |
|||
|
||||
remax |
|
|||
![]() Доцент ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 686 Регистрация: 7.4.2002 Где: Украина, Харьков Репутация: нет Всего: 5 |
а зачем? -------------------- Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку |
|||
|
||||
Dmitriy84s |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 18.8.2008 Репутация: нет Всего: нет |
эт только маленькая часть огромного массива...чтобы все не хранить в запуском файле......размер меньше будет
|
|||
|
||||
morpheyushka |
|
|||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: нет Всего: 8 |
Зачем dll. Если куда нибудь хочешь запихнуть свой массив и если он не изменяется, то добавь в проект модуль *.pas, обзови его типа MyConst.pas и засунь в него свой массив. По крайней мере ничего таскать за программой не придется
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |