Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: CL | DM;

Вниз

Ошибка с функцией OpenSchema   Найти похожие ветки 

 
Iova   (2004-12-16 18:54) [0]

Помогите пожалуйста мастера научиться пользоваться данную функцию
 form1.ADOConnection1.OpenSchema(siForeignKeys,EmptyParam,EmptyParam,AdoDataSet1);
моя почему-то не работает и выдает ошибку "Access violation".

PS:В одной статье этупроблему решали следующим образом:

ADOConnection1.OpenSchema(siPrimaryKey, VarArrayOf(Null, Null, ["mytable"]), EmptyParam, ADODataSet(ADOTable1));

но мне нужно не siPrimaryKey, а siForeignKeys по всем таблицам.


 
sniknik ©   (2004-12-16 21:17) [1]

это не проблема и не решение (просто вызов функции, что в этом проблемного?)

а "Access violation" выдает потому что используеш какойто несозданный/уничтоженный обьект... (видимо статью не сначала читал, а вырвал только с конца "нужное" как показалось, да не все)

по параметрам процедуры, они и в статье какието "странные"
(ну зачем скажите тип приводить разве нормальный датасет взять нельзя? понятно если бы по месту в коде, но для статьи... странновато,
вариантный массив тоже, понятно былобы если так
VarArrayOf([Null, Null, "mytable"])
или  так
VarArrayOf([Null, Null, "[mytable]"])
но приведенное странно)
но да ладно не будем обсуждать (просто сомнения что это даже компилируется не то что работает, а значит автор не даже пробовал...)

> но мне нужно не siPrimaryKey, а siForeignKeys по всем таблицам.
ну так и бери что нужно, только с параметрами разберись (в Restrictions), обрати внимание что их во втором вдвое больше чем в первом (на вторую таблицу тоже, ведь форейн связь идет по двум таблицам), а ты их вместо увеличения совсем выкинул...


 
Iova   (2004-12-17 08:40) [2]

В хелпе по делфи написано, что 3-е поле должно заполнятся когда Schema = siProviderSpecific.
Или я ошибаюсь?


 
sniknik ©   (2004-12-17 08:55) [3]

ну если написано то тогда наверное.
про siProviderSpecific (3й параметр - SchemaID) разговора нет (или его имел в виду под siForeignKeys?), ты второе поле "обрубил" а там в данном случае должен быть вариантный масив с 6-ю параметрами (в 2 раза больше чем при siPrimaryKey).


 
Iova   (2004-12-17 09:23) [4]

Я только что попробовал
 
s1:=Table_Name_;
form1.ADOConnection1.OpenSchema(siForeignKeys,VarArrayOf([Null, Null, s1]),EmptyParam,AdoDataSet1);

Ошибка все равно возникает.
Можно ли было записатьв таком виде присваивая величину типа String?

А нельзя ли вообще обойтись без ограничений?


 
Iova   (2004-12-17 09:43) [5]

На счет большего количества параметров я понял:
 form1.ADOConnection1.OpenSchema(siForeignKeys,VarArrayOf([Null, Null, Null, Null, Null, s1]),EmptyParam,AdoDataSet1);
Но все таки можно ли использовать s1:String?



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

Текущий архив: 2005.01.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
1-1104931359
Artlav
2005-01-05 16:22
2005.01.23
ppmd компонент или dll


14-1104908442
asdqwer
2005-01-05 10:00
2005.01.23
A.S.C., C.S.A. и проч.


1-1105606735
TUser
2005-01-13 11:58
2005.01.23
Self в потоке


4-1102426223
Diaskhan
2004-12-07 16:30
2005.01.23
Как посредством winapi в Delphi создать SysListView32 ?


14-1105060144
Petr V. Abramov
2005-01-07 04:09
2005.01.23
Про дыхалку и скачки или про про М и Ж :)