A continuación encontrarás traducido al castellano el artículo escrito por William Yu y publicado originalmente en el Blog oficial de Xojo.
Si bien Xojo siempre ha soportado la conexión a bases de datos, el antiguo método no era el más ideal después de todo. Echemos un vistazo al método mejorado que puedes emplear mediante el nuevo elemento de proyecto Database Connection, y exploremos algunas incorporaciones recientes a nuestra API de bases de datos.
Fuera con lo viejo
Las anteriores conexiones a bases de datos eran bastante limitadas, pues requerían que creases una nueva conexión e introdujeras todos los parámetros cada vez que uno de ellos cambiaba. Con el nuevo item de proyecto Database Connection puedes actualizar de forma sencilla los parámetros de conexión específicos directamente en el Inspector.
Adicionalmente, ahora podrás seleccionar si un ítem se conectará automáticamente o bien si prefieres conectarlo posteriormente mediante código.
Conectar con una base de datos concreta
Hay casos en los que necesitas conectar a una base de datos para depuración y pruebas, mientras que emplearás una diferente en el servidor de producción para la compilación final del proyecto. Configurar esto correctamente con el anterior método de conexión a bases de datos requería la creación de dos conexiones separadas: una para depuración y otra para la compilación final.
Con la nueva conexión a bases de datos este proceso es mucho más simple, y encaja mejor en el proceso de compilación. Ahora cuentas con varios sub-elementos como parte de una conexión a base de datos que puedes personalizar en función de la etapa de tu proyecto o compilación. Estos sub-elementos están enlazados con el ajuste Stage Code en los ajustes Shared Build Settings, asegurando así que cuando compilas la release final tu conexión de base de datos utilizará automáticamente los ajustes correctos.
Características de bases de datos adicionales
Además de este cambio también encontrarás dos APIs nuevas de bases de datos que te resultarán útiles:
- Se ha añadido el nuevo método IsConnected a las clases SQLiteDatabase, ODBCDatabase, PostgreSQLDatabase y MySQLCommunityServer. Este método devuelve True si la conexión aun está activa, y False en el caso contrario.
- Hemos mejorado Database.AddRow con una nueva signatura que devuelve un ID único para el registro recién insertado. Esta característica está soportada en las clases SQLiteDatabase, ODBCDatabase, PostgreSQLDatabase, y MySQLCommunityServer. Es recomendable utilizar esta nueva API en vez de las deprecadas SQLiteDatabase.LastRowID y MySQLCommunityServer.LastInsertedRowID
Exploremos de qué modo la nueva característica Database.AddRow puede ayudarte. Previamente, sólo SQLiteDatabase y MySQLCommunityServer contaban con APIs para recuperar el ID único del registro insertado. ahora, PostgreSQLDatabase y ODBCDatabase también tienen esta capacidad utilizando el nuevo método Database.AddRow(tableName As String, row As DatabaseRow, idColumnName As String = "") As Integer
El nuevo aspecto de esta signatura se encuentra en el parámetro idColumnName y el valor devuelto. Para las bases de datos que soportan la cláusula SQL RETURNING, el parámetro idColumnName indica la columna cuyo valor será devuelto. En el caso de las bases de datos que no soporten la cláusula RETURNING, utilizaremos un método adecuado para cada base de datos concreta con el objeto de devolver un valor único.
Somos conscientes de la importancia que tienen las bases de datos en tus apps, de modo que con estas actualizaciones en la conexión a bases de datos y la incorporación de nuevas características, tenemos como objetivo hacer que la programación con tus bases de datos sea más fácil y eficiente.