Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Вниз

Помогите разобраться с компоненктами для доступа к базам&#133   Найти похожие ветки 

 
Kolan ©   (2007-07-12 14:20) [0]

Здравствуйте,
 Немогу понять как устроены, а точнее как взаимодействуют BDE компоненты для работы с базами.

Итак:
1. У меня есть MS SQL Server 2000.
2. В Enterprise manager я создал базу. В базе есть таблица.
3. Передомной форма на которой лежит DBGrid. D7.
Что мне надо «кинуть» на форму, а главное как это все настроить, чтобы в DBGrid получить результаты запроса SELECT * FROM table.

PS
 Сил нет уже :( Расскажите по шагам, пожалуйста&#133


 
Ega23 ©   (2007-07-12 14:27) [1]

1. Забыть про BDE
2. Положить TADOConnection, TADODataSet, TDataSource и TDBGrid на форму.
3. В настройках TADOConnection построить ConnectionString
4. У TADODataSet в свойстве Connection - задать Connection
5. У TADODataSet в свойстве CommandText прописать Select * from Table
6. У TdataSource в свойство dataSet указать ADOdataSet
7. У TDBGrid в свойство DataSource указать DataSource
8. По кнопке прописать ADODataSet.Open;


 
Kolan ©   (2007-07-12 14:37) [2]

> 1. Забыть про BDE

Нет не могу я. Нужно БДЕ.

Благодарю. кстати я именно такой ответ и хотел, только с БДЕ.


 
Kolan ©   (2007-07-12 14:43) [3]

В основном видимо вопрос сводится к тому как подключится к базе. В ADO все просто — эту строку построил и всё. А как быть с BDE — хз :(


 
umbra ©   (2007-07-12 14:48) [4]

В BDEAdministrator прописывем алиас для базы, а затем заменяем TADODataSet на TQuery, выбрасываем пункты 3 и 4 из [2] и указываем для TQuery нужный алиас


 
Виталий Панасенко(дом)   (2007-07-12 14:51) [5]

BDE сертифицирован для работы с MS SQL ДО версии 6,5... Уже на 7,0 начинаются грабли... А в общем, точно, как с АДО.. Только вместо ADOConnection  использовать TDataBase.. Создать алиас, указав драйвер MSSQL... И использовать этот алиас.. Можно(а возможно и лучше, не знаю. Для MS SQL использовал ТОЛЬКО АДО) создать пользовательский DSN для ODBC и его использовать...


 
Kolan ©   (2007-07-12 14:53) [6]


> В BDEAdministrator прописывем алиас для базы,

Млин как это сделать? Как и вкаком поле указать мою базу?

Я сделал: New - SQL Server. А что далее?


 
Kolan ©   (2007-07-12 14:55) [7]

> В BDEAdministrator прописывем алиас для базы,

После этого пункта все, дальше, все поятно.


 
Alex13 ©   (2007-07-12 14:58) [8]

Мы пишем программу, которая будет работать с базой данных MS Access. Я уже говорил, что для разработок от MS лучше всего использовать ADO. Давай напишем наше первое приложение для работы с базой данных.
 - ADOConnection.
Создай новый проект. Теперь брось на форму компонент ADOConnection с закладки ADO палитры компонентов. Теперь настроим соединение с сервером, которое должно быть прописано в свойстве ConnectionString. Для этого надо дважды щёлкнуть по строке ConnectionString и перед нами открывается окно, как на рисунке 14.3.1.

Здесь перед нами стоит выбор:
1. 1. Использовать специальный файл (Use Data Link File);
2. 2. Использовать строку подключения (Use Connection String).

Второе, на мой взгляд, более предпочтительно, поэтому я покажу, как создать строку подключения. Для этого щёлкаем кнопку Build и перед нами открываеться ещё одно окно, показанное на рисунке 14.3.2.

На закладке Provider перечислены все доступные ADO драйверы доступа к базам данных. Если какого-то драйвера нет, то можно попробовать выделенный по умолчанию «Microsoft OLE DB Provider for ODBC Drivers». Этот драйвер позволяет получить доступ к базе данных через ODBC драйвер, которые есть к большинству существующих баз данных (единственное, он может быть не установленным на твоём компьютере).
В нашем случае, для доступа к базам данных MS Access используется драйвер «Microsoft Jet OLE DB Provider». Такой драйвер обязательно устанавливается на машину вместе с MS Office, а в последних версиях Windows он устанавливается по умолчанию.
На моей машине установлено сразу две версии этого драйвера, поэтому я выберу более новый - «Microsoft Jet 4.0 OLE DB Provider». После этого нажимаем кнопку Next, или переходим на закладку «Connection».
Вид закладки Connection зависит от выбранного драйвера. В нашем случае она должна выглядеть, как показано на рисунке 14.3.3.
Первым делом, в этом окне надо ввести имя (если надо то и путь) базы данных в строку «Select or enter a database name». Если база данных будет располагаться в той же директории, что и запускной файл, то путь указывать не надо. Я вообще советую хранить базы в одной директории с запускными файлами. Если ты будешь держать файлы отдельно от запускного, то тебе придётся указывать полный путь, а это может вызвать проблемы при переносе программы на другой компьютер. Ведь там программа будет искать базу по казанному пути, который может измениться. Если хочешь держать файлы в другой директории, то указывай относительный путь относительно текущей директории.

Чтобы легче было выбрать файл базы данных необходимо щёлкнуть по кнопке с точками справа от строки ввода.
Помимо этого нам надо заполнить следующие поля:
1. 1. Имя пользователя (User name), можно оставить по умолчанию, если не заданно иное при создании базы в MS Access;
2. 2. Пароль (Password) – если база имеет пароль, то его необходимо указать;
3. 3. Пустой пароль (Blank password) – если пароль не нужен, то здесь желательно поставить галочку;
4. 4. Позволять сохранять пароль (Allow saving password). Если здесь поставить галочку, то пароль может быть сохранён.

Как только выберешь базу данных, нажми кнопку Test Connection, чтобы протестировать соединение. Если всё указано правильно, то ты должен увидеть сообщение «Test connection succeeded». Всё, можно нажать ОК, чтобы закрыть окно создания строки подключения и ещё раз ОК, чтобы закрыть окно редактора строки подключения (тот, что был на рисунке 14.3.1).
Теперь в свойствах компонента ADOConnection отключи свойство LoginPrompt, выставив его в False. Это нужно для того, чтобы при каждом обращении к базе нас не грузили окном ввода пароля. А теперь выставим свойство Connected в True, чтобы произошло соединение с базой.
На этом соединение можно считать оконченным. Теперь нам надо получить доступ к созданной нами таблице «Справочник». Для этого брось на форму компонент ADOTable с закладки ADO палитры компонентов. Сразу измени его свойство Name на BookName.
 - TADOTable.
В этом компоненте тоже есть свойство ConnectionString и его так же можно настраивать. Почему «можно»? Да потому что, чтобы этого не делать мы поставили на форму компонент ADOConnection. Теперь мы можем указать у нашего компонента BookName в свойстве Connection, созданный нами компонент соединения с базой данных. Щёлкни по выпадающему списку в свойстве Connection и выбери там единственный пункт ADOConnection1. Теперь нам не надо заполнять свойство ConnectionString.
Теперь в свойстве TableName нужно выбрать имя нашей таблицы (Справочник). Всё, таблица и соединение указаны, можно подключатся. Для этого выставь свойство Active в true.
 -TDataSource
Для отображения данных из таблицы надо ещё установить на форму компонент DataSource с закладки Data Access палитры компонентов. Теперь этому компоненту надо указать, какую именно таблицу он должен отображать. Для этого в свойстве DataSet нужно из выпадающего списка выбрать нашу таблицу BookTable.
 -DBGrid
Всё!!! Все приготовления готовы, можно приступать к реальному отображению данных. Самый простой способ отобразить таблицу – установить компонент DBGrid. Это компонент-сетка, которая может отображать данные в виде таблицы. В этом же компоненте можно добавлять, удалять и редактировать строки нашей таблицы.

И последний этап создания нашего приложения – связывание компонента сетки с компонентом отображения таблицы. Для этого в свойстве DataSuorce компонента DBGrid нужно указать созданный нами компонент DataSource1.
Вот теперь наше приложение готово!!! Может ты не заметил, но мы не написали ни одной строчки кода :). Вот до какой степени Delphi упрощает процесс программирования баз данных, что даже программировать ничего не надо.
Попробуй запустить этот пример и создать несколько строк, отредактировать уже существующие и удалить что-нибудь. Для вставки строки используй клавишу Ins, а для удаления Ctrl+Del.


 
Alex13 ©   (2007-07-12 14:59) [9]

Это цитата, думаю поможет делу. Разъясняет работу с ADO


 
Kolan ©   (2007-07-12 15:00) [10]

> Разъясняет работу с ADO

Да с ADO все получилось у меня, Как с BDE сделать?


 
Kolan ©   (2007-07-12 15:17) [11]

Так я сдехну тут не узнав как все это должно работать 8(


 
Kolan ©   (2007-07-12 15:39) [12]

Вроде объяснили мне&#133 благодарю за помошь. Эх &#133 :(


 
Виталий Панасенко ©   (2007-07-12 16:13) [13]


> Kolan ©   (12.07.07 15:00) [10]
> > Разъясняет работу с ADO
>
> Да с ADO все получилось у меня, Как с BDE сделать?

А нафига ? См .
> Виталий Панасенко(дом)   (12.07.07 14:51) [5]


 
Anatoly Podgoretsky ©   (2007-07-12 19:37) [14]

Alex13 ©   (12.07.07 14:58) [8]
Ты автор этого текста или как?


 
MsGuns ©   (2007-07-12 20:15) [15]

BDE работает с ADO через ODBC - смотри там


 
SpellCaster   (2007-07-13 11:27) [16]

> Alex13 ©   (12.07.07 14:58) [8]
> Ты автор этого текста или как?

И правда что, где копирайты? А то ведь засудят, и штраф востребуют.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.049 c
9-1157371461
Provodnick
2006-09-04 16:04
2007.08.12
Проблема с дисплейным списком.


2-1184832542
kyn66
2007-07-19 12:09
2007.08.12
Компонент ZipTV с глюком?


2-1184337631
Kolan
2007-07-13 18:40
2007.08.12
TPageControl в TScrolBox е какие есть варианты реализации?


3-1177506771
Jacks
2007-04-25 17:12
2007.08.12
Select


15-1184293628
Slider007
2007-07-13 06:27
2007.08.12
С днем рождения ! 13 июля 2007 пятница





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский