TprxADOConnection

De Pragma Wiki
Ir a la navegación Ir a la búsqueda

Introducción

La conexión a la base de datos se hace a través de un componente derivado de TADOConnection, todos los controles de la aplicación que necesitan interactuar con la base de datos lo hacen a través de ese componente del cual hay solo una instancia creada (es decir que se usa el mismo para cualquier acceso a la base de datos).

La clase TprxADOConnection (Conexión ADO a la base de datos.) permite la conexión de la aplicación a una base de datos, aunque también permite conectar con otros orígenes de datos, tales como una planilla de Excel.

Es la única clase de esta categoría.

Identidad

  • Ancestro: TADOConnection
  • Carpeta: C:\DevelopPrx\library
  • Archivo: prxADOConnection.pas

Declaración

La declaración de la clase TprxADOConnection es:

type
  TprxADOConnection = class(TADOConnection)
  private
    FQuery: TprxADOQuery;
    FQuerySQL: TStringList;

    Flogin_domain: String;
    Flogin_user: String;
    Flogin_user_password: String;
    Flogin_user_es_administrador: Boolean;
    Flogin_user_es_administrador_USUARIO: Boolean;
    Flogin_domain_alias: String;
    Flogin_database: String;
    Flogin_database_original: String;
    Flogin_catalog_defined: Boolean;
    Flogin_IP: String;
    Flogin_release: String;
    Flogin_computer_id: String;
    Flogin_password_vencida: Integer;
    Flogin_password_robusta: Integer;

    Flogin_MACAddress: String;

    Flogin_time: TDateTime;
    Flogin_replicacion_carpeta: String;

    FMainConnection: Boolean;
    Ffvs: Boolean;

    FTransaction: TprxADOTransaction;
    FParametros: TprxPARAMS;
    Fdatabase_list: TStringList;
    Fdatabase_list_unwanted: TStringList;

    Futc_timestamp_last_value: String;
  protected
    procedure   set_login_user(aValue: String);
    function    catalog_defined: Boolean;

    property    Query: TprxADOQuery read FQuery write FQuery;
    property    QuerySQL: TStringList read FQuerySQL write FQuerySQL;
    property    utc_timestamp_last_value: String read Futc_timestamp_last_value write Futc_timestamp_last_value;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure   Loaded; override;

    function    LoginWinAuthentication: Boolean;

    procedure   change_login_user_password(a_value: String);

    function    fva_login(a_connect_to_bd: Boolean = True): Boolean;
    function    fva_connect(aServerName: String; aUserId: String; aPassword: String): Boolean; overload;
    function    fva_connect(aServerName: String; aUserId: String; aPassword: String; aDatabaseName: String): Boolean; overload;
    function    use_database(aBaseDatos: String): Boolean;
    function    use_database_for_replication(aBaseDatos: String; aListaDominios: TStringList): Boolean;
    function    use_original_database: Boolean;
    function    utc_timestamp(a_agregar_ip: Boolean = True): String;

    function    prxTimeStampDB: String;
    function    ComputerName: String;

    function    PASSWORD_VENCIDA_Verificar: Integer;
    function    PASSWORD_ROBUSTA_Verificar(aClave: String): Integer;

    procedure   MostrarListaDeComandos(aList: TStringList); overload;
    procedure   MostrarListaDeComandos(aList: TStrings); overload;

    procedure   AbrirCambioClaveForm(Sender: TObject);
    function    CambiarClave(aAnterior: String; aNueva: String; aUsuario: String): Boolean;

    procedure   AnularAutoconexionClick(Sender: TObject);

    function    database_list_initialize: Boolean;
    function    database_has_replication(a_bd_name: String): Boolean;

    property    login_domain: String read Flogin_domain;
    property    login_user: String read Flogin_user;
    property    login_user_password: String read Flogin_user_password;
    property    login_user_es_administrador: Boolean read Flogin_user_es_administrador write Flogin_user_es_administrador;
    property    login_user_es_administrador_USUARIO: Boolean read Flogin_user_es_administrador_USUARIO write Flogin_user_es_administrador_USUARIO;
    property    login_domain_alias: String read Flogin_domain_alias write Flogin_domain_alias;
    property    login_database: String read Flogin_database;
    property    login_database_original: String read Flogin_database_original;
    property    login_catalog_defined: Boolean read Flogin_catalog_defined;
    property    login_IP: String read Flogin_IP;
    property    login_release: String read Flogin_release write Flogin_release;

    property    login_computer_id: String read Flogin_computer_id write Flogin_computer_id;
    property    login_password_vencida: Integer read Flogin_password_vencida;
    property    login_password_robusta: Integer read Flogin_password_robusta;

    property    login_MACAddress: String read Flogin_MACAddress;
    property    login_time: TDateTime read Flogin_time;

    property    login_replicacion_carpeta: String read Flogin_replicacion_carpeta;

    property    Transaction: TprxADOTransaction read FTransaction write FTransaction;
    property    Parametros: TprxPARAMS read FParametros write FParametros;

    property    database_list: TStringList read Fdatabase_list write Fdatabase_list;
    property    database_list_unwanted: TStringList read Fdatabase_list_unwanted write Fdatabase_list_unwanted;
  published
    property    ppMainConnection: Boolean read FMainConnection write FMainConnection;
    property    fvs: Boolean read Ffvs write Ffvs;
  end;

Propiedades que comienzan con Flogin_ o login

Las propiedades FLogin son las variables físicas para guardar datos sobre la conexión.

Las mismas propiedades, pero sin la F inicial son las de acceso a esas variables.

FTransaction: TprxADOTransaction

Cuando se graba una transacción se hace usando el componente TprxADOTransaction.

database_list

Guarda la lista de bases de datos encontradas a las que el usuario puede acceder. La lista unwanted contiene las bases de datos de SQL SERVER que no nos interesan (master, model, msdb, etc).