Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ADO для чайника

281
29 августа 2006 года
Fan][
279 / / 19.12.2003
Очень прошу помочь научить создавать БД с помощью ADO (с BDE ВРОДЕ всё нормально).

Может ссылочку какую...
247
30 августа 2006 года
wanja
1.2K / / 03.02.2003
cat:variant;
begin
cat := CreateOleObject('ADOX.Catalog');
cat.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + FileName + ';');
cat := NULL;
end;

Так на Delphi.
1.9K
30 августа 2006 года
SABROG
242 / / 26.01.2006
Я использую обычные компоненты,ADOConnect и ADOCommand.
Для подключения к серверу создаю файл .udl, который легко настроить кликнув на него мышкой два раза.

Так я подключаюсь к серверу:
 
Код:
ADOConnection1->ConnectionString = "FILE NAME=Server.udl";
                try {
ADOConnection1->Connected = true;
                }catch(...){
        if (ADOConnection1->Connected == false){
        MessageBox(0,"Не удалось подключиться.",0,MB_OK);
        }
                }


Это функция для SQL запросов. Первый параметр - запрос.
Второй - флаг, должен ли запрос возвратить данные. Мне
пока не удалось найти способ как определить автоматически
вернулись ли данные от процедуры на сервере. Возвращается статус
выполнения, если все нормально, то возвращается true иначе false.
Вызывать например так SQLEx("select * from mytable",true); или так
SQLEx("update mytable set column1=2 where column2=3",false);
Код:
bool __fastcall TForm1::SQLEx(AnsiString sqlreq,bool rs)
{
       if (ADOConnection1->Connected)
       {
ADOCommand1->CommandText = sqlreq;
ADOCommand1->Prepared = true;
_di__Recordset Recordset = ADOCommand1->Execute();
                if (rs)ADODataSet1->Recordset = Recordset;
       ADOCommand1->Prepared = false;
       return true;
       }else{
       return false;
       }
}


Так я получаю данные от сервера:
Код:
ADODataSet1->DisableControls();
try
{
  for (ADODataSet1->First(); !ADODataSet1->Eof; ADODataSet1->Next())
  {
ShowMessage(ADODataSet1->FieldByName["column1"]->AsString);
  }
}
__finally
{
  ADODataSet1->EnableControls();
}
281
04 сентября 2006 года
Fan][
279 / / 19.12.2003
[QUOTE=SABROG]
Для подключения к серверу создаю файл .udl, который легко настроить [/QUOTE]

А как его создают и для чего?
309
20 сентября 2006 года
el scorpio
1.1K / / 19.09.2006
Смысл использовать ADO для баз данных типа Paradox и иже с ними:confused:
Создавать БД для ADO лучше всего в Microsoft Access. А работать с ними через ADO проще простого.
Для связи с БД используется сомпонент ADOConnection. Для формирования ConnectionString есть встроенный мастер подключения, который вызывается щелчком по прилагаемой к полю кнопке "...".
1. Выбираем движок БД - для Access используется Microsoft Jet
2. Указываем имя файла с БД (для Access).
3. Указываем логин и пароль (по умолчанию это "Admin" и "":) )
4. Нажимаем кнопку "Test Connection". Должно быть "Ok"
5. При желании настраиваем правила совместного доступа.

Полученную строку можно объявить константой, заменив отдельные значения символами подстановки, и подстовлять в неё имя используемого файла и другие указываемые параметры.
 
Код:
const AnsiString cConnection_String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s";
...
TForm1::TForm1 () //конструктор окна
{[INDENT]
AnsiString DB_Name = ExtractPath (Application->ExeName) + "Database.mdb";
if (!FileExits (DB_Name)[INDENT]throw Exception("Файл базы данных не найден");[/INDENT]ADOConn->ConnectionString = Format (cConnection_String, ARRAYOFCONST ((DB_Name));
ADOConn->Connected = true;
[/INDENT]}

Данная программа при загрузке подключает базу данных из каталога программы, где бы она не находилась.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог