Lo primero que debemos de saber es que la realización de estos procesos, se realizan llamando a una consulta sql. Estas consultas tienen diferentes formas de construcción que veremos a continuación:
Para insertar registros:
"INSERT INTO Nombre de la tabla (campo1,campo2,campo3)VALUES(valor1,valor2,valor3)"
Para eliminar registros:
"DELETE * FROM Nombre de la tabla WHERE Condición"
Para Actualizar registros:
"UPDATE Nombre de la tabla SET Campo1=Valor1,Campo2=Valor2,Campo3=Valor3 WHERE Condicion"
Y ahora vamos a verlo en programación, de forma que tendremos las siguientes funciones. Volvemos a lo mismo, las funciones que programaremos devolverán de resultado booleano, es decir, verdadero o falso.
Verdadero si se realiza correctamente el proceso y falso si no se realiza correctamente.
Vamos a verlo y con esto nos despedimos en este artículo para continuar en el siguiente.
'Debajo de la variable Conex, declararemos las siguientes variables:
Public Comando As OleDbCommand 'Comando que se encarga de ejecutar consultas SQL
Public nRegistros As Integer 'Almacenamos en esta variable el número de registros insertados, actualizados o eliminados
Public ConsultaSQL As String 'Almacena una consulta SQL
'Y ahora si, programamos la función para agregar registros a la base de datos.A esta función le vamos a pasar como parámetro una consulta SQL completa. Más tarde, cuando empecemos con la programación de los botones veremos como se hace, por el momento, estamos programando cosas generales. Vamos con la función para agregar registros.
Public Comando As OleDbCommand 'Comando que se encarga de ejecutar consultas SQL
Public nRegistros As Integer 'Almacenamos en esta variable el número de registros insertados, actualizados o eliminados
Public ConsultaSQL As String 'Almacena una consulta SQL
'Y ahora si, programamos la función para agregar registros a la base de datos.A esta función le vamos a pasar como parámetro una consulta SQL completa. Más tarde, cuando empecemos con la programación de los botones veremos como se hace, por el momento, estamos programando cosas generales. Vamos con la función para agregar registros.
Function AgregarRegistros(ConsultaSQL As String) As Boolean
Try
'Primero debemos conectarnos a la base de datos
Call Conectar()
'Creamos un nuevo comando pasandole dos parametros: La consulta que en este caso será una consulta de Inserción (Insert Into)
'y la conexión que se va a utilizar, en este caso será la conexión que apunta a la base de datos llamada Agenda multiusuario
Comando = New OleDbCommand(ConsultaSQL, Conex)
'Establecemos las características del comando
With Comando
.CommandText = ConsultaSQL
.CommandType = CommandType.Text
nRegistros = .ExecuteNonQuery()
End With
'El ExecuteNonQuery siempre devuelve el número de registros insertados, eliminados o actualizados por eso
'al llamar a ese procedimiento asignamos su valor a la variable nRegistros, de esta forma, ahora podemos crear
'una condición con la variable nRegistros, y lo haremos de la siguiente manera:
'Si nRegistros es mayor que cero, quiere decir que inserto registros, en caso contrario, quiere decir que no
'inserto ningun registro
If nRegistros > 0 Then
Call Desconectar()
MsgBox(nRegistros & " registo(s) se ha(n) insertado correctamente", vbInformation, "Inserción realizada")
Return True
Else
MsgBox("No se ha insertado ningún registro", vbCritical, "Inserción no realizada")
Call Desconectar()
Return False
End If
Catch ex As Exception
'Si ejecuta el catch es que existio un error y por tanto no inserto nada, así que en este caso mostraremos un mensaje
Call Desconectar()
MsgBox("No se ha podido insertar el registro solicitado" & vbCr & ex.ToString, vbCritical, "Inserción de registros fallida")
Return False
End Try
End Function
Try
'Primero debemos conectarnos a la base de datos
Call Conectar()
'Creamos un nuevo comando pasandole dos parametros: La consulta que en este caso será una consulta de Inserción (Insert Into)
'y la conexión que se va a utilizar, en este caso será la conexión que apunta a la base de datos llamada Agenda multiusuario
Comando = New OleDbCommand(ConsultaSQL, Conex)
'Establecemos las características del comando
With Comando
.CommandText = ConsultaSQL
.CommandType = CommandType.Text
nRegistros = .ExecuteNonQuery()
End With
'El ExecuteNonQuery siempre devuelve el número de registros insertados, eliminados o actualizados por eso
'al llamar a ese procedimiento asignamos su valor a la variable nRegistros, de esta forma, ahora podemos crear
'una condición con la variable nRegistros, y lo haremos de la siguiente manera:
'Si nRegistros es mayor que cero, quiere decir que inserto registros, en caso contrario, quiere decir que no
'inserto ningun registro
If nRegistros > 0 Then
Call Desconectar()
MsgBox(nRegistros & " registo(s) se ha(n) insertado correctamente", vbInformation, "Inserción realizada")
Return True
Else
MsgBox("No se ha insertado ningún registro", vbCritical, "Inserción no realizada")
Call Desconectar()
Return False
End If
Catch ex As Exception
'Si ejecuta el catch es que existio un error y por tanto no inserto nada, así que en este caso mostraremos un mensaje
Call Desconectar()
MsgBox("No se ha podido insertar el registro solicitado" & vbCr & ex.ToString, vbCritical, "Inserción de registros fallida")
Return False
End Try
End Function
'Bien ahora quíero que os fijeis en las otras dos funciones que vienen a continuación, la de eliminar y la de actualizar registros. Vereis, si os deteneis a echar un vistazo al código que es exactamente igual, lo único que cambiará será la sentencia SQL y los parametros que se le pasarán a la función y claro está, logicamente los msgbox que aparecerán al usuario.
'Vamos con la función de eliminación de registros:
Function EliminarRegistros(Tabla As String, Condicion As String) As Boolean
'Aquí en esta consulta le pasamos: La tabla de la cual queremos eliminar el registro y la condición que debe cumplir para poder ser eliminado. Fijaros que la Tabla y la Condición son parámetros que se le pasan a la función de EliminarRegistros.
ConsultaSQL = "DELETE * FROM " & Tabla & "WHERE " & Condicion
'La consulta dice: Elimina todos los campos (por esto el *) de la tabla que le pasemos donde se cumpla una condicion
'que le pasaremos tambien
Try
'Nos conectamos a la base de datos
Call Conectar()
'Creamos un nuevo comando pasandole dos parametros: La consulta que en este caso será una consulta de Eliminación
'(DELETE)
'y la conexión que se va a utilizar, en este caso será la conexión que apunta a la base de datos llamada Agenda multiusuario
Comando = New OleDbCommand(ConsultaSQL, Conex)
'Establecemos las características del comando
With Comando
.CommandText = ConsultaSQL
.CommandType = CommandType.Text
nRegistros = .ExecuteNonQuery()
End With
'El ExecuteNonQuery siempre devuelve el número de registros insertados, eliminados o actualizados por eso
'al llamar a ese procedimiento asignamos su valor a la variable nRegistros, de esta forma, ahora podemos crear
'una condición con la variable nRegistros, y lo haremos de la siguiente manera:
'Si nRegistros es mayor que cero, quiere decir que en este caso, eliminó registros,
'en caso contrario, quiere decir que no elimino ningun registro
If nRegistros > 0 Then
Call Desconectar()
MsgBox(nRegistros & " registo(s) ha(n) sido eliminado(s) correctamente", vbInformation, "Eliminación realizada")
Return True
Else
Call Desconectar()
MsgBox("No se ha eliminado ningún registro", vbCritical, "Eliminación no realizada")
Return False
End If
Catch ex As Exception
Call Desconectar()
'Si ejecuta el catch es que existio un error y por tanto no inserto nada, así que en este caso mostraremos un mensaje
MsgBox("No se ha podido eliminar el registro solicitado" & vbCr & ex.ToString, vbCritical, "Eliminación de registros fallida")
Return False
End Try
End Function
'La consulta dice: Elimina todos los campos (por esto el *) de la tabla que le pasemos donde se cumpla una condicion
'que le pasaremos tambien
Try
'Nos conectamos a la base de datos
Call Conectar()
'Creamos un nuevo comando pasandole dos parametros: La consulta que en este caso será una consulta de Eliminación
'(DELETE)
'y la conexión que se va a utilizar, en este caso será la conexión que apunta a la base de datos llamada Agenda multiusuario
Comando = New OleDbCommand(ConsultaSQL, Conex)
'Establecemos las características del comando
With Comando
.CommandText = ConsultaSQL
.CommandType = CommandType.Text
nRegistros = .ExecuteNonQuery()
End With
'El ExecuteNonQuery siempre devuelve el número de registros insertados, eliminados o actualizados por eso
'al llamar a ese procedimiento asignamos su valor a la variable nRegistros, de esta forma, ahora podemos crear
'una condición con la variable nRegistros, y lo haremos de la siguiente manera:
'Si nRegistros es mayor que cero, quiere decir que en este caso, eliminó registros,
'en caso contrario, quiere decir que no elimino ningun registro
If nRegistros > 0 Then
Call Desconectar()
MsgBox(nRegistros & " registo(s) ha(n) sido eliminado(s) correctamente", vbInformation, "Eliminación realizada")
Return True
Else
Call Desconectar()
MsgBox("No se ha eliminado ningún registro", vbCritical, "Eliminación no realizada")
Return False
End If
Catch ex As Exception
Call Desconectar()
'Si ejecuta el catch es que existio un error y por tanto no inserto nada, así que en este caso mostraremos un mensaje
MsgBox("No se ha podido eliminar el registro solicitado" & vbCr & ex.ToString, vbCritical, "Eliminación de registros fallida")
Return False
End Try
End Function
'y ahora con la función de actualización de registros:
Function ActualizarRegistros(Tabla As String, Campos As String, Condicion As String) As Boolean
'Aquí le pasamos tambien la Tabla que queremos actualizar, los campos que queremos actualizar (junto con los valores con los cuales queremos acutalizar la tabla, esto lo veremos más claro cuando comencemos a programar los botones de los formularios) y la condición que se debe cumplir para poder actualizar el registro
ConsultaSQL = "UPDATE " & Tabla & "SET " & Campos & " WHERE " & Condicion
'La consulta dice: Actualiza en la tabla que le pasemos, los campos que le pasemos con los valores correspondientes
'donde se cumpla una condicion
Try
'Nos conectamos a la base de datos
Call Conectar()
'Creamos un nuevo comando pasandole dos parametros: La consulta que en este caso será una consulta de Actualización
'(UPDATE)
'y la conexión que se va a utilizar, en este caso será la conexión que apunta a la base de datos llamada Agenda multiusuario
Comando = New OleDbCommand(ConsultaSQL, Conex)
'Tener en cuenta que en este caso, se utiliza tambien la palabra SET para que los campos puedan ser actualizados
'Establecemos las características del comando
With Comando
.CommandText = ConsultaSQL
.CommandType = CommandType.Text
nRegistros = .ExecuteNonQuery()
End With
'El ExecuteNonQuery siempre devuelve el número de registros insertados, eliminados o actualizados por eso
'al llamar a ese procedimiento asignamos su valor a la variable nRegistros, de esta forma, ahora podemos crear
'una condición con la variable nRegistros, y lo haremos de la siguiente manera:
'Si nRegistros es mayor que cero, quiere decir que en este caso, actualizó registros,
'en caso contrario, quiere decir que no actualizo ningun registro
If nRegistros > 0 Then
Call Desconectar()
MsgBox(nRegistros & " registo(s) ha(n) sido actualizado(s) correctamente", vbInformation, "Actualización realizada")
Return True
Else
Call Desconectar()
MsgBox("No se ha actualizado ningún registro", vbCritical, "Actualización no realizada")
Return False
End If
Catch ex As Exception
Call Desconectar()
'Si ejecuta el catch es que existio un error y por tanto no inserto nada, así que en este caso mostraremos un mensaje
MsgBox("No se ha podido actualizar el registro solicitado" & vbCr & ex.ToString, vbCritical, "Actualización de registros fallida")
Return False
End Try
End Function
'La consulta dice: Actualiza en la tabla que le pasemos, los campos que le pasemos con los valores correspondientes
'donde se cumpla una condicion
Try
'Nos conectamos a la base de datos
Call Conectar()
'Creamos un nuevo comando pasandole dos parametros: La consulta que en este caso será una consulta de Actualización
'(UPDATE)
'y la conexión que se va a utilizar, en este caso será la conexión que apunta a la base de datos llamada Agenda multiusuario
Comando = New OleDbCommand(ConsultaSQL, Conex)
'Tener en cuenta que en este caso, se utiliza tambien la palabra SET para que los campos puedan ser actualizados
'Establecemos las características del comando
With Comando
.CommandText = ConsultaSQL
.CommandType = CommandType.Text
nRegistros = .ExecuteNonQuery()
End With
'El ExecuteNonQuery siempre devuelve el número de registros insertados, eliminados o actualizados por eso
'al llamar a ese procedimiento asignamos su valor a la variable nRegistros, de esta forma, ahora podemos crear
'una condición con la variable nRegistros, y lo haremos de la siguiente manera:
'Si nRegistros es mayor que cero, quiere decir que en este caso, actualizó registros,
'en caso contrario, quiere decir que no actualizo ningun registro
If nRegistros > 0 Then
Call Desconectar()
MsgBox(nRegistros & " registo(s) ha(n) sido actualizado(s) correctamente", vbInformation, "Actualización realizada")
Return True
Else
Call Desconectar()
MsgBox("No se ha actualizado ningún registro", vbCritical, "Actualización no realizada")
Return False
End If
Catch ex As Exception
Call Desconectar()
'Si ejecuta el catch es que existio un error y por tanto no inserto nada, así que en este caso mostraremos un mensaje
MsgBox("No se ha podido actualizar el registro solicitado" & vbCr & ex.ToString, vbCritical, "Actualización de registros fallida")
Return False
End Try
End Function
0 comentarios:
Publicar un comentario