Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Обращение к mdb


Автор: The Thing 24.4.2006, 17:46
Я всю дорогу писал на С++, в билдере тоже работал, но с БД  много общаться не приходилось.


Сразу говорю (знаю, что вопрос ы ламерские.. но что делать), Я не прошу прямо описывать с комментариями (хотя я был бы не против..), хотя бы киньте ссылку, где почитать.. или не на очень тяжелые книги..(трафик дорогой)

Читаю данную ссылку..ето немного не то...
http://forum.vingrad.ru/index.php?act=module&module=vingradfaq&article_num=000034

Задача такая
Есть БД Access (*.mdb). В ней несколько таблиц.Необходимо получить доступ к БД и конкретно к таблице..столбец-Ячейка.. при чем не через TDBEdit (вспоминаю билдер на Си.), а обычным строковым параметром. и без панелек управления.. и естественно без визуальной таблицы..

Может у кого есть подобный проект..(желательно не очень насыщенный.. что бы проще разобраться было) или ссылочку, или примерчик сюда..

 

Автор: The Thing 24.4.2006, 18:01
Вот посмотрел сюда..
http://forum.vingrad.ru/index.php?showtopic=72752&unread=1&hl=

"Цитата 
Ребята, а есть наработки по Базам Данных через Delphi с помощью Access? 


Гы... Если понимать вопрос буквально то это управление приложением Access через, например, OLE, и манипулирование через него данными...

На самом деле, можно спроектировать базу в Access а из приложения цепляться к базе (не к приложению Access а к базе mdb) через ADO-компоненты. Для работы через ADO сам Access не нужен т.е. может быть не установлен.... "

В общем если что есть сказать и по управлению через ADO... пишите smile 

Автор: z-END 24.4.2006, 18:27
Цитата(The Thing @  24.4.2006,  19:01 Найти цитируемый пост)
 через ADO-компоненты. Для работы через ADO сам Access не нужен т.е. может быть не установлен

я в базах далеко не спец, но что-то мне подсказывает что ADO-компоненты реализуют связь с драйвером базы данных в любом случае, т.е. если драйвер для данного типа БД (в данном случае MDB) не установлен в системе, то и ADO-компоненты работать небудут.. 

Автор: Vit 24.4.2006, 18:31
1. Подсоединение с использованием TADOQuery. Использовать провайдер Jet 4.0 (в строке подключения)

2. ИСкать нужную строку с использованием SQL запроса типа

Select * From MyTable Where {условие которое позволит найти нужную строку}

3. Обращаться к нужной колонке 

ADOQuery.FieldByName('MyColumnName').value

PS. Таблицы не являются массивами и никогда ими не являлись, сходство примерно такое-же как у компьютера с телевизором - оба с экраном и чего-то показывают. Посему судя по заданному вопросу настоятельно рекомендую читать здесь:


http://vingrad.ru/ART-DELPHI-000034

до полного просветления. 

Автор: The Thing 24.4.2006, 18:35
smile Спасиба.. Я эту ссылку и указал выше
За ифу спасиба.. ушел рыть.. если кто еще чего... пишите.. 

Автор: The Thing 24.4.2006, 19:13
кста... а при чем здесь массивы? 

Автор: Vit 24.4.2006, 20:55
Цитата(The Thing @  24.4.2006,  10:13 Найти цитируемый пост)
кста... а при чем здесь массивы?  


Когда вопрос задают в форме:

Цитата(The Thing @  24.4.2006,  08:46 Найти цитируемый пост)
получить доступ к ... столбец-Ячейка.. 


Это подразумевает, что автор никогда не имел дела с базами данных и представляет себе таблицу в ввиде двумерного массива к которому обращаются по адресу [столбец*строка]

Я конечно могу ошибаться, но человеку хоть немного работавшему с базами данных даже в голову не прийдёт спрашивать эту информацию таким образом, а вот новички в базах данных попадаются на такое очень часто, им кажется очевидным что если информация представленна в ввиде строк-столбцов то логично искать нужную информацию по координатам строка*столбец.

 

Автор: The Thing 25.4.2006, 10:53
Да, ты прав.. только ты описываешь физическое хранение базы.. а я логическое. я этой фразой хотел подчеркнуть, что мне не нужны спецкомпоненты для работы с БД. smile

Добавлено @ 10:56 
Да, а за инфу спасиба... нарыл и разобрался.. smile вроде бы.. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)