Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Найти далее и др. [D6, Access (ADO)]


serko ©   (2006-08-06 15:16:00) 

Доброе....
Я вот перехожу постепенно с Paradox на Access. И вот первый вопрос:
Возможно ли как-то осуществить процедуру "найти далее"?


MsGuns   (2006-08-09 16:37:00) [1]

Универсальный (в смысле по любой колонке или колонкам) способ поиска "вперед-назад" - это простое сканирование.
Против "тормозов" единственное радикальное средстао - не тащить с сервера тысячи записей, внеся с клиентский интерфейс логику выбора нужного подмножества БД.
Чтобы не "дергать" отображаемый датасет, поиск можно выполнять в его клоне и, обнаружив искомое, в отображаемом датасете локэйтиться на соответсвующую запись по ее идентификатору.


serko   (2006-08-08 22:42:00) [2]

Оказалось это не у меня хрень, а на том компе глюки! Sorry....


stealth   (2006-08-08 14:22:00) [3]

Удалено модератором


serko   (2006-08-07 23:49:00) [4]

Что за х.. получается! Я заменил компонент ADOTAble на ADOquery и на другом компе не стало работать (а у меня все ок)?
При попытке ADOQuery.Open; пишет "Неопознанная ошибка"!

Что это? куда копать?


serko   (2006-08-07 21:49:00) [5]


> > так уж и быть куплю
> типа ты нам одолжение делаешь?


Ниче подобного! Просто как по мне рыться в инете, спрашивать у всех не дает ни каких результатов. Лудше взять и все по порядку выучить!

Жду название и автора книги, которая по вашему мнению наиболее полезна в разработке баз данных!


Desdechado   (2006-08-07 11:12:00) [6]

> так уж и быть куплю
типа ты нам одолжение делаешь?

Почитать об SQL можно в справке той СУБД, которую используешь.

По поиску. Не путай поиск (позиционирование на нужной строке) и отбор (выбор только тех строк, которые тебе нужны). При 30 тыс. строк ты явно отбором не занимался. Это делается через SELECT.
Когда у тебя будет видно 100-200 строк, то можнопереходить к позиционированию через Locate или перебором строк с проверкой условия. На таких объемах это уже быстро.


serko   (2006-08-06 22:50:00) [7]

Ну а все же где можна подробно прочитать о SQL.
Ну или книжку хорошую по БАЗАМ ДАННЫХ посоветуйте, так уж и быть куплю!


Anatoly Podgoretsky   (2006-08-06 20:52:00) [8]

serko ©   (06.08.06 20:23) [9]
Акцесс не требуется, а требуется установленый JET, который исключен из MDAC


serko   (2006-08-06 20:23:00) [9]

Ну так скажите как правильно?
Я понимаю что абсолютно на всех компах не реально сделать! Но мне хотя бы для стандарных, т.е. у которых Access уже стоит!

И понятно что База на каждом компе может лежать в совсем другом месте по сравнению с моим! Вот это я и пытаюсь исправить через ConnectionString путем вычисления места нахождения базы.
Как же тогда до запуска или при запуске (OnCreate главной формы) в ConnectionString указать истинный путь базы?


> http://www.firststeps.ru/mfc/ado1.html


Как раз тут страница с поиском данных не открывается!


Anatoly Podgoretsky   (2006-08-06 18:42:00) [10]

serko ©   (06.08.06 17:40) [5]
Акцесс и чтобы на всех компьютерах, это фантастика сынок.
Ну а насчет Access violation при таком коде, с глобальными переменными, с ADOTable с ConnectionString без TAdoConnection - оно и не удивительно.


KilkennyCat   (2006-08-06 17:44:00) [11]

http://www.firststeps.ru/mfc/ado1.html


KilkennyCat   (2006-08-06 17:42:00) [12]

Вероятно, на другом компьютере чего-то нехватает, настроек, библиотек...


serko   (2006-08-06 17:40:00) [13]

Хорошо на счет SQL подумаю! Может подскажите ссылочку где можна почитать ою этом?

вставил такой код в OnCreate главной формы:
MDB:=ExtractFileDir(Application.ExeName)+'\Table\Servis.mdb';
    Form9.AdoTable1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+MDB+';Persist Security Info=False';
    Form9.ADOTable1.Active:=true;

Ну чтобы при открытии активизировалась и БАЗА. И чтобы эта прога работала на любом компе! Но при запуске проги выскакивает ошибка: 'Access violation.....
Что не так?


Virgo_Style   (2006-08-06 17:27:00) [14]

использовать SQL


serko   (2006-08-06 17:12:00) [15]

С запуском проги разобрался!

А вот с поиском жду ответа....

И еще можна ли как-то ускорить поиск? У меня около 30000 записей и через Locate он долго ищет!


serko   (2006-08-06 16:01:00) [16]

Ну я знаю ADOTable1.Locate(), но он ищет с начала таблицы! какой еще есть?

Упс еще один вопрос! Почему прога с Access не запускается на другом компе?


KilkennyCat   (2006-08-06 15:29:00) [17]

тот же поиск, но с позиции последнего найденного.


Наверх

Титульная страница Поиск, карта сайта Написать письмо