Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Вниз

Ошибка с функцией 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.036 c
1-1104701792
iskatel
2005-01-03 00:36
2005.01.23
тома для восстановления


8-1097515235
tox
2004-10-11 21:20
2005.01.23
Плейлисты


1-1105375809
Santa][P
2005-01-10 19:50
2005.01.23
EROR: Дельфи вызывает ошибку!


6-1099593131
Sicilla
2004-11-04 21:32
2005.01.23
Разрыв соединения


1-1104907565
WhiteGuy
2005-01-05 09:46
2005.01.23
Приоритет





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский