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

Вниз

Проблема с OpenSchema   Найти похожие ветки 

 
Iova   (2005-05-12 16:15) [0]

Скажите пожалуйста в чем я ошибся?

form1.ADOConnection1.OpenSchema(siForeignKeys, EmptyParam, EmptyParam, AdoDataSet1);

Так он ругается на EmptyParam, но может еще есть ошибки. Если я еще где-то ошибся, то тоже напишите.


 
sniknik ©   (2005-05-12 22:20) [1]

второй параметр не может быть EmptyParam, у тебя же внешние ключи значит как минимум нужно указать главную таблицу и также внешнюю (т.е. как минимум 2 параметра, а на самом деле еще больше) а у тебя  вместо указания параметров пустой список.
посмотри перечень в справке.


 
sniknik ©   (2005-05-12 22:28) [2]

вот, может поможет
ADOConnection1.OpenSchema(siIndexes, VarArrayOf([Unassigned, Unassigned, Unassigned, Unassigned, sTable]), EmptyParam, IndexSchema);
sTable - строка - имя таблици
IndexSchema - tadodataset

это получение простых индексов, заметил насколько параметров больше? чем у пустого списка. у тебя будет(должно) больше за счет указания еше одной связаной по внешнему ключу таблици (или пустышек если получать все)


 
Ученик   (2005-05-12 22:51) [3]

>Iova   (12.05.05 16:15)  



uses
 Variants;

фрагмент кода

var
 DataSet : TAdoDataset;
 ConstraintName,
 TableName1, TableName2,
 FieldName1, FieldName2 : TField;
begin
 DataSet := TAdoDataset.Create(nil);
 try
   FAdoConnection.OpenSchema(siForeignKeys, EmptyParam, EmptyParam, DataSet);
   with DataSet do begin
     ConstraintName := FieldByName("FK_NAME");
     TableName1 := FieldByName("PK_TABLE_NAME");
     TableName2 := FieldByName("FK_TABLE_NAME");
     FieldName1 := FieldByName("PK_COLUMN_NAME");
     FieldName2 := FieldByName("FK_COLUMN_NAME");
     while not EOF do begin
       ....
       Next
     end
   end
 finally
   DataSet.Free
 end
end;


 
Iova   (2005-05-13 16:10) [4]

Еще один вопросик.
Можно ли с помощью OpenSchema узнать тип поля? Если можно, то как


 
sniknik ©   (2005-05-13 16:21) [5]

можно, siColumns, поле в датасете DATA_TYPE.


 
Iova   (2005-05-13 19:06) [6]

А как узнать длину типа поля(например для String)?
И если знаете ссылку, где можно узнать такого типа инф-у, то укажите пожалуйста.
Заранее премного благодарен.


 
sniknik ©   (2005-05-13 20:51) [7]

> А как узнать длину типа поля(например для String)?
тамже siColumns, поле ... а сам возьми и посмотри, подключи dbgrid к полученному датасету и посмотри.

> где можно узнать такого типа инф-у
например в справке офиса файл ADO210.CHM, тема - SchemaEnum (данный случай).



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

Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.051 c
3-1116167981
anton_m
2005-05-15 18:39
2005.06.29
Вопрос по StoredProc


14-1117906737
Alexander Panov
2005-06-04 21:38
2005.06.29
Опять о синхронизации в потоках.


14-1117390746
Ломброзо
2005-05-29 22:19
2005.06.29
"Include" в MS Word


1-1118318165
Cat
2005-06-09 15:56
2005.06.29
TComboBox ItemIdex


6-1111940008
Евгений2
2005-03-27 20:13
2005.06.29
Как можно получить доступ к DOM не используя TWebBrowser





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский