Управление наборами данных
Следующий фрагмент кода иллюстрирует применение функции 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);
…определяет параметры отдельной процедуры.
