Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
В процессе работы с БД иногда необходимо выполнить какие-то мелкие запросы. Держать для этого где-то временную Query меня лично ломает, посему ловите творение (под Delphi) - модуль для создания временных TQuery и работы с ними.
примеры использования:
varS: string
; ... S := FastLookUp(format('select A.F1 from A,B where A.F4=B.F4 and B.F9=%d', [1])); with
GiveMeResultSet('select*from A where F1="777"') do
try
.... finally
Free; {не забудьте!} end
; ..... if
not
ExecuteSQL('delete from A') then
ShowMessage('Something Wrong'); .....
Сам модуль идёт ниже
{ Temporary Queries Creatin' and handlin' (c) 1997-98 by Volok Alexander (D1/D2) creation date: 30.10.1997 last update : 17.06.1998 } unitTmpQuery; interface
uses
DBTables; const
InternalDBname = 'MAIN';
{Изменять по вкусу - TDataBase.DataBaseName} typeTSQLScript =
{$IFDEF WIN32}string{$ELSE}PChar{$ENDIF}; {Создаст куери с текстом запроса, но не откроет его} function
CreateTempQuery(SQLscript: TSQLscript): TQuery;
{Создаст куери и откроет запрос - не забудьте прибить} functionGiveMeResultSET(SQLscript: TSQLscript): TQuery;
{Проверит непустоту выборки, заданной ...} functionCheckExistence(SQLscript: TSQLscript): boolean;
{Вытащит аж одно значение(лукап) из выборки, заданной ...} functionFastLookUP(SQLscript: TSQLscript): string
;
{Выполнит запрос и сообщит результат} functionExecuteSQL(SQLscript: TSQLscript): boolean; implementation
uses
Forms; function
CreateTempQuery(SQLscript: TSQLscript): TQuery; begin
Result := TQuery.Create(Application); with
Result do
begin
DatabaseName := InternalDBname;
{$IFDEF WIN32} SQL.Text := SQLscript; {$ELSE} SQL.SetText(SQLscript); {$ENDIF} end; end
; function
ExecuteSQL(SQLscript: TSQLscript): boolean; begin
with
CreateTempQuery(SQLscript) do
begin
try
ExecSQL; Result := True
; except
Result := False
; end
; Free; end
; end
; function
CheckExistence(SQLscript: TSQLscript): boolean; begin
with
GiveMeResultSET(SQLscript) do
begin
Result := not
EOF; Free; end
; end
; function
GiveMeResultSET(SQLscript: TSQLscript): TQuery; begin
Result := CreateTempQuery(SQLscript); with
Result do
try
Open; except
Free; Result := nil
; end
; end
; function
FastLookUP(SQLscript: TSQLscript): string
; begin
with
GiveMeResultSET(SQLscript) do
begin
try
Result := Fields[0].AsString; except
Result := ''; end
; Free; end
; end
; end
.