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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2015, 15:36   #1
Kursant_vv
 
Регистрация: 26.02.2015
Сообщений: 8
По умолчанию Поиск не видит базу данных...

Здравствуйте уважаемые товарищи, я военнослужащий и на программиста не когда не претендовал, но люди мы безвольные и поставили мне задачу написать программу. После долгих рабочих дней, просмотра видео уроков, и прочтения форумов кое что получилось не слишком заумное, Но поиск в программе не работает (пользовался скаченным исходником). Помогите пожалуйста а то в этой сфере деревянный по пояс. Спасибо!
Изображения
Тип файла: png Снимок.PNG (27.2 Кб, 167 просмотров)
Тип файла: png Снимок2.PNG (23.0 Кб, 169 просмотров)
Вложения
Тип файла: rar Прототип БД3.rar (393.6 Кб, 15 просмотров)
Kursant_vv вне форума Ответить с цитированием
Старый 26.02.2015, 17:28   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

1. В программе должно ровно столько ADOConntection сколько БАЗ данных будет. Полагаю их ровно ОДНА штука.
но вот какая из них реальная ???

1. Form2.AdoConnection
Цитата:
dbpath:= ExtractFileDir(Application.ExeName) + '\db1.mdb';
2.form1.Adoconnection
Цитата:
ConnectionString =
'Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\...\Desktop\...\Dat abase.accdb
Надо оставить ОДИН ADOconnection (видимо Form1.ADOconnection ) и правильно настроить его если надо !!
--------------------------------------
2.
Цитата:
SQL.Add('FROM ":Database.accdb"');
Здесь пишем имя таблицы в той базе которую подключали (после исправления!!)

Все имена полей/таблиц с русскими буквами и пробелами заключаем в кавычки ("...") или скобки ([....]) квадратные! (что подойдет).
----------------------------------------

3. Если мы хотим видеть в таблице(DBgrid) результаты полученные в ADOQuery то и подключать к таблице надо его.
DBgrid1.Datasource ->Datasource1

Datasource1.DataSet ->ADOQuery1
----------------------------------------

4. Запрос можно записать один раз в конструкторе форм (инспекторе объектов) и указать использование параметров
ADOQuery1.SQL -> select .... where .... (Инвентарный №= :Fam )
параметр это идентификатор(имя) начинающееся с двоеточия ":"

потом в коде только подставлять значения параметра
Код:
ADOQuery1.close; 
ADOQuery1.Parameters.ParameterbyName('fam').value // а здесь этот же идентификатор, но уже без двоеточия
                                                 :=edit1.Text;  // и чему он должен быть равен
ADOQuery1.Open;
Для целей тестирования можно задать значения параметра в том же инспекторе объектов
и открыть набор данных (ADOQuery1) прямо в дизайнере форм (Active -> true)
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 26.02.2015 в 17:53.
evg_m вне форума Ответить с цитированием
Старый 26.02.2015, 18:05   #3
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Вы, случаем, не под Уфой служите? Я в своё время предложил командирам сделать полковую БД, чтобы толпу писарей в дело пустить, так нет же, я был очень нужен на погрузке техники на железной дороге.
ds.Dante вне форума Ответить с цитированием
Старый 27.02.2015, 09:12   #4
Kursant_vv
 
Регистрация: 26.02.2015
Сообщений: 8
По умолчанию

[QUOTE=evg_m;1474435]1. В программе должно ровно столько ADOConntection сколько БАЗ данных будет. Полагаю их ровно ОДНА штука.
но вот какая из них реальная ???

1. Form2.AdoConnection
2.form1.Adoconnection

Надо оставить ОДИН ADOconnection (видимо Form1.ADOconnection ) и правильно настроить его если надо !!
--------------------------------------
2.
Здесь пишем имя таблицы в той базе которую подключали (после исправления!!)

Все имена полей/таблиц с русскими буквами и пробелами заключаем в кавычки ("...") или скобки ([....]) квадратные! (что подойдет).
----------------------------------------

