![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
sp_help доступ к данным второго recordset
Анна © (2010-04-14 11:48:00)Нужно получить данные о размерности полей таблицы.
делаю так:
procedure TForm1.Button1Click(Sender: TObject);
var
TempDataSet: TDataSet;
begin
ADODataSet1.CommandText:='exec sp_help ves';
ADODataSet1.Open;
ADODataSet1.First;
TempDataSet:=ADODataSet1;
showmessage(TempDataSet.fields[0].asstring);
TempDataSet.Free;
TempDataSet := ADODataSet1.NextRecordSet;
showmessage(TempDataSet.fields[1].asstring);
end;
На выделенной строчке вываливается ошибка: Not enough actual parameters.
Подскажите пожалуйста какой параметр нужно написать?
Анна (2010-04-14 12:34:00) [1]
> Вариант (14.04.10 12:30) [3]
Все спасибо большое! Вопрос снят.
Анна (2010-04-14 12:32:00) [2]
> Anatoly Podgoretsky © (14.04.10 12:13) [2]
Справку я смотрела и делала так:
ADODataSet1.NextRecordSet(2);
Ругалась при компиляции....
Сейчас поставила
var
nn:integer;
nn:=2;
И обращаюсь к функции: ADODataSet1.NextRecordSet( nn);
Компиляция проходит, Но к следующему набору данных не переходит...
Что-то я не так пишу.
Вариант (2010-04-14 12:30:00) [3]
> sp_help доступ к данным второго recordset
> TempDataSet:= ADODataSet1;
> .....
> TempDataSet.Free;
После этой строки мы попращались с ADODataSet1, остальные обращения к нему видятся бессмысленными.
Зачем делается TempDataSet:=ADODataSet1?
Потом зачем Free?
Правильней задать вопрос так - а что вы хотели сделать и что получить?
Выполнить запрос и получить результат в виде нескольких рекордсетов? Для этого надо было объявить не TempDataSet: TDataSet, а TempRecordSet: _RecordSet; Посмотрите пример в help по дельфи.
Anatoly Podgoretsky (2010-04-14 12:13:00) [4]> Анна (14.04.2010 11:48:00) [0]
В справке function NextRecordset(var RecordsAffected: Integer): _Recordset;
Игорь Шевченко (2010-04-14 11:51:00) [5]
> Подскажите пожалуйста какой параметр нужно написать?
actual