Diferencia entre revisiones de «TprxADOConnection»
m (Luciano Carou trasladó la página TADOConnection a TprxADOConnection) |
(→Uso) |
||
(No se muestran 8 ediciones intermedias del mismo usuario) | |||
Línea 3: | Línea 3: | ||
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. | 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. | ||
=[[QUEESESTO/IDENTIDAD|Identidad]]= | =[[QUEESESTO/IDENTIDAD|Identidad]]= | ||
Línea 123: | Línea 121: | ||
end; | end; | ||
</pre> | </pre> | ||
===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. | |||
===FMainConnection: Boolean=== | |||
Cuando está seteada a True indica que es la conexión principal de la aplicación. Este componente solo se usa en [[TprxADOClientDM]] y al ser la única conexión de la aplicación define esa propiedad como True. | |||
===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= | |||
El componente solo se usa en [[TprxADOClientDM]] y es la única conexión a la base de datos que usa la aplicación. |
Revisión actual - 20:22 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.
FMainConnection: Boolean
Cuando está seteada a True indica que es la conexión principal de la aplicación. Este componente solo se usa en TprxADOClientDM y al ser la única conexión de la aplicación define esa propiedad como True.
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
El componente solo se usa en TprxADOClientDM y es la única conexión a la base de datos que usa la aplicación.