La librería xsmysql de xsEasyC proporciona funciones para el manejo de Bases de Datos de MySql.
Las funciones que se presentan a continuación, presentan códigos de ejemplo, para los cuales hay que ejecutar el script que viene en el directorio de ejemplos de la librería.
A continuación se presentan las Funciones que incluye la librería en el orden sugerido de uso. Los ejemplos de Código son tomados del directorio de ejemplos de la librería.
Nota. Es importante mencionar que al momento de Compilar/Enlazar para generar el ejecutable correspondiente, cuando se use la libreria xsmysql, se debe de indicar primero la librería xsEasyC y posteriormente la librería de Mysql. Ejemplo:
gcc mysqlEjecutarSql.c -lxseasyc libMySql.lib
El archivo libMySql.lib debe de encontrarse en el directorio en donde se esta realizando la compilación o indicar la ruta hacia donde se encuentra ubicado. El archivo libMySql.dll, debe de estar en el directorio donde se ejecute el programa o en el directorio de Windows/System. Los 2 anteriores archivos se encuentran en el archivo de descarga de la librería.
- mysqlInicializar
Función para Inicializar una Conexion
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL de la cual se necesita su dirección de memoria.
Este es el primer paso para realizar una conexión a MySql; inicializar una variable apuntador de Tipo MYSQL. Una vez que haya sido inicializada, se puede continuar con la conexión al Servidor.
El siguiente ejemplo muestra como inicializar una variable apuntador de Tipo MYSQL.
Ejemplo:
// Variable de Conexión
MYSQL *conexion;
// Dirección o Nombre del Servidor
Cadena servidor="localhost";
// Inicializa a null la conexion
conexion = mysqlInicializar(NULO);
- mysqlConectar
Función para conectarse a una Servidor MySql
Esta función utiliza 5 parámetros:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL de la cual se necesita su dirección de memoria.
Constante Caracter *host. Este parámetro es correspondiente la dirección ip o nombre del Host/Servidor al que se trata de conectar..
Constante Caracter *usuario. Este parámetro es para indicar el usuario registrado en el Servidor.
Constante Caracter *password. Este parámetro es para indicar el password del usuario.
Constante Caracter *basedatos. Este parámetro es para indicar la Base de Datos a la que se realiza la conexión.
El siguiente ejemplo muestra como utilizar la función para conectarse a un Servidor.
Ejemplo:
// Variable de Conexión
MYSQL *conexion;
// Dirección o Nombre del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbtest";
// Inicializa a null la conexion
conexion = mysqlInicializar(NULO);
// Intenta la Conexión
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Cierra la Conexión
Imprimir("Cerrando la Conexion ...");
CL;
mysqlDesconectar(conexion);
// Mensaje de Conexión Cerrada
Imprimir("Conexion Cerrada ...");
En el ejemplo anterior primeramente se declara una variable apuntador de Tipo MYSQL que se utilizará para la conexión; seguida de 4 variables de Cadena utilizadas para indicar el Servidor, el Usuario, el Password y la Base de Datos.
Posteriormente se utiliza la función para conectar al Servidor, utilizando las 4 variables previamente definidas.
En caso de que la función devuelva el valor de NULO, significa que hubo un error en la conexión y este es desplegado. En caso de que no haya error, se cierra la conexión.
- mysqlDesconectar
Función para desconectar una Conexión a MySql
Esta función utiliza 1 parámetros:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL de la cual se necesita su dirección de memoria.
En el ejemplo previo se observa claramente como utilizar la función de desconectar, por lo que no se utilizará código específico en esta sección.
- mysqlEjecutarSql
Función para ejecutar una sentencia Sql
Esta función utiliza 2 parámetros:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL de la cual se necesita su dirección de memoria.
Caracter *query. Este parámetro es correspondiente a la sentencia que se desea ejecutar.
El siguiente ejemplo muestra como utilizar la función para conectarse a un Servidor.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
Imprimir("Inicializando conexion ...");
CL;
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta un update en el Query
Imprimir("Ejecutando un Update ...");
CL;
mysqlEjecutarSql(conexion,"UPDATE FROM usuarios SET nick='jaor' WHERE id=1");
Imprimir("Realizando una consulta a la tabla ...");
CL;
// Ejecuta consulta
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Obtiene los resultados
resultados = mysql_use_result(conexion);
// Despliega Encabezados
Imprimir("ID Nick Clave");
Imprimir("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysql_fetch_row(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
CL;
// libera los resultados
mysqlLiberarResultados(resultados);
// Cierra la conexión.
mysqlDesconectar(conexion);
- mysqlAutoIncremento
Función para obtener el Autoincremento despues de un Insert
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL de la cual se necesita su dirección de memoria.
Cuando en una tabla se ha definido una columna de tipo AutoIncremento, esto hace que este dato sea generado automáticamente por el administrador de la Base de Datos cuando se hace una inserción de un registro y no se indica este valor. Para conocer este valor, se utiliza esta función.
El siguiente ejemplo muestra como obtener al valor generado por el AutoIncremento en la columna del Registro.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
Imprimir("Inicializa Conexion ...");
CL;
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intenta la conexion al Servidor ...");
CL;
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Cadena para Query
Cadena sQuery="INSERT INTO usuarios (nick, password, nombre, tipo) VALUES
('nico5','pass','Nombre','Mesero')";
// Ejecuta inserción de un Registro
Imprimir("Insertando un Registro ...");
si (mysqlEjecutarSql(conexion,sQuery))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
CL;
// Imprimir
Imprimir("El AutoIncremento generado en el previo INSERT es:");
CL;
ImprimirE(mysqlAutoIncremento(conexion));
CL;
// Cierra la conexion
Imprimir("Desconectando de mysql ...");
mysqlDesconectar(conexion);
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlCambiarCaracteres
Función para cambiar el Conjunto de Caracteres por Default de la Base de Datos
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL de la cual se necesita su dirección de memoria.
Caracter *conjunto. Este parámetro es para indicar el conjunto de caracteres a utilizar.
El siguiente ejemplo muestra como obtener al valor generado por el AutoIncremento en la columna del Registro.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Imprime el Conjunto de Caracteres
Imprimir("El conjunto de caracteres usados en la conexion es:");
Imprimir(mysqlConjuntoCaracteres(conexion));
CL;
Imprimir("Cambiando el Conjunto de Caracteres ...");
CL;
// Intenta cambiar el Conjunto de Caracteres
si (mysqlCambiarCaracteres(conexion, "utf8"))
{
// Declara la variable para obtener informacion del Conjunto de Caracteres
MY_CHARSET_INFO csInformacion;
mysqlInformacionCaracteres(conexion, &csInformacion);
Imprimir ("Informacion sobre el Conjunto de Caracteres:");
ImprimirX("Numero del Conjunto de Caracteres + collation: %d\n", csInformacion.number);
ImprimirX("Nombre del Conjunto de Caracteres: %s\n", csInformacion.name);
ImprimirX("Nombre del collation: %s\n", csInformacion.csname);
ImprimirX("Comentarios: %s\n", csInformacion.comment);
ImprimirX("Directorio: %s\n", csInformacion.dir);
ImprimirX("Longitud Minima del Caracter multi byte : %d\n", csInformacion.mbminlen);
ImprimirX("Longitud Maxima del Caracter multi byte : %d\n", csInformacion.mbmaxlen);
}
CL;
// Imprime el Conjunto de Caracteres
Imprimir("El conjunto de caracteres usados en la conexion es:");
Imprimir(mysqlConjuntoCaracteres(conexion));
CL;
// Cierra la conexion
mysqlDesconectar(conexion);
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlCambiarUsuario
Función para cambiar el Usuario con el que se ha accedido
Esta función utiliza 4 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL de la cual se necesita su dirección de memoria.
Caracter *usuario. Este parámetro es para indicar el nuevo usuario con el que se desea acceder.
Caracter *password. Este parámetro es para indicar el password del nuevo usuario con el que se desea acceder.
Caracter *basedatos. Este parámetro es para indicar la Base de Datos a la que se desea conectar.
El siguiente ejemplo muestra como cambiar de usuario una vez que ya se ha conectado previamente al Servidor.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
Imprimir("Inicializa la Conexion ...");
CL;
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intentando Conexion ...");
CL;
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
Imprimir("Ejecutando Consulta ...");
CL;
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Obtiene los resultados
Imprimir("Obteniendo los Resultados ...");
CL;
resultados = mysqlReferenciarResultados(conexion);
// Imprimiendo los Resultado
Imprimir("Imprimiendo los Resultados ...");
CL;
// Despliega Encabezados
Imprimir("ID Nombre Clave");
Imprimir("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysqlLeerRegistro(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
// libera los resultados
Imprimir("Liberando los Resultados ...");
CL;
mysqlLiberarResultados(resultados);
// Cambiando de Usuario y Base de Datos
Imprimir("Cambiando de Usuario ...");
CL;
si (!mysqlCambiarUsuario(conexion,"sa","admin","dbpos"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
Imprimir("Ejecutando Consulta ...");
CL;
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Obtiene los resultados
Imprimir("Obteniendo los Resultados ...");
CL;
resultados = mysqlReferenciarResultados(conexion);
// Imprimiendo
Imprimir("Inicializa la Conexion ...");
CL;
// Despliega Encabezados
Imprimir("ID Password Nombre");
Imprimir("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysqlLeerRegistro(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
// libera los resultados
mysqlLiberarResultados(resultados);
// Cierra la conexion
mysqlDesconectar(conexion);
El código previo realiza una conexion a MySql y ejecuta una consulta de la cual despliega los datos. Posteriormente utiliza la función para cambiar de Usuario, utilizando un nuevo usuario, un nuevo password, y una nueva base de datos; y realiza la conexión con estos nuevos datos. Una vez que ha logrado la conexión, ejecuta una nueva consulta de la cual despliega los datos obtenidos.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlColumnasEnRegistro
Función para obtener el número de Columnas que se obtuvieron en la mas reciente consulta
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL de la cual se necesita su dirección de memoria.
El siguiente ejemplo muestra como obtener el número de columnas obtenidas en la mas reciente consulta ejecutada en el Servidor.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializando la conexion
Imprimir("Inicializando conexion ...");
CL;
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intentando conexion ...");
CL;
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
Imprimir("Ejecutando Consulta ...");
CL;
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Obtiene los resultados
Imprimir("Obteniendo Resultados ...");
CL;
resultados = mysqlReferenciarResultados(conexion);
// Declaro variable
Entero columnas;
// Obtengo las Columnas
Imprimir("Obteniendo el Numero de Columnas ...");
CL;
columnas = mysqlColumnasEnRegistro(conexion);
Imprimir("Imprimiendo el Numero de Columnas ...");
ImprimirE(columnas);
CL;CL;
// Variable para Ciclo
Entero indice;
Imprimir("Las Columnas de la Consulta son:");
MYSQL_FIELD *colsInfo;
colsInfo = mysqlObtenerColumnas(resultados);
ciclo (indice = 0; indice < columnas; indice++)
{
imprimirEntero(indice,"Columna %d ",SIN_CAMBIO_LINEA);
imprimirCadena(colsInfo[indice].name,"es %s",CON_CAMBIO_LINEA);
}
CL;
El código previo muestra como realizar una conexión a MySql; y ejecutar una sentencia de Consulta. Adicionalmente muestra como obtener el número de columnas que se obtuvieron y despliega la posición y el nombre de cada una de las columas.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlConjuntoCaracteres
Función para obtener el conjunto de Caracteres que está utilizando el Servidor
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL de la cual se necesita su dirección de memoria.
El siguiente ejemplo muestra como obtener el conjunto de Caracteres.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Imprime el Conjunto de Caracteres
Imprimir("El conjunto de caracteres usados en la conexion es:");
Imprimir(mysqlConjuntoCaracteres(conexion));
CL;
// Cierra la conexion
mysqlDesconectar(conexion);
El código anterior, realiza una conexión a MySql y posteriormente llama a la función para obtener el conjunto de caracteres el cual es impreso de inmediato.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlError
Función que retorna el Mensaje de Error mas reciente generado
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL de la cual se necesita su dirección de memoria.
El siguiente ejemplo muestra como desplegar el Mensaje de Error generado por la mas reciente instrucción SQL.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="passerroneo";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Sale de la aplicación
retorna 0;
El código anterior, intenta realizar una conexión a MySql utilizando un password erróneo, por lo que la función de conexión falla; y entonces es utilizada la función que obtiene el Mensaje de Error y este es desplegado.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlErrorNumero
Función que retorna el Número de Error mas reciente generado
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL utilizada para realizar una conexión.
El siguiente ejemplo muestra como desplegar el número de Error generado.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Obtiene los resultados
resultados = mysqlObtenerResultados(conexion);
// Declara una variable para obtener las Columnas
MYSQL_FIELD *columna;
Imprimir("Los Nombres de las Columnas de la Consulta ...");
CL;
// Despliega los resultados de cada una de las Columnas
mientras (columna = mysqlLeerColumna(resultados))
{
ImprimirX("Nombre de la Columna : %s\n", columna->name);
ImprimirX("Longitud de la Columna: %d\n", columna->length);
ImprimirX("Tipo de la Columna : %d\n", columna->type);
CL;
}
CL;
// libera los resultados
mysqlLiberarResultados(resultados);
// Cierra la conexion
Imprimir("Desconectando de mysql ...");
mysqlDesconectar(conexion);
El código anterior, intenta realizar una conexión a MySql utilizando un password erróneo, por lo que la función de conexión falla; y entonces es utilizada la función que obtiene el Número de Error y este es desplegado.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlHostInformacion
Función que retorna información con respecto al Host/Servidor al que se está conectado
Esta función no utiliza parámetros.
El siguiente ejemplo muestra como desplegar la Información del Host.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
Imprimir("Inicializa Conexion ...");
CL;
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intenta Conexion ...");
CL;
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Imprime la Información del Host
Imprimir("La Informacion del Host es:");
Imprimir(mysqlHostInformacion(conexion));
CL;
// Cierra la conexion
mysqlDesconectar(conexion);
El código anterior, intenta realizar una conexión a MySql y una vez que se está conectado se llama a la función para obtener la información del Host y desplegarla.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlLeerColumna
Función que lee información sobre las columnas generadas en una consulta
Esta función utiliza 1 parámetro.
MYSQL_RES *resultados. Este parámetro es correspondiente a una variable de Tipo MYSQL_RES utilizada para almacenar resultados de una Consulta.
El siguiente ejemplo muestra como desplegar cada una de las columnas generadas por una Consulta.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Obtiene los resultados
resultados = mysqlObtenerResultados(conexion);
// Declara una variable para obtener las Columnas
MYSQL_FIELD *columna;
Imprimir("Los Nombres de las Columnas de la Consulta ...");
CL;
// Despliega los resultados de cada una de las Columnas
mientras (columna = mysqlLeerColumna(resultados))
{
ImprimirX("Nombre de la Columna : %s\n", columna->name);
ImprimirX("Longitud de la Columna: %d\n", columna->length);
ImprimirX("Tipo de la Columna : %d\n", columna->type);
CL;
}
CL;
// libera los resultados
mysqlLiberarResultados(resultados);
// Cierra la conexion
Imprimir("Desconectando de mysql ...");
mysqlDesconectar(conexion);
El código anterior, realiza una conexión a MySql y ejecuta una Consulta la cual los resultados los almacena en una variable de Tipo MYSQL_RES. Posteriormente declara una variable de tipo MYSQL_FIELD a la cual le asigna la ejecución de la función que obtiene información de las Columnas. La información que se despliega de las columnas es el nombre, longitud y tipo. Esto se ejecuta dentro de un ciclo, hasta que ya no haya mas columnas que leer. Finalmente se liberan los resultados obtenidos y se cierra la conexión al Servidor.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlLeerRegistro
Función que lee un Registro de un Conjunto de Resultados obtenidos de una Consulta
Esta función utiliza 1 parámetro:
MYSQL_RES *resultados. Este parámetro es correspondiente a una variable de Tipo MYSQL_RES utilizada para almacenar resultados de una Consulta.
El siguiente ejemplo muestra como leer un Registro de un conjunto de Resultados obtenidos de una Consulta.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
 // Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Obtiene los resultados
resultados = mysqlObtenerResultados(conexion);
// Despliega Encabezados
Imprimir("ID Nombre Clave");
Imprimir("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysqlLeerRegistro(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
CL;
// libera los resultados
mysqlLiberarResultados(resultados);
// Cierra la conexion
Imprimir("Desconectando de mysql ...");
mysqlDesconectar(conexion);
El código anterior, realiza una conexión a MySql y ejecuta una consulta la cual los resultados los almacena en una variable de Tipo MYSQL_RES. Posteriormente se define una variable de Tipo MYSQL_ROW la cual se utiliza para obtener cada uno de los registros que se obtuvieron de la consulta. A continuación se ejecuta un ciclo en el cual se utiliza la función para leer un registro; y mientras este devuelva resultados, se imprimirá la información correspondiente.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlLiberarResultados
Función que libera Memoria de resultados obtenidos de una Consulta
Esta función utiliza 1 parámetro:
MYSQL_RES *resultados. Este parámetro es correspondiente a una variable de Tipo MYSQL_RES utilizada para almacenar resultados de una Consulta.
Esta función utiliza una variable de Tipo MYSQL_RES en la cual previamente se almacenaron los resultados de una Consulta. En ejemplos previos se ha utilizado esta función por lo que no se colocará un código específico en esta sección.
- mysqlObtenerColumnas
Función que obtiene las Columnas generadas en una Consulta
Esta función utiliza 1 parámetro:
MYSQL_RES *resultados. Este parámetro es correspondiente a una variable de Tipo MYSQL_RES utilizada para almacenar resultados de una Consulta.
El siguiente ejemplo muestra como obtener las Columnas generadas en una Consulta y desplegarlas.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializando la conexion
Imprimir("Inicializando conexion ...");
CL;
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intentando conexion ...");
CL;
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
Imprimir("Ejecutando Consulta ...");
CL;
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Obtiene los resultados
Imprimir("Obteniendo Resultados ...");
CL;
resultados = mysqlReferenciarResultados(conexion);
// Declaro variable
Entero columnas;
// Obtengo las Columnas
Imprimir("Obteniendo el Numero de Columnas ...");
CL;
columnas = mysqlColumnasEnRegistro(conexion);
Imprimir("Imprimiendo el Numero de Columnas ...");
ImprimirE(columnas);
CL;CL;
// Variable para Ciclo
Entero indice;
Imprimir("Obteniendo las Columnas de la Consulta ...");
MYSQL_FIELD *colsInfo;
// Obtener las Columnas
colsInfo = mysqlObtenerColumnas(resultados);
ciclo (indice = 0; indice < columnas; indice++)
{
ImprimirX("Columna %u ", indice);
ImprimirX("es %s\n", colsInfo[indice].name);
}
CL;
Imprimir("Imprimiendo cada uno de los Registros ...");
ciclo (indice = 0; indice < columnas; indice++)
ImprimirX("%20s", colsInfo[indice].name);
CL;
// Ciclo para recorrer los resultados
mientras ((registro = mysqlLeerRegistro(resultados))!=NULO)
{
// Ciclo para imprimir cada columna
ciclo (indice = 0; indice < columnas; indice++)
{
ImprimirX("%20s",registro[indice]);
}
CL;
}
// libera los resultados
Imprimir("Liberando resultados ...");
mysqlLiberarResultados(resultados);
CL;
// Desconectando
Imprimir("Desconectando ...");
CL;
mysqlDesconectar(conexion);
El código anterior, realiza una conexión a MySql y ejecuta una consulta la cual los resultados los almacena en una variable de Tipo MYSQL_RES. Posteriormente se obtienen el número de Columnas que generó la Consulta y a continuación en una la variable *colsInfo de Tipo MYSQL_FIELD, se obtiene la información de cada una de las columnas generadas y se imprime su posición y nombre, utilizando un ciclo. Como se deduce, lo que devuelve esta función es un vector al cual se puede acceder por índice.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlObtenerResultados
Función que obtiene los resultados generados por una Consulta
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL utilizada realizar una conexión.
El siguiente ejemplo muestra como obtener los Resultados de una Consulta.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
Imprimir("Inicializando conexion ...");
CL;
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intentando conexion al Servidor ...");
CL;
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
Imprimir("Ejecutando Consulta ...");
CL;
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
Imprimir("Obteniendo Resultados ...");
CL;
// Obtiene los resultados
resultados = mysqlObtenerResultados(conexion);
// Imprimiendo el Numero de Resultados
Imprimir("Registros obtenidos en los resultados:");
ImprimirE(mysqlRegistrosObtenidos(resultados));
CL;
// Despliega Encabezados
Imprimir("ID Nombre Clave");
Imprimir("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysqlLeerRegistro(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
CL;
Imprimir("Liberando Resultados ...");
CL;
// libera los resultados
mysqlLiberarResultados(resultados);
// Cierra la conexion
Imprimir("Desconectando de mysql ...");
mysqlDesconectar(conexion);
En este ejemplo se observa como La funcion asigna los resultados obtenidos a una variable de Tipo MYSQL_RES; la cual es utilizada posteriormente para obtener uno por uno los registros devueltos por la consulta.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlPosicionarColumna
Función que obtiene los resultados generados por una Consulta
Esta función utiliza 2 parámetros:
MYSQL_RES *resultados. Este parámetro es correspondiente a una variable de Tipo MYSQL_RES utilizada para almacenar resultados de una Consulta.
my_ulonglong columna. La columna en la cual se quiere posicionar.
El siguiente ejemplo muestra como obtener las columnas y posicionarse en una en específico.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Obtiene los resultados
resultados = mysqlObtenerResultados(conexion);
// Salta a la segunda columna
Imprimir("Saltando a la Tercera Columna...");
mysqlPosicionarColumna(resultados,3);
// Declara una variable para obtener las Columnas
MYSQL_FIELD *columna;
Imprimir("Los Nombres de las Columnas de la Consulta ...");
CL;
// Despliega los resultados de cada una de las Columnas
mientras (columna = mysqlLeerColumna(resultados))
{
ImprimirX("Nombre de la Columna : %s\n", columna->name);
ImprimirX("Longitud de la Columna: %d\n", columna->length);
ImprimirX("Tipo de la Columna : %d\n", columna->type);
CL;
}
CL;
// libera los resultados
mysqlLiberarResultados(resultados);
// Cierra la conexion
Imprimir("Desconectando de mysql ...");
mysqlDesconectar(conexion);
En este ejemplo se observa como obtener la información de las Columnas, y cuando se entra al ciclo para el despliege de ellas, se salta a la posición 3, ignorando las 2 columnas previas.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlPosicionarRegistro
Función que obtiene los resultados generados por una Consulta
Esta función utiliza 2 parámetros:
MYSQL_RES *resultados. Este parámetro es correspondiente a una variable de Tipo MYSQL_RES utilizada para almacenar resultados de una Consulta.
my_ulonglong columna. La columna en la cual se quiere posicionar.
El siguiente ejemplo muestra como posicionarse en un registro específico dentro de un conjunto de Resultados de una Consulta.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
Imprimir("Inicializa conexion ...");
CL;
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intentando conexion ...");
CL;
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
Imprimir("Ejecutando consulta ...");
CL;
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Obtiene los resultados
Imprimir("Obteniendo Resultados ...");
CL;
resultados = mysqlObtenerResultados(conexion);
// Se ubica en el Registro 5
Imprimir("Posicionandose en el Registro 5 ...");
CL;
mysqlPosicionarRegistro(resultados,5);
// Despliega Encabezados
Imprimir("ID Nombre Clave");
Imprimir("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysql_fetch_row(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
CL;
// libera los resultados
Imprimir("Lieberando Resultados ...");
CL;
mysqlLiberarResultados(resultados);
// Cierra la conexion
Imprimir("Cerrando conexion ...");
CL;
mysqlDesconectar(conexion);
En este ejemplo se observa como se realiza una Conexión y se ejecuta una consulta; y antes de comenzar a desplegar los registros, se salta al registro número 5 de los Resultados obtenidos; evitando el despliegue de los 4 primeros. Esta función permite ubicarse en el registro que se desee de los resultados obtenidos por la Consulta.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlReferenciarResultados
Función que obtiene una Referencia hacia donde se encuentran los Resultados generados por una Consulta.
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL utilizada para realizar la conexión.
El siguiente ejemplo muestra como realizar una Consulta y obtener la referencia a los resultados y desplegarlos.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
Imprimir("Inicializando conexion ...");
CL;
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intentando conexion al Servidor ...");
CL;
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
Imprimir("Ejecutando Consulta ...");
CL;
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
Imprimir("Obteniendo Referencia a los Resultados ...");
CL;
// Obtiene la Referencia a los Resultados
resultados = mysqlReferenciarResultados(conexion);
// Despliega Encabezados
puts("ID Nombre Clave");
puts("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysqlLeerRegistro(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
CL;
Imprimir("Liberando Resultados ...");
CL;
// libera los resultados
mysqlLiberarResultados(resultados);
// Cierra la conexion
Imprimir("Desconectando de mysql ...");
mysqlDesconectar(conexion);
En este ejemplo se observa como se realiza una Conexión y se ejecuta una consulta; y se obtiene la referencia a los Resultados para posteriormente desplegar cada uno de los registros obtenidos.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlRegistrosAfectados
Función que retorna el número de registros afectados en una sentencia SQL
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL utilizada para realizar la conexión.
El siguiente ejemplo muestra como obtener el número de registros afectados al realizar una actualización y una inserción.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta sentencia para Afectar Registros
si (mysqlEjecutarSql(conexion,"UPDATE usuarios SET nombre='Jhony' WHERE usuario_id=1"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Despliega registros afectados
Imprimir("Registros Afectados");
ImprimirX("%d",mysqlRegistrosAfectados(conexion));
CL;
// Ejecuta sentencia para Insertar Registros
si (mysqlEjecutarSql(conexion,"Insert into Usuarios (nick,password,nombre,tipo) values ('nico51','clave','nico','supervisor');"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Despliega registros Insertados
Imprimir("Registros Insertados");
ImprimirX("%d",mysqlRegistrosAfectados(conexion));
CL;
// Ejecuta Sentencia Sql
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Obtiene los resultados
resultados = mysqlReferenciarResultados(conexion);
// Despliega Encabezados
Imprimir("ID Nombre Clave");
Imprimir("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysqlLeerRegistro(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
CL;
// libera los resultados
mysqlLiberarResultados(resultados);
// Cierra la conexión
mysqlDesconectar(conexion);
En este ejemplo se observa como se ejecutan 2 sentencias; una de actualización y otra de inserción. Al realizar la consulta, se llama a la función para obtener el número de registros afectados, y en cada caso el valor es de 1. Es importante menciona que si al realizar una actualización, el dato que modifica NO es distinto al que ya contiene el registro; se considera que NO se actualizó el dato.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlRegistrosObtenidos
Función que retorna el número de registros obtenidos en una Consulta
Esta función utiliza 1 parámetro:
MYSQL_RES *resultados. Este parámetro es correspondiente a una variable de Tipo MYSQL_RES utilizada para almacenar resultados.
Nota. Es importante mencionar que está función trabaja correctamente, cuando la consulta se realiza con la función mysqlObtenerResultados. Con la consulta se realiza con la función mysqlReferenciarResultados; el valor que devolverá siempre será 0.
El siguiente ejemplo muestra como obtener el número de registros obtenidos en una Consulta.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
Imprimir("Inicializando conexion ...");
CL;
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intentando conexion al Servidor ...");
CL;
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
Imprimir("Ejecutando Consulta ...");
CL;
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
Imprimir("Obteniendo Resultados ...");
CL;
// Obtiene los resultados
resultados = mysqlObtenerResultados(conexion);
// Imprimiendo el Numero de Resultados
Imprimir("Registros obtenidos en los resultados:");
ImprimirE(mysqlRegistrosObtenidos(resultados));
CL;
// Despliega Encabezados
puts("ID Nombre Clave");
puts("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysqlLeerRegistro(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
CL;
Imprimir("Liberando Resultados ...");
CL;
// libera los resultados
mysqlLiberarResultados(resultados);
// Cierra la conexion
Imprimir("Desconectando de mysql ...");
mysqlDesconectar(conexion);
En este ejemplo se observa como se ejecutan realiza una conexión al Servidor y posteiormente se ejecuta una sentencia de consulta, de la cual se obtiene el número de registros que devolvió la consulta; el valor 13.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlServidorInformacion
Función que retorna información sobre el Servidor al que se está conectado
Esta función no utiliza parámetros
El siguiente ejemplo muestra como obtener información sobre el Servidor al que se ha realizado una Conexión.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
Imprimir("Inicializa Conexion ...");
CL;
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intenta Conexion ...");
CL;
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Imprime la información del Servidor
Imprimir("La Informacion del Servidor es:");
Imprimir(mysqlServidorInformacion(conexion));
CL;
// Cierra la conexion
mysqlDesconectar(conexion);
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlSqlEjecutada
Función que retorna información sobre el Servidor al que se está conectado
Esta función no utiliza parámetros
El siguiente ejemplo muestra como obtener información sobre el Servidor al que se ha realizado una Conexión.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta un UPDATE
si (mysqlEjecutarSql(conexion,"UPDATE usuarios set password='pass' WHERE usuario_id=1"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
Imprimir("Resultados de la mas reciente sentencia ejecutada es ...");
Imprimir(mysqlSqlEjecutada(conexion));
CL;
// Cierra la conexion
mysqlDesconectar(conexion);
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlTransaccionCancelar
Función que cancela una transacción iniciada
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL utilizada para realizar una conexión.
El siguiente ejemplo muestra como cancelar una transacción iniciada.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
Imprimir("Inicializando conexion ...");
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intentando conexion al Servidor ...");
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
Imprimir("Ejecutando Consulta ...");
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
Imprimir("Obteniendo Resultados ...");
// Obtiene los resultados
resultados = mysqlObtenerResultados(conexion);
// Imprimiendo el Numero de Resultados
Imprimir("Registros obtenidos en los resultados:");
ImprimirE(mysqlRegistrosObtenidos(resultados));
CL;
// Despliega Encabezados
Imprimir("ID Nick Clave");
Imprimir("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysqlLeerRegistro(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
CL;
Imprimir("Liberando Resultados ...");
// libera los resultados
mysqlLiberarResultados(resultados);
// Iniciamos Transacción
Imprimir("Iniciar Transaccion ...");
si (!mysqlTransaccionIniciar(conexion))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
mysqlDesconectar(conexion);
retorna 0;
}
// Modificamos un registro
Imprimir("Actualizando un Registro ...");
si (mysqlEjecutarSql(conexion,"UPDATE usuarios SET password='password' WHERE usuario_id=1")!=0)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
mysqlDesconectar(conexion);
retorna 0;
}
ImprimirX("Registros Afectados: %d\n",mysqlRegistrosAfectados(conexion));
Imprimir("Cancelando Transaccion ...");
si (!mysqlTransaccionCancelar(conexion))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
mysqlDesconectar(conexion);
retorna 0;
}
Imprimir("Transaccion Cancelada ...");
// Ejecuta consulta
Imprimir("Ejecutando Consulta ...");
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
Imprimir("Obteniendo Resultados ...");
// Obtiene los resultados
resultados = mysqlObtenerResultados(conexion);
// Imprimiendo el Numero de Resultados
Imprimir("Registros obtenidos en los resultados:");
ImprimirE(mysqlRegistrosObtenidos(resultados));
CL;
// Despliega Encabezados
puts("ID Nick Clave");
puts("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysqlLeerRegistro(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
CL;
Imprimir("Liberando Resultados ...");
// libera los resultados
mysqlLiberarResultados(resultados);
// Cierra la conexion
Imprimir("Desconectando de mysql ...");
mysqlDesconectar(conexion);
En el ejemplo anterior, se inicia una Transacción. Posteriormente se actualiza un registro; y finalmente se cancela la transacción dejando sin efecto la actualización del registro realizada; lo cual queda claro al observar que el registro está intacto; tal y como se encontraba inicialmente.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlTransaccionConfirmar
Función que confirma una transacción iniciada
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL utilizada para realizar una conexión.
El siguiente ejemplo muestra como confirmar una transacción iniciada.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
Imprimir("Inicializando conexion ...");
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intentando conexion al Servidor ...");
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
// Ejecuta consulta
Imprimir("Ejecutando Consulta ...");
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
Imprimir("Obteniendo Resultados ...");
// Obtiene los resultados
resultados = mysqlObtenerResultados(conexion);
// Imprimiendo el Numero de Resultados
Imprimir("Registros obtenidos en los resultados:");
ImprimirE(mysqlRegistrosObtenidos(resultados));
// Despliega Encabezados
Imprimir("ID Nick Clave");
Imprimir("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysqlLeerRegistro(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
CL;
Imprimir("Liberando Resultados ...");
// libera los resultados
mysqlLiberarResultados(resultados);
// Iniciamos Transacción
Imprimir("Iniciar Transaccion ...");
si (!mysqlTransaccionIniciar(conexion))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
mysqlDesconectar(conexion);
retorna 0;
}
// Modificamos un registro
si (mysqlEjecutarSql(conexion,"UPDATE usuarios SET password='pass1' WHERE usuario_id=1")!=0)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
mysqlDesconectar(conexion);
retorna 0;
}
ImprimirX("Registros Afectados: %d\n",mysqlRegistrosAfectados(conexion));
Imprimir("Confirmando Transaccion ...");
si (!mysqlTransaccionConfirmar(conexion))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
mysqlDesconectar(conexion);
retorna 0;
}
Imprimir("Transaccion Confirmada ...");
// Ejecuta consulta
Imprimir("Ejecutando Consulta ...");
si (mysqlEjecutarSql(conexion,"SELECT * FROM usuarios"))
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida
retorna 0;
}
Imprimir("Obteniendo Resultados ...");
// Obtiene los resultados
resultados = mysqlObtenerResultados(conexion);
// Imprimiendo el Numero de Resultados
Imprimir("Registros obtenidos en los resultados:");
ImprimirE(mysqlRegistrosObtenidos(resultados));
// Despliega Encabezados
Imprimir("ID Nick Clave");
Imprimir("_____ __________ __________");
// Ciclo para recorrer los resultados
mientras ((registro = mysqlLeerRegistro(resultados))!=NULO)
{
// Despliega los datos
ImprimirX("%5s ",registro[0]);
ImprimirX("%-10s ",registro[1]);
ImprimirX("%-10s\n",registro[2]);
}
Imprimir("Liberando Resultados ...");
// libera los resultados
mysqlLiberarResultados(resultados);
// Cierra la conexion
Imprimir("Desconectando de mysql ...");
mysqlDesconectar(conexion);
En el ejemplo anterior, se inicia una Transacción. Posteriormente se actualiza un registro; y finalmente se confirma la transacción haciendo que la actualización del registro realizada sea confirmada; lo cual queda claro al observar que cuando se despliegan los registros despues de la confirmación; el registro involucrado aparece con el cambio efectuado.
En la siguiente imagen se observa un ejemplo de la ejecución del código.
- mysqlTransaccionIniciar
Función que inicia una transacción
Esta función utiliza 1 parámetro:
MYSQL *conexion. Este parámetro es correspondiente a una variable de Tipo MYSQL utilizada para realizar una conexión.
Esta función su propósito es iniciar una transacción la cual posteriormente puede ser cancelada o confirmada. En los códigos previos se puede observar el uso de esta función por lo que no se colocará un código específico en esta sección.
- mysqlVersion
Función que devuelve información sobre la Versión de MySql
Esta función no utiliza parametros
Esta función proporciona información sobre la versión de MySql que se está ejecutando.
El siguiente ejemplo muestra como obtener la información de la Versión de MySql que se está ejecutando.
Ejemplo:
// Variable de Conexión
MYSQL* conexion;
// Variable para la Consulta
MYSQL_RES* resultados;
// Variable para el Registro
MYSQL_ROW registro;
// Dirección del Servidor
Cadena servidor="localhost";
// Nombre del Usuario
Cadena usuario="root";
// Password del Usuario
Cadena password="";
// Base de Datos
Cadena baseDatos="dbscm";
// Inicializa a null la conexion
Imprimir("Inicializa Conexion ...");
CL;
conexion = mysqlInicializar(NULO);
// Intenta la Conexion
Imprimir("Intenta Conexion ...");
CL;
si (mysqlConectar(conexion, servidor, usuario, password, baseDatos) == NULO)
{
// Despliega el Error
Imprimir(mysqlError(conexion));
// Salida con 0
retorna 0;
}
// Imprime el Conjunto de Caracteres
Imprimir("La version del Cliente de MySql es:");
Imprimir(mysqlVersion());
CL;
// Cierra la conexion
mysqlDesconectar(conexion);
En la siguiente imagen se observa un ejemplo de la ejecución del código.