![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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); // здесь ошибка