Componentes.Terceros.SDAC/internal/4.10.0.10/1/Source/Design/MSSQLEditor.pas
2007-10-05 14:48:18 +00:00

99 lines
2.7 KiB
ObjectPascal

//////////////////////////////////////////////////
// SQL Server Data Access Components
// Copyright © 1998-2005 Core Lab. All right reserved.
// MSSQL Editor
//////////////////////////////////////////////////
{$IFNDEF CLR}
{$I SDac.inc}
unit MSSQLEditor;
{$ENDIF}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, DASQLEditor, ComCtrls, StdCtrls, Buttons, ExtCtrls,
OLEDBAccess;
type
TMSSQLEditorForm = class(TDASQLEditorForm)
btQueryAnalyzer: TButton;
btManagementStudio: TButton;
procedure btQueryAnalyzerClick(Sender: TObject);
procedure btManagementStudioClick(Sender: TObject);
protected
procedure DoInit; override;
procedure DoError(E: Exception); override;
public
property SQL;
end;
procedure DoError(Sender: TDASQLEditorForm; E: EOLEDBError);
implementation
{$IFDEF IDE}
{$R *.dfm}
{$ENDIF}
{$IFDEF MSWINDOWS}
{$R MSSQLEditor.dfm}
{$ENDIF}
uses
MSAccess, DASQLFrame, DAParamsFrame, MSParamsFrame, DAMacrosFrame, DASPCallFrame,
MSSPCallFrame{$IFDEF SDAC}, MSDesign{$ENDIF};
procedure DoError(Sender: TDASQLEditorForm; E: EOLEDBError);
begin
Sender.ActivateFrame(Sender.SQLFrame);
Sender.ActiveControl := Sender.SQLFrame.meSQL;
end;
{ TMSSQLEditorForm }
procedure TMSSQLEditorForm.DoError(E: Exception);
begin
if E is EOLEDBError then
{$IFDEF CLR}CoreLab.SDac.Design.{$ENDIF}MSSQLEditor.DoError(Self, EOLEDBError(E))
else
inherited;
end;
procedure TMSSQLEditorForm.DoInit;
begin
FSQLFrame := AddTab(TDASQLFrame, shSQL) as TDASQLFrame;
FParamsFrame := AddTab(TMSParamsFrame, shParameters) as TDAParamsFrame;
FMacrosFrame := AddTab(TDAMacrosFrame, shMacros) as TDAMacrosFrame;
FSPCallFrame := AddTab(TMSSPCallFrame, shGeneratorSPC) as TDASPCallFrame;
inherited;
{$IFDEF SDAC}
btQueryAnalyzer.Visible := IsServerToolInstalled(stQueryAnalyser);
btManagementStudio.Visible := IsServerToolInstalled(stManagementStudio);
if btQueryAnalyzer.Visible and (SQL.Connection <> nil) then
btQueryAnalyzer.Visible := TMSConnection(SQL.Connection).Options.Provider <> prCompact;
if btManagementStudio.Visible and (SQL.Connection <> nil) then
btManagementStudio.Visible := TMSConnection(SQL.Connection).Options.Provider <> prCompact;
{$ENDIF}
end;
procedure TMSSQLEditorForm.btQueryAnalyzerClick(Sender: TObject);
begin
{$IFDEF SDAC}
RunServerToolMSSQL(stQueryAnalyser, LocalComponent as TMSSQL);
{$ENDIF}
end;
procedure TMSSQLEditorForm.btManagementStudioClick(Sender: TObject);
begin
{$IFDEF SDAC}
RunServerToolMSSQL(stManagementStudio, LocalComponent as TMSSQL);
{$ENDIF}
end;
end.