Главная страница
    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.039 c
14-1104780262
Zacho
2005-01-03 22:24
2005.01.23
Мистика, ужасы и т.п.


4-1101285115
Users
2004-11-24 11:31
2005.01.23
Переход по TAB на API


1-1104844425
ceval
2005-01-04 16:13
2005.01.23
Подскажите с реестором


14-1104441096
ArMellon
2004-12-31 00:11
2005.01.23
Если человек выпивает больше четырех раз в год - он хронический


9-1097331098
borrman
2004-10-09 18:11
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский