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

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

cat := CreateOleObject( ADOX.Catalog ) [D6, ADO, Access]


viktor ©   (2003-07-07 13:35:00) 

Подскажите, в чем дело :
var cat: Variant;
var cnnString: WideString;

cnnString := "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\my.mdb";
cat := CreateOleObject("ADOX.Catalog");
cat.ActiveConnection := cnnString; // здесь ошибка

а так работает !!!:
cat.ActiveConnection := "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\my.mdb";
и так тоже работает
cat.ActiveConnection := ADOConnection1.ConnectionString;

какого типа должна быть cnnString ?


и еще вопрос :
tbl := cat.Tables[i]; // работает
tbl := cat.Tables("Таблица"); // выдает ошибку


viktor   (2003-07-07 18:15:00) [1]

Спасибо за участие


sniknik   (2003-07-07 17:38:00) [2]

а вобще странно что и так работает,
> а так работает !!!:
> cat.ActiveConnection := "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\my.mdb";

посмотрел пример с хелпа

Sub OpenConnection()

Dim cnn As New ADODB.Connection
Dim cat As New ADOX.Catalog

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source= c:\Program Files\Microsoft Office\" & _
"Office\Samples\Northwind.mdb;"
Set cat.ActiveConnection = cnn
Debug.Print cat.Tables(0).Type

End Sub

судя по нему ActiveConnection имеет тип Connection а не строку, вариант
cat.ActiveConnection := ADOConnection1.ConnectionString;
единственно правильный.

справку ищи в файле ADO210.CHM у себя на машине


viktor   (2003-07-07 16:51:00) [3]

> а так?
> cat.ActiveConnection := PChar(cnnString); // здесь ошибка

так ошибка при компиляции :
Type not allowed in Variant Dispatch call


sniknik   (2003-07-07 14:45:00) [4]

а так?
cat.ActiveConnection := PChar(cnnString); // здесь ошибка


Наверх

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