Текущий архив: 2006.09.10;
Скачать: CL | DM;
ВнизИнформация о таблице с помощью sp_help Найти похожие ветки
← →
MsGuns © (2006-06-30 14:06) [0]Данные об указанной таблице возвращаются блоками: строка о самой таблице, НД о колонках и т.д., что хорошо видно в QA
В Дельфи пытаюсь "достучаться" до полей, ограничений и т.д. :
ADODataSet.RecordSet := ADOCommand.Execute
но получаю только строку о таблице.
Как быть с "остальными" рекодсетами ?
Спасибо
← →
Fay © (2006-06-30 14:26) [1]NextRecordset ?
← →
MsGuns © (2006-06-30 15:21) [2]>Fay © (30.06.06 14:26) [1]
>NextRecordset ?
Спасибо огромное !
Зациклился на то, что "exec sp_help Table" можно указывать только в TADOCommand ;((
Кодvar rc: integer;
...
with ADODataSet do
begin
CommandText := "exec sp_help Table";
Open;
RecordSet := NextRecordSet(1);
...
end;
прекрасно отработал
Федя, ты -монстер ;))
← →
Ega23 © (2006-06-30 15:37) [3]
> Зациклился на то, что "exec sp_help Table" можно указывать
> только в TADOCommand ;((
Не понял. А ты что, всегда запросы на возвращение НД через ADOCommand делаешь?
← →
MsGuns © (2006-06-30 15:55) [4]>Ega23 © (30.06.06 15:37) [3]
>Не понял. А ты что, всегда запросы на возвращение НД через ADOCommand делаешь?
Да нет, просто после интербэйза, бде и акцеса привык в TXXDataSet/TXXQuery писать SELECT, а вот всякие апдейты-инсерты-делеты - в TADOCommand (ADO)
;)
← →
Ega23 © (2006-06-30 16:00) [5]
> Да нет, просто после интербэйза, бде и акцеса привык в TXXDataSet/TXXQuery
> писать SELECT, а вот всякие апдейты-инсерты-делеты - в TADOCommand
> (ADO)
Ну да, правильно. А тогда нафигаADODataSet.RecordSet := ADOCommand.Execute
?
← →
MsGuns © (2006-06-30 16:11) [6]>Ega23 © (30.06.06 16:00) [5]
>Ну да, правильно. А тогда нафига ADODataSet.RecordSet := ADOCommand.Execute?
Ну потому что нельзя же вот так сразу, палкой по банановому дереву. Сначала надо попытаться с ее помощью повыше подпрыгнуть ;))
Переделал на
with TADODataSet.Create(nil) do
begin
Connection := TADOConnection;
CommandText := "exec sp_help "+TableName;
Open;
RecordSet := NextRecordSet();
<Закачка в TList данных о полях таблицы>
Close;
Free;
end;
← →
stone © (2006-06-30 16:15) [7]а сразу sp_columns использовать не проще?
← →
Ega23 © (2006-06-30 16:17) [8]
> Переделал на
>
> with TADODataSet.Create(nil) do
> begin
> Connection := TADOConnection;
> CommandText := "exec sp_help "+TableName;
> Open;
> RecordSet := NextRecordSet();
> <Закачка в TList данных о полях таблицы>
> Close;
> Free;
> end;
Я бы на твоём месте не пренебрегал try-finally try-except:with TADODataSet.Create(nil) do
begin
try
Connection := TADOConnection;
CommandText := "exec sp_help "+TableName;
try
Open;
RecordSet := NextRecordSet();
<Закачка в TList данных о полях таблицы>
except
......
end;
finally
Close;
Free;
end;
end;
← →
MsGuns © (2006-06-30 16:56) [9]>stone © (30.06.06 16:15) [7]
>а сразу sp_columns использовать не проще?
Спасибо. Приму к сведению. Правда, там нет информации о ключах и индексах..
>Ega23 © (30.06.06 16:17) [8]
>Я бы на твоём месте не пренебрегал try-finally try-except:
Ежа, я и не пренебрегаю. Только вот лень было набирать тут ;)
В проекте (к сожалению на другой тачке и в другой сетке), конечно, все "научно". Да и объекты я называю, естественно, не Edit17, ADOConnection1 и т.д.
Спасибо еще раз всем. Разобрался ;)))
← →
Fay © (2006-06-30 17:13) [10]2 MsGuns © (30.06.06 15:21) [2]
var
r : _Recordset;
begin
...
r := ADOConnection.Execute("exec sp_help Table");
...
end;
Не пробовал ?
Страницы: 1 вся ветка
Текущий архив: 2006.09.10;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.039 c