Управление наборами данных
Следующий фрагмент кода иллюстрирует применение функции Execute.
procedure TForml.SendBtnClick(Sender: TObject); var FParams: TParams; FDataSet: TSQLDataSet; begin FParams: = TParams.Create; try FParams.Items[0].Aslnteger: = 1234; FParams.Items[1].AsInteger: = 6751; MyConnection.Execute('SELECT * FROM Orders WHERE OrderNo >=:Ord AND EmpNo =:Emp', FParams, FDataSet); if Assigned(FDataSet) then with FDataSet do begin Open; while Not EOF do begin {…} Next; end; Close; end; finally FParams.Free; end; end;
Если запрос не имеет настраиваемых параметров и не возвращает набор данных, можно использовать функцию:
function ExecuteDirect(const SQL: string): LongWord;
…которая возвращает О в случае успешного выполнения запроса или код ошибки.
Метод:
procedure GetTableNames(List: TStrings; SystemTables: Boolean = False);
…возвращает список таблиц базы данных. Параметр SystemTables позволяет включать в формируемый список List системные таблицы.
Метод GetTableNames дополнительно управляется свойством:
TTableScope = (tsSynonym, tsSysTable, tsTable, tsView); TTableScopes = set of TTableScope; property TableScope: TTableScopes;
…которое позволяет задать тип таблиц, имена которых попадают в список. Для каждой таблицы можно получить список полей, использовав метод:
procedure GetFieldNames(const TableName: String; List: TStrings);
…и список индексов при помощи метода:
procedure GetlndexNames(const TableName: string; List: TStrings);
В обоих методах список возвращаемых значений содержится в параметре List.
Аналогичным образом метод:
procedure GetProcedureNames(List: TStrings);
…возвращает список доступных хранимых процедур, а метод:
procedure GetProcedureParams(ProcedureName: String; List: TList);
…определяет параметры отдельной процедуры.