· Permite manejar más fácilmente las transacciones y los puntos de restauración (transacciones anidadas o save points).
· Presenta métodos para operaciones y consultas SQL típicas.
· Incluye método para llamar fácilmente a un procedimiento almacenado parametrizado sin necesidad de un componente StoredProc.
· Evita abrir la conexión innecesariamente al cargar el módulo de datos en tiempo de diseño.
Propiedades:
Con esta propiedad es posible indicar si la base de datos emplea nombres en mayúsculas, minúsculas o en tamaño mixto. Auxilia a muchos métodos que hacen referencia a nombres de tablas y otros objetos de la base de datos, permitiendo al programador escribir los nombres en cualquier tamaño sin riesgo de rechazo por parte del servidor.
Es un objeto que permite establecer y controlar fácilmente una transacción y puntos de restauración dentro de la misma (transacciones anidadas). Este objeto tiene varias propiedades y métodos para establecer puntos de restauración, confirmarlos y restaurarlos sin necesidad de usar variables dentro del programa. Emplea el sistema Correlated Save Points (CSP) de Sistemas GH, el cual permite relacionar entre sí a puntos de restauración de diferentes índoles.
Propiedad para indicar si la propiedad Connected debe ser guardada o no en el archivo DFM. Con esto se consigue evitar que la conexión intente abrirse cada vez que se carga el módulo de datos en el IDE, o al correr la aplicación y crearse el módulo de datos sin estar todo listo para abrir la base de datos. En el entorno de Delphi, es común establecer la propiedad Connected en True por motivos de diseño, pero es bastante frecuente que el programador quiera que esa propiedad esté en False las siguiente vez que abra el proyecto o ejecute el programa. Su valor predeterminado es False.
Métodos:
Auxiliar para convertir un nombre de tabla u otro objeto de la base de datos al tamaño de letra indicado por la propiedad NameCase.
Método para confirmar la transacción activa de forma fácil (sin necesidad de emplear la estructura TTransactionDesc). RestartTransaction es un parámetro opcional que sirve para ordenarle al componente que inicie una nueva transacción inmediatamente.
Function CurrentDate :TDate;
Método para obtener la fecha actual del servidor. Se apoya en el método SelectExpr (ver nota en la descripción de éste).
Método para obtener la hora actual del servidor. Se apoya en el método SelectExpr (ver nota en la descripción de éste).
Método para obtener la fecha y la hora actuales del servidor. Se apoya en el método SelectExpr (ver nota en la descripción de éste).
Es común consultar la fecha o la hora del servidor, más que la fecha u hora de la máquina donde corre la aplicación, en operaciones donde las fechas y horas son muy importantes y no deben ser afectadas por cambios en el reloj de la computadora local.
Método para eliminar un registro de la tabla indicada, aquel cuya llave primaria tenga un valor de ID. NOTA: El campo llave primaria de la tabla debe ser de tipo Integer y llamarse ID. Esta condición se encuentra en revisión, pero se garantiza compatibilidad hacia atrás en futuras versiones.
Este método es útil para llamar a un procedimiento almacenado que puede tener uno o más parámetros de entrada y uno o más de salida. Está pensado para llamar a procedimientos que ejecutan cálculos y operaciones, mas no aquellos que devuelven un cursor. Proc es el nombre del procedimiento a ejecutar y Params es el valor o los valores para sus parámetros de entrada. Devuelve el valor de los parámetros de salida del procedimiento, es decir, su resultado.
Llama a ExecProc y devuelve el mismo resultado que éste pero convertido a cadena. Es útil cuando el procedimiento almacenado podría devolver un valor de Null, regresando en ese caso una cadena vacía.
Este método permite agregar un registro a la tabla indicada, asignando los valores dados en Values a los campos señalados por Fields. Es una forma simplificada de ejecutar una sentencia Insert Into sobre la base de datos, sin tener que formatear los valores a asignar según su tipo de dato.
Esta segunda versión del método Insert es para especificar solamente el valor de dos campos de tipo entero. Es útil para agregar registros a tablas de relación, donde los únicos campos a llenar por parte del programa son dos llaves foráneas. Esto sin el uso de la función VarArrayOf que implicaría el emplear la primera versión del método Insert.
Function Max (Const Table,Field :String Const
Conditions :String = '') :Variant;
Obtiene el máximo valor de un campo en una tabla dada, filtrando ésta por las condiciones opcionales indicadas en el parámetro Conditions.
Llama al método Max y le suma al resultado el valor del parámetro Inc. Funciona con campos numéricos y también alfanuméricos (A1 + 1 = A2).
Segunda versión del método MaxInc, para omitir las condiciones de filtraje pero no el incremento.
Obtiene el mínimo valor de un campo en una tabla dada, filtrando ésta por las condiciones opcionales indicadas en el parámetro Conditions.
Obtiene el siguiente valor de la secuencia o generador indicado. Se apoya en el método SelectExpr (ver nota en la descripción de éste).
Método para restaurar (revertir) la transacción activa de forma fácil (sin necesidad de emplear la estructura TTransactionDesc). RestartTransaction es un parámetro opcional que sirve para ordenarle al componente que inicie una nueva transacción inmediatamente.
Function Select (Const Statement :String) :Variant;
Ejecuta una consulta Select sobre la base de datos y devuelve los valores de la primera fila de resultados. Generalmente se utiliza para realizar consultas que devuelven una sola fila y con frecuencia un solo campo.
Realizando una consulta Select devuelve el valor de uno o más campos de la tabla de configuración de la base de datos. NOTA: El nombre de esa tabla debe ser establecido en la propiedad nativa Params con el nombre de llave ConfigTable.
Empleando una sentencia Select, devuelve el valor de la expresión SQL especificada. Es útil para obtener valores no relacionados a ninguna tabla pero que solo el servidor puede calcular. NOTA: Para algunos servidores la cláusula From es obligatoria en una sentencia Select, siendo un truco típico utilizar el nombre de cualquier tabla de la base de datos que siempre tenga un registro solamente. En esos casos, el nombre de dicha tabla debe ser especificado en la propiedad nativa Params con el nombre de llave SelectAuxTable (algunas clases descendientes como TMagiaFirebirdSQLConnection no requieren esta especificación).
Function SelectFloat (Const Statement :String) :Extended;
Llama al método Select y devuelve el mismo resultado que éste pero convertido a número flotante. Es útil cuando la consulta SQL podría devolver un valor de Null, regresando en ese caso un valor de 0.
Obtiene el valor de llave primaria del registro que resulte al ejecutar la sentencia Select especificada por SubStatement. Este parámetro debe comenzar con From {Tabla} Where... o {Tabla} Where.... Internamente llama al método SelectInt. NOTA: El campo llave primaria de la tabla debe ser de tipo Integer y llamarse ID. Esta condición se encuentra en revisión, pero se garantiza compatibilidad hacia atrás en futuras versiones.
Llama al método Select y devuelve el mismo resultado que éste pero convertido a número entero. Es útil cuando la consulta SQL podría devolver un valor de Null, regresando en ese caso un valor de 0.
Llama al método Select y devuelve el mismo resultado que éste pero convertido a cadena. Es útil cuando la consulta SQL podría devolver un valor de Null, regresando en ese caso una cadena vacía.
Llama al método SelectStr y le aplica al resultado la función Trim, devolviendo una cadena de caracteres sin espacios en los extremos. Es útil cuando se consulta el valor de un campo de tipo Char y dicho valor no ocupa todos los caracteres disponibles.
Versión simplificada del método StartTransaction, que a diferencia del nativo no necesita recibir como parámetro una estructura TTransactionDesc (el componente la maneja internamente en su campo Transaction).