En esta ocasión voy a agregar un primer Procedimiento Almacenado que va se va a encargar de Guardar o Modificar un Usuario.
Los stored procedures (procedimientos almacenados) son los equivalentes a las rutinas, procedimientos que se encargan de ejecutar una función especifica. Tal como lo hacíamos en Visual Basic con los procedimientos de guardar cumplen la misma función solo que acá se ejecutan en la misma base de datos.
Paso 1: Primer paso es conectar la base de datos para eso se da doble clic sobre ella, luego se da clic derecho en Procedures:
Como vemos en la Base de datos que se creo en la lección anterior luego de conectar la base de datos se procede a dar clic derecho en Procedures y Luego en New Procedure.
Paso 2: Nombre al procedimiento. normalmente en mi caso los nombro iniciando con PROC_ al principio luego el evento que va a realizar y luego el nombre de la tabla afectada, en nuestro ejemplo la tabla se llama USUARIO, el nombre quedaría de la siguiente manera PROC_GUARDAR_USUARIO. Para que uso este formato para poder localizarlo fácilmente cuando se tengas muchos procedimiento.
Paso 3: Parámetros de Entrada y de Salida. En esta parte determinamos que variables va a recibir el procedimiento y su tipo de dato. Para eso en la pestaña Input damos clic derecho y Append para agregar el parámetro de la misma manera con los demás. Luego hacemos lo mismo en la pestaña Output que son los parámetros de salida si los tiene.
Como se ve en la imagen el procedimiento recibe 2 parámetros y el USUARIO ID puede ser NULL pero Nombre No. No tenemos parámetros de salida. los parámetros de entrada inician con E_ y los de salida S_
Paso 3: Programar el proceso de guardado.
BEGIN /* Procedure body */ UPDATE USUARIO SET NOMBRE = :E_NOMBRE WHERE USUARIO_ID = :E_CODIGO; /* si no se actualiza se procede a insertar*/ IF (ROW_COUNT = 0) THEN INSERT INTO USUARIO (USUARIO_ID, NOMBRE)VALUES (:E_CODIGO, :E_NOMBRE); SUSPEND; END
El procedimiento inicia con un BEGIN y termina con un END dentro va el código de actualizar primeramente los parámetros se pasan después de dos puntos en el ejemplo los dos parámetros son: :E_NOMBRE y :E_CODIGO
en nuestro caso se hace primero el procedimiento de actualización basado en el código si la consulta no actualiza hay una variable llamada ROW_COUNT que retorna UNO (1) si hizo la actualización y sino devuelve CERO (0).
por eso se utiliza el condicional que valida si se actualizo sino no actualiza ( IF (ROW_COUNT = 0) THEN ) se precede a insertar el registro.
Algo que me di cuenta depues de buscar porque me daba error es que el IF no lleva END simplemente las líneas que van dentro deben finalizar con punto y coma.
IF (ROW_COUNT = 0) THEN INSERT INTO USUARIO (USUARIO_ID, NOMBRE)VALUES (:E_CODIGO, :E_NOMBRE);
Luego de terminar el código del procedimiento se procede a compilar para saber si hay errores y luego a ejecutar.
Luego de compilar se procede a Ejecutar para probar que funcione bien.
Como se ve en la imagen se hace la prueba de guardado, se llena el parámetro E_NOMBRE, E_CODIGO queda NULL ya que en la base de datos lo tenemos como Auto numérico. Luego damos clic en OK.
Para verificar que se guardo vamos a la tabla USUARIO y Actualizamos para ver si se agrego el registro. Para ver los datos debemos irnos a la pestaña Data.
Luego de haber probado que tanto la inserción como la modificación funcionen pasamos a Visual Basic para llamar al procedimiento.
Creo un procedimiento en un modulo de Visual Basic del proyecto que se hizo en la lección anterior y queda de la siguiente manera:
Sub Guardar_Cliente(Codigo As String, Nombres As String) On Error GoTo error If Codigo = "" Then sql = "execute procedure PROC_GUARDAR_USUARIO(null, '" & Nombres & "')" Else sql = "execute procedure PROC_GUARDAR_USUARIO(" & Codigo & ", '" & Nombres & "')" End If ConexionADO.Execute sql MsgBox "Usuario Guardado", vbInformation, "Guardar" Exit Sub error: MsgBox Err.Description, vbCritical, "Error al guardar el cliente" End Sub
execute procedure son los parámetros para llamar el Procedimiento de la base de datos.
Al dar clic en Guardar se llama a el procedimiento Guardar_Cliente y esta al procedimiento de la base de datos.
En el siguiente video explico todo paso a paso:
Puedes escribirme a mi correo: luisfermartinezricardo@gmail.com
Puedes escribirme por Telegram: @elmejorb
Puedes unirte a mi grupo de Telegram: Grupo Programar Es Facil
Suscríbete a mi canal de Youtube: https://www.youtube.com/ProgramarEsFacil
En este proyecto, vamos a desarrollar una calculadora sencilla usando Visual Basic 6, que permite…
6 de septiembre de 2024 - La demanda de desarrolladores de software sigue en aumento,…
En un movimiento histórico, la Unión Europea ha aprobado la primera ley de inteligencia artificial…
¿Sigues trabajando con Visual Basic 6 y necesitas una forma eficiente de acceder a tus…
OpenAI revoluciona la interacción con IA: ChatGPT ahora interpreta imágenes En un avance significativo para la…
Bienvenido al Curso Básico de Visual Basic 6! Este curso está diseñado para llevarte a…
Este sitio utiliza cookies desea activarlas
Deja un comentario