![]() |
|
![]() ![]() ![]() |
|
Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
Собственно, сабж.
Если можно, простой примерчик, скажем для переменнны a и b, вводимых через Edit. +поиск по БД, подключение БД ну и т.д.=) Заранее спасибо=) --------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
Rodman |
|
||||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
Если у тебя уже есть база данных на Access... то тебе необходимо к ней подключиться...
Проще всего использовать ADO компоненты на соответсвующей закладке... ADOConnection - добавляешь на форму и заполняешь свойство ConnectionString... т.к. у тебя база на Access, то выбирай драйвер Jet 4... После этого добавляешь на форму ADOQuery и в нем добавляешь в поле Connection свой ADOConnection... и на конец в поле SQL пишешь запрос
а в делфях пишешь
и будет тебе счастье... если нет - пиши, спрашивай... |
||||
|
|||||
Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
К сожалению, у меня нету БД Аксесс=).
у меня есть чисто форма=) И есть кнопка Сохранить в БД. И есть кнопка поиск по БД. И если я не сделаю так,чтобы они заработали не будет меня=). Так что, пожалуйста, ооочень подробно. Я бы хотел сделать так примерно: При нажатии на кнопку искать в папке файл, скажем, 1.mdb При отсутсвии--создавать его, (ну и заполнять данными едитов). При наличии--открывать на запись. Ну и поиск нужно реализовать по значению Едита А(стринговая переменная) и по значению Едита Б(тож стринговая, фио хранит). Также, нужно чтобы совпадение по значению Едита А было не строгим, то есть ,допустим, я ввожу 2 000 000, и оно находит все данные, начинающиеся на 2 000 000 (2 100 000, 2 999 999 например). Помогите плиз=). На всяк случай кидаю архив с проектом. Это сообщение отредактировал(а) Сарт - 20.9.2006, 20:58 Присоединённый файл ( Кол-во скачиваний: 21 ) ![]() --------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
Какой файл??? Где???
Добавлено @ 20:56 Или ты программно хочешь создавать БД??? |
|||
|
||||
Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
Отредактил,все лежит=)
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
Понимаешь... с Access у меня не удавалось не то что саму базу создать... а таблицу добавить в уже существующую базу...
ну частичный поиск можно реализовать с помощью функции pos... но у ты хочешь найти совпадения в разных частях слова... такое возможно, если сравнивать посимвольно (т.е. на одном месте, по счету, долна стоять такая же цыфра или буква)... Сколько символов тебе нужно чтобы совпадало??? Я ща не могу твой проект глянуть... Ты ответь на вышестоящие вопросы и вот на эти, а я на выходных твой проект посмотрю... попробую помоч... 1. Как должна выглядить таблица в которую сохранять и одна ли она??? 2. Поиск в той же таблице по добавленным данным??? 3.
4. Данные какого типа в базе??? Жду... Постараюсь помочь... |
|||
|
||||
Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
Постараюсь ответить попонятнее=)
Мне нужно, чтобы можно было выбирать-строгое соответствие или нет. В случае строгого-думаю, все понятно. В случае не строгого--совпадала первая цифра. НО! при этом совпадал и порядок числа(то есть при вводе 2 000 000 выводилась информация о кредитах на суммы от 2 000 000 до 2 999 999, которые есть в базе...и никаких лишних кредитов на сумму, скажем в 200 000.) 1)Таблица, я так думаю, должна выглядетьпримерно так: ФИО Дата рождения Место работы Телефон домашний(в проекте-телефон фактический) Место проживания Сумма Кредита Думаю, делать 1 таблицу...смысл делать больше то? 2)Поиск по всей таблице (по старым и добавленным данным) 3)Не совсем. В проекте посмотришь- у меня 1 едит на поиск. Думаю, сделать поиск вначале по столбцу ФИО, а потом по Сумме кредита 4)Стринговые переменные только.В проекте только 2 переменные типа не стринг, но они для БД не нужны....я так надеюсь=). --------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
А по какому полю искать строгое и не строгое соответствие??? По кредитам???
|
|||
|
||||
Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
Да, по сумме кредита.
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
Fighter |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
SQL - рулит.
В SQL есть такая фига как INSERT TABLE. Вот разберись с ней. Это сообщение отредактировал(а) Fighter - 23.9.2006, 04:26 |
|||
|
||||
Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
Проблема останется только одна-как запустить потом эту БД на компе=)
короче, требования доп. такие-сделать бд. сделать поиск. Но при этом прога должна работать на сиандартном оффисном компе. То есть без SQL, Framework-а и т.д. Стоят на машинах тока оффисы. Поэтому наш выбор- Акксесс....Так как блокнот не потянет столько записей. --------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
- что это, клавиши западают
![]() Вот я кое что добавил тебе... а вот про
Fighter если можно то пример покажи, у меня не получаеться (SQL знаю)... Это сообщение отредактировал(а) Rodman - 23.9.2006, 12:24 Присоединённый файл ( Кол-во скачиваний: 11 ) ![]() |
|||
|
||||
Savek |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: 7 Всего: 7 |
||||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
Я на SQL напишу любой запрос.. не нужно мне приводить примеры запросов... мне нужен исходник в делфяхк который поможет мне создать базу и в ней таблицы в Access...
Savek, при надобности я и сам тебе расскажу SQL... |
|||
|
||||
Fighter |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
||||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
Fighter, понимаешь с MySQL получится и создать базу и таблицы в ней... а вот с Access не в какую не проходят эти запросы... я так думаю что там структура какая-то не как везде...
Вот просто и хочу увидеть пример на Delphi который сделал бы это... Если у кого-то получалось подобное, то выложи (но только если сам пробовал, а не в инете видел)... |
|||
|
||||
Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
Как я понял, тема животрепещуща=)
Могу дать подсказку..что умные люди посоветовали....Мне правда не помогает=) Итак, совет: Совсем ",tp доп.требований к установленным программам" - естественно никак. Cамый простой вариант - БД MS Access (сама СУБД не нужна) и интерфейс к ней ну пусть на той же Delphi. Доступ через ADO. ну если совсем АПИ, то через ODBC. --------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
Savek |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: 7 Всего: 7 |
Вот процедура создает базу Аксес
|
|||
|
||||
SergeBS |
|
||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
Сарт,
Гони этих "умных" в шею. Если это учебная задача, то лепи DBF-ки - потянет, а если нет, то подумай: что с тобой сделают, когда в результате, например, нажатия на Reset, скачка в розетке или особо "продвинутого" юзера у тебя вся база Access грохнется. Особенно если через 3-4 месяца после начала эксплуатации. Сервера ставят не от жира, а чтобы данные не терялись. Поскольку дешевле будет один комп запереть в кладовке, чтобы никто не мог подойти, подоткнуть к нему стриммер, навесить SQL сервер и спать спокойно.
Через ADO я тебе к любому серваку достучусь. А если в укромном уголке "вдруг" MS SQL заведется, то доп. требование: MDAC 2.8 + DCOM98 для Win95/98 (или IE >=5.5, который его молча впихнет).
Пальцы об клаву до костей сотрешь ![]() |
||||||
|
|||||||
Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
Задача НЕ учебная.. производственная=) Попросил директор настойчиво=) Была бы возможность с SQL я бы особо и не парился=)
А как насчет записи??Подскажи плиз, вельми дзенкуе скажу пану --------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
SergeBS |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
Сарт,
Ну так и объясни директору, что либо в кладовке/подсобке/... (короче под замком, а ключ только у него и у тебя) сервер будет стоять, либо он через 4-5 месяцев от инфаркта помрет, когда все данные о кредитах грохнутся без возможности восстановления. И нефиг тут париться. Из говна пуля только говенная выйдет. Насчет SQL: в комплекте Офиса есть MSDE - MS SQL server Developer Edition. Т.е. есть лицензия на Офис - можешь его поставить. Папка с инсталляшкой так и зовется - MSDE. От настоящего сервака отличается тем, что: 1. Одновременно - не более 5 транзакций, остальные - в очередь. Но все равно шустрее, умнее и надежнее, чем Access. 2. Док в комплекте - никаких. И тулз тоже. Однако берем дистрибутив нормального сервера, при установке на не-серверную ОС (если не мухлевать ![]() ![]() |
|||
|
||||
Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
Я работаю тока 2 недели=) Так что вряд ли твой вариант мной осуществим=). Так что план пока--сделать БД на 1 компе, резервно вручную его втихомолку копировать, потом, когда накроется---достать из рукава=).Ну получить премию, а заодно и объяснить чем сервер хорош=)
В общем, базу , похоже, мне создатьь помогли... помогите плиз реализовать по ней еще и поиск=) --------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
SergeBS |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
Сарт,
Мог бы еще добавить, что это первая работа, по образованию - не программист и т.п... Для полноты картины. Что, впрочем, ясно. И сколько работаешь - неважно. Минимально разумный начальник легко поймет, что дешевле сразу застраховаться от беды, чем потом волосы рвать и виноватых искать. А если считается, что техника сверхнадежна и люди не ошибаются - лучше сразу ищи новое место работы. Поскольку тебя уже назначили крайним.
Ну-ну. Так БД и останется на 1 компе. Размечтался. От тебя втихомолку расползется и будешь только копированием заниматься. Пока вконец не запутаешься. Нет смысла такие задачи иметь в 1 экземпляре - не окупится даже разработка: дешевле тебя сразу на учет кредитования усадить, чем кого-то на нем держать, а тебе для него программу писать. Файл-сервер в конторе наверняка есть. Поэтому: 1. Ставишь втихомолку SQL-сервер. Бэкапишь - на файл-сервер. Каждый вечер - недельным циклом + помесячно - в долгое хранение. Если очень хочется секса стоя в гамаке на лыжах ![]() 2. СРАЗУ обеспечиваешь парольный вход - клиент БД уже не расползется по юзерам бесконтрольно и при небольшом старании (читай Уфимцева на SQL.RU) всегда будет известно, кто насвинячил. С датой, временем и т.п. Ну и вдогонку: читай тут Пока не поздно. |
||||
|
|||||
RideX |
|
||||||
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 94 Регистрация: 8.9.2004 Репутация: 1 Всего: 7 |
Сарт, вот тебе основа, проверки и всё остальное, думаю, сам сможешь накрутить. База данных MS Access, обращение через запросы, думаю ты этого хотел? На пустую форму положи DBGrid, Edit и две кнопки. Всё остальное создаём в runtime и работаем как обычно.
Добавлено @ 09:13 Поиск по любому вхождению делай так:
если только по концу, то соответственно так:
Hint: например, через поле таблицы [ИНН] удобно привязать связанную подчинённую таблицу, а то бывает такой кошмар, что люди делают по две, чуть ли в точности не дублирующие друг-друга таблицы. Получается, естественно, огромная избыточность. Образец этого недавно здесь видел, если найду ссылку, добавлю сюда для ознакомления. P.S. Конечно, если будешь обращаться к данным из других форм, перенеси переменные fmMain в глобальные для всего приложения. Это сообщение отредактировал(а) RideX - 27.9.2006, 09:18 |
||||||
|
|||||||
Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
Сенкс, завтра испробуем на практике, отпишусь какие траблы возникнут=)
Блин со второго раза ткоа воткнул в чем разница между поисками=) а разница то в--%. --------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
Savek, а у тебя нет подобный примеров для других СУБД??? или откуда ты вытянул напиши... пожалуйста...
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |