Сегодня вроде не 1 апреля, для розыгрыша от Админа.
Код:
unit DQueryUnit;
interface
uses
SysUtils, Classes, DBTables;
type
DQuery=class(TQuery)
private
function GetSelect:boolean;
public
procedure RunSQL; virtual;
end;
procedure Register;
implementation
function DQuery.GetSelect:boolean;
begin
if Pos('SELECT ',uppercase(SQL.Strings[0]))=1
then result:=true
else result:=false;
end;
// После заполнения параметра SQL необходимой командой
// не разбирайтесь, должна ли она выводить результат.
// Вызывайте эту процедуру и все будет нормально
procedure DQuery.RunSQL;
begin
if GetSelect
then Active:=true
else ExecSQL;
end;
procedure Register;
begin
RegisterComponents('BDE',[DQuery]);
end;
end.