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

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

Open Dialog и базы MS Access..... [D6, MS Access]


Галинка ©   (2004-04-20 17:11:00) 

Доброго всем времени суток!

Появился вопрос, связанный с открытием базы Акцес из моего приложения

Пока код такой

procedure TForm1.FileOpen1Click(Sender: TObject);
begin
if Form1.OpenDialog1.Execute then
  begin
    dmADO.DataModule2.ADOConnection1.ConnectionString:=
       'Provider=Microsoft.Jet.OLEDB.4.0; '+
       'User ID=Admin; '+'Password=Password; '+
       'DataSource='+Form1.OpenDialog1.FileName+
       ' Mode=ReadWrite; '+
       'Extended Properties=""; '+
       'Persist Security Info=false; '+
       'Jet OLEDB:System database=" "; '+
       'Jet OLEDB:Registry Path=" "; '+
       'Jet OLEDB:Database Password=" "; '+
       'Jet OLEDB:Engine Type=5; '+
       'Jet OLEDB:Database Locking Mode=1; '+
       'Jet OLEDB:Global Partial Bulk Ops=2; '+
       'Jet OLEDB:Global Bulk Transactions=1; '+
       'Jet OLEDB:New Database Password=" " ; '+
       'Jet OLEDB:Create System Database=False; '+
       'Jet OLEDB:Encrypt Database=False; '+
       'Jet OLEDB:Don'+'t Copy Locale on Compact=False; '+
       'Jet OLEDB:Compact Without Replica Repair=True; '+
       'Jet OLEDB:SFP=False';
    dmADO.DataModule2.ADOTable1.TableName:='ZemlParam';
    dmADO.DataModule2.ADOTable2.TableName:='PunctyParam';
    dmADO.DataModule2.ADOTable1.Active:=true;
    dmADO.DataModule2.ADOTable2.Active:=true;
  end;

end;


Выдает ошибку EOleException "Дисковая или сетевая ошибка".
Кому не лень и кто может помогите пожайлуста...


sniknik   (2004-04-20 17:49:00) [1]

Anatoly Podgoretsky ©   (20.04.04 17:41) [6]
нет это ошибка самого jet-а (Не удается найти устанавливаемый драйвер ISAM. (Ошибка 3170)), и в принципе выдается в основном при неправильном задании Extended Properties (указание какой исам использовать), но после моего совета этой строки там не должно быть. ;о)


sniknik   (2004-04-20 17:43:00) [2]

> А метод Open не требуется вызывать для TAdoConnection ?
необязательно.

Галинка ©   (20.04.04 17:33) [5]
приведи результирующую строку из отладчика, что в ADOConnection1.ConnectionString после занесения получается?


Anatoly Podgoretsky   (2004-04-20 17:41:00) [3]

Это выгдядит так, что у тебя JET или библиотеки не установлены
Явное указание в дизайн тайм свойства ConnectionString в компоненте работает?


Галинка   (2004-04-20 17:33:00) [4]

После совета sniknik'а ошибка поменялась на "Невозможно найти устанавливаемый ISAM".


Anatoly Podgoretsky   (2004-04-20 17:29:00) [5]

А метод Open не требуется вызывать для TAdoConnection ?


Johnmen   (2004-04-20 17:25:00) [6]

и где ; после значения DataSource ?


sniknik   (2004-04-20 17:24:00) [7]

задаеш лишнее и неправильно, можно все гораздо проще
...
dmADO.DataModule2.ADOConnection1.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+OpenDialog1.FileName+';Persist Security Info=False';
...
и все;

Digitman ©   (20.04.04 17:22) [1]
скорее не это, скорее системную не находит, она у нее = #32


Digitman   (2004-04-20 17:22:00) [8]

чему равно РЕАРЬНОЕ зн-е св-ва

Form1.OpenDialog1.FileName

в момент  выполнения указанногго кода ?


Наверх

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