Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
2-1156046178
Vasiliy
2006-08-20 07:56
2006.09.10
Как осуществить прокрутку в ScrollBox?


15-1155613986
Александр Иванов
2006-08-15 07:53
2006.09.10
Urarsoft


15-1155621138
Sam Stone
2006-08-15 09:52
2006.09.10
Спиральные галактики


2-1155812347
ArtemESC
2006-08-17 14:59
2006.09.10
Обязателен ли SysUtils в


3-1151917108
Bless
2006-07-03 12:58
2006.09.10
Как отловить момент, когда в DBGrid-е перешли на другую запись?





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