Форум: "Базы";
Текущий архив: 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.034 c