3. Если мы хотим видеть в таблице(DBgrid) результаты полученные в ADOQuery то и подключать к таблице надо его.
DBgrid1.Datasource ->Datasource1

Datasource1.DataSet ->ADOQuery1
----------------------------------------

4. Запрос можно записать один раз в конструкторе форм (инспекторе объектов) и указать использование параметров
ADOQuery1.SQL -> select .... where .... (Инвентарный №= :Fam )
параметр это идентификатор(имя) начинающееся с двоеточия ":"

потом в коде только подставлять значения параметра
Код:
ADOQuery1.close; 
ADOQuery1.Parameters.ParameterbyName('fam').value // а здесь этот же идентификатор, но уже без двоеточия
                                                 :=edit1.Text;  // и чему он должен быть равен
ADOQuery1.Open;
Для целей тестирования можно задать значения параметра в том же инспекторе объектов
и открыть набор данных (ADOQuery1) прямо в дизайнере форм (Active -> true)[/QUOT
До 3 пункта понял, но 3 пункт не получается, правильно я понял нужно обьект DataSource1 подключить к query1 для этого нжно параметр Dataset выставить не ADOTable 1, а ADOQuery1. но не получается! он видит только параметр ADOTable 1. Но если прописывать в ручную ADOQuery1 он ругается.
Kursant_vv вне форума Ответить с цитированием
Старый 27.02.2015, 09:33   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Но если прописывать в ручную ADOQuery1 он ругается.
потому что его там нет.
надо убрать с формы ADOTable1 (потому что он нам не нужен) , Table1, Query1 (эти вообще при работе с Access обычно не нужны)
и ДОБАВИТЬ на форму новый компонент (TADOQuery) находится на той же панели компонентов что и TADOTable.
В нем настроить ADOConnection -> ADOconnection1
и уже его (ADOQuery1) подключить к DataSource1.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 27.02.2015, 12:18   #6
Kursant_vv
 
Регистрация: 26.02.2015
Сообщений: 8
По умолчанию

EVG_M ты мой КУМИР! спасибо большое!!!! Все сделал, со всем разобрался! Доделаю выложу готовую!
Kursant_vv вне форума Ответить с цитированием
Старый 27.02.2015, 13:39   #7
Kursant_vv
 
Регистрация: 26.02.2015
Сообщений: 8
По умолчанию Опять косяк.

Товарищи еще такой вопрос, пользуясь данным видео уроком http://www.delphiexpert.ru/video-uro...tabliczyi.html
как бы все понятно, но я походу не обычный человек и все просто так не бывает, и при подключении в Rave Designer базы данных выбивает ошибку, в результате всего этого программа видит только первый столбец таблицы...
Изображения
Тип файла: png Снимок3.PNG (32.3 Кб, 136 просмотров)
Kursant_vv вне форума Ответить с цитированием
Старый 04.03.2015, 20:25   #8
Kursant_vv
 
Регистрация: 26.02.2015
Сообщений: 8
По умолчанию как и обещал выклалываю программу

Аксесс использовал 2003, ADO получилось связать только с ним. А так же примеры формирования Excel отчетов. НАДЕЮСЬ кому нибудь пригодится! Всем спасибо!
https://cloud.mail.ru/public/aced90a...0%98%20(1).rar
Kursant_vv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение данных из Edit в базу данных (не Access) Denis3 БД в Delphi 5 18.03.2013 16:45
Спарсить то что видит снифер, но не видит браузер... FleXik Общие вопросы Delphi 8 11.12.2012 00:44
Как создать базу данных и поиск по ней? doktorweb Помощь студентам 3 13.12.2010 23:24
Я создал он-лайн игру,и она не видит базу данных. Linked007 Помощь студентам 2 25.11.2009 17:10
Создать базу данных Master of Puppets Microsoft Office Excel 5 10.06.2008 13:34