git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.SDAC@3 6f543ec7-021b-7e4c-98c9-62eafc7fb9a8
97 lines
1.9 KiB
ObjectPascal
97 lines
1.9 KiB
ObjectPascal
unit Data;
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, Windows, Menus, ImgList, StdCtrls, ComCtrls, Buttons,
|
|
ExtCtrls, Graphics, Controls, Forms, DB,
|
|
MemData, DBAccess, MSAccess, MemDS, SdacVcl, DAScript, MSScript;
|
|
|
|
type
|
|
TDM = class(TDataModule)
|
|
Connection: TMSConnection;
|
|
quDetail: TMSQuery;
|
|
quMaster: TMSQuery;
|
|
dsMaster: TDataSource;
|
|
dsDetail: TDataSource;
|
|
scCreate: TMSScript;
|
|
scDrop: TMSScript;
|
|
private
|
|
public
|
|
procedure KillSession;
|
|
function InTransaction: boolean;
|
|
procedure StartTransaction;
|
|
procedure RollbackTransaction;
|
|
procedure CommitTransaction;
|
|
end;
|
|
|
|
const
|
|
ProductColor: TColor = $5D5DCC;
|
|
|
|
var
|
|
DM: TDM;
|
|
|
|
implementation
|
|
|
|
{$IFDEF CLR}
|
|
{$R *.nfm}
|
|
{$ENDIF}
|
|
{$IFDEF WIN32}
|
|
{$R *.dfm}
|
|
{$ENDIF}
|
|
|
|
uses
|
|
Main;
|
|
|
|
{ TDM }
|
|
|
|
procedure TDM.KillSession;
|
|
var
|
|
KillConnection: TMSConnection;
|
|
Query: TMSQuery;
|
|
SPID: string;
|
|
begin
|
|
Query := TMSQuery.Create(nil);
|
|
try
|
|
Query.Connection := Connection;
|
|
Query.SQL.Text := 'SELECT @@SPID AS ''SPID''';
|
|
Query.Open;
|
|
SPID := Query.FieldByName('SPID').AsString;
|
|
finally
|
|
Query.Free;
|
|
end;
|
|
KillConnection := TMSConnection.Create(nil);
|
|
try
|
|
KillConnection.Server := Connection.Server;
|
|
KillConnection.Username := Connection.Username;
|
|
KillConnection.Password := Connection.Password;
|
|
KillConnection.Database := Connection.Database;
|
|
KillConnection.LoginPrompt := False;
|
|
KillConnection.ExecSQL(Format('KILL %s', [SPID]), []);
|
|
finally
|
|
KillConnection.Free;
|
|
end;
|
|
end;
|
|
|
|
function TDM.InTransaction: boolean;
|
|
begin
|
|
Result := Connection.InTransaction;
|
|
end;
|
|
|
|
procedure TDM.StartTransaction;
|
|
begin
|
|
Connection.StartTransaction;
|
|
end;
|
|
|
|
procedure TDM.CommitTransaction;
|
|
begin
|
|
Connection.Commit;
|
|
end;
|
|
|
|
procedure TDM.RollbackTransaction;
|
|
begin
|
|
Connection.Rollback;
|
|
end;
|
|
|
|
end.
|