Diferencia entre revisiones de «TprxADOConnection»
Sin resumen de edición |
Sin resumen de edición |
||
Línea 133: | Línea 133: | ||
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). | 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). | ||
= | =Implementación= | ||
===function | ===function fva_connect(aServerName: String; aUserId: String; aPassword: String): Boolean=== | ||
Esta función conecta a un servidor dados los siguientes argumentos: | Esta función conecta a un servidor dados los siguientes argumentos: | ||
*aServerName es el nombre del servidor. | *aServerName es el nombre del servidor. | ||
Línea 142: | Línea 142: | ||
Retorna True si pudo conectar, False sino. | Retorna True si pudo conectar, False sino. | ||
===function | ===function fva_connect(aServerName: String; aUserId: String; aPassword: String; aDatabaseName: String): Boolean=== | ||
Similar anterior pero agrega el nombre de la base de datos a la que se quiere conectar usando el argumento '''aDatabaseName'''. | Similar anterior pero agrega el nombre de la base de datos a la que se quiere conectar usando el argumento '''aDatabaseName'''. | ||
===function | ===function fva_login(a_connect_to_bd: Boolean = True): Boolean=== | ||
Abre el form de login [[TTfva_login_form]] en el que el usuario ingresará los datos requeridos (dominio, usuario, clave y base de datos), una vez ingresados intenta hacer el login. | Abre el form de login [[TTfva_login_form]] en el que el usuario ingresará los datos requeridos (dominio, usuario, clave y base de datos), una vez ingresados intenta hacer el login. | ||
Línea 152: | Línea 152: | ||
Esta función es llamada al inicio de la aplicación. | Esta función es llamada al inicio de la aplicación. | ||
===procedure | ===procedure AbrirCambioClaveForm(Sender: TObject)=== | ||
Abre el form [[TTprxUsuariosCambiarClaveForm]] de cambio de clave (solo para el usuario logueado) y aplica ese cambio. | Abre el form [[TTprxUsuariosCambiarClaveForm]] de cambio de clave (solo para el usuario logueado) y aplica ese cambio. | ||
===function | ===function CambiarClave(aAnterior: String; aNueva: String; aUsuario: String): Boolean=== | ||
Aplica el cambio de clave del usuario activo a la base de datos. | Aplica el cambio de clave del usuario activo a la base de datos. | ||
=Uso= | =Uso= | ||
Este componente se usa mucho en la aplicación. | Este componente se usa mucho en la aplicación. |
Revisión del 17:35 15 may 2025
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.
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).
Implementación
function fva_connect(aServerName: String; aUserId: String; aPassword: String): Boolean
Esta función conecta a un servidor dados los siguientes argumentos:
- aServerName es el nombre del servidor.
- aUserId es el código del usuario.
- aPassword es la contraseña del usuario.
Retorna True si pudo conectar, False sino.
function fva_connect(aServerName: String; aUserId: String; aPassword: String; aDatabaseName: String): Boolean
Similar anterior pero agrega el nombre de la base de datos a la que se quiere conectar usando el argumento aDatabaseName.
function fva_login(a_connect_to_bd: Boolean = True): Boolean
Abre el form de login TTfva_login_form en el que el usuario ingresará los datos requeridos (dominio, usuario, clave y base de datos), una vez ingresados intenta hacer el login.
Si lo logra retorna True, sino False.
Esta función es llamada al inicio de la aplicación.
procedure AbrirCambioClaveForm(Sender: TObject)
Abre el form TTprxUsuariosCambiarClaveForm de cambio de clave (solo para el usuario logueado) y aplica ese cambio.
function CambiarClave(aAnterior: String; aNueva: String; aUsuario: String): Boolean
Aplica el cambio de clave del usuario activo a la base de datos.
Uso
Este componente se usa mucho en la aplicación.