La primera de las funciones que programaremos nos servirá para crear una tabla virtual, por llamarla de alguna manera, con lo datos de una tabla de nuestra base de datos. A la función le pasaremos una tabla, la que nosotros queramos, y la función se encargará de devolvernos esa tabla virtual con sus datos (devolverá un DataTable).
La segunda función se encargará de realizar una búsqueda de datos en una tabla que nosotros le digamos. Esta función de búsqueda, devolverá un resultado booleano, es decir, true o false, (verdadero o falso). Devolverá verdadero siempre y cuando la función encuentre registros, mientras que si no se encuentra ningún registro en la tabla, devolverá un regustado falso.
Como siempre en ambas funciones, la tabla que nosotros le digamos, se la pasaremos en un parametro a la función.
Veamos entonces como se programan dichas funciónes para terminar con la clase ConexBD.
'Creamos una función que nos va a devolver un DataTable con todos los datos de una tabla
'Antes, debemos declarar la variable que almacenara el Datatable, así que, debajo de la lista de variables que estamos declarando escribimos lo siguiente:
Public Adaptador As OleDbDataAdapter 'Adaptador que se encarga de pasar datos entre la BD y un dataset (o datatable)
Public DT As DataTable 'Variable que almacena un datatable p qie va a almacenar, ya que todavia no se ha construido.
Function CrearDT(Tabla As String) As DataTable
ConsultaSQL = "Select * From " & Tabla
'Esta consulta seleccina datos de una tabla que le pasaremos por parametro para luego almacenarlos en un datatable
Try
'Creamos un adaptador al que le pasamos los parametros de la consulta y la conexión que vamos a usar
Adaptador = New OleDbDataAdapter(ConsultaSQL, Conex)
'Creamos un nuevo datatable
DT = New DataTable
'y lo limpiamos por si acaso tiene algo. No deberia, ya que es un nuevo datatable pero
'por si acaso.
DT.Clear()
Adaptador.Fill(DT) 'llenamos el datatable con los datos del adaptador
'si el número de filas de la tabla es 0, entonces mostramos un mensaje
If DT.Rows.Count = 0 Then
MsgBox("La tabla que desea mostrar no contiene ningún dato", vbCritical, "Tabla " & Tabla & " vacía")
Return Nothing 'y en lugar de que nos devuelva un datatable, le decimos que no nos devuelva nada.
Else 'en caso contrario, es decir, si las filas de la tabla son mayores que cero, entonces que devuelva el datatable.
Return DT
End If
Catch ex As Exception 'Si ocurre algún error, mostramos un mensaje con la excepción y no devolvemos nada.
MsgBox("Los datos solicitados no se pueden mostrar" & vbCr & ex.ToString, vbCritical, "Imposible mostrar los datos de la tabla " & Tabla)
Return Nothing
End Try
End Function
'Y ahora la siguiente función que programaremos será la de busqueda de registros.
Function BuscarRegistros(Tabla As String, Condicion As String) As Boolean
'Creamos la consulta pasandole la tabla en un parametro y la condición que debe complir la búsqueda
'en otro parametro.
ConsultaSQL = "Select * From " & Tabla & " Where " & Condicion
Try 'Intentamos crear un nuevo adaptador con la consulta que ejecutará el adaptador y la conexión que se va a utilizar
Adaptador = New OleDbDataAdapter(ConsultaSQL, Conex)
'Creamos un nuevo datatable, donde se almacenaran los datos de la busqueda
DT = New DataTable
DT.Clear() 'Limpiamos el datatable
Adaptador.Fill(DT) 'Y llenamos el datatable con los datos del adaptador.
If DT.Rows.Count > 0 Then 'Si el numero de filas del datatable es mayor que cero
'devolveremos verdadero, porque significa que se encontraron datos
Return True
Else 'En caso contrario devolveremos false porque quiere decir que no se han encontrado datos
Return False
End If
Catch ex As Exception 'En caso de algún error, mostraremos un mensaje y devolveremos false, porque no se ha ejecutado
'la busqueda de los registros.
MsgBox("Se ha producido un error al validar el usuario introducido" & vbCr & ex.ToString, vbCritical, "Error de validación de usuarios")
Return False
End Try
End Function
'Fijaros que al utilizar el adaptador, no se utilizan las funciones de conectar o desconectar, ya que el adaptador, posee dicha función incorporada, es decir, que el adaptador realiza la conexíon, recoge los datos y realiza la desconexión de forma automática.
'Antes, debemos declarar la variable que almacenara el Datatable, así que, debajo de la lista de variables que estamos declarando escribimos lo siguiente:
Public Adaptador As OleDbDataAdapter 'Adaptador que se encarga de pasar datos entre la BD y un dataset (o datatable)
Public DT As DataTable 'Variable que almacena un datatable p qie va a almacenar, ya que todavia no se ha construido.
Function CrearDT(Tabla As String) As DataTable
ConsultaSQL = "Select * From " & Tabla
'Esta consulta seleccina datos de una tabla que le pasaremos por parametro para luego almacenarlos en un datatable
Try
'Creamos un adaptador al que le pasamos los parametros de la consulta y la conexión que vamos a usar
Adaptador = New OleDbDataAdapter(ConsultaSQL, Conex)
'Creamos un nuevo datatable
DT = New DataTable
'y lo limpiamos por si acaso tiene algo. No deberia, ya que es un nuevo datatable pero
'por si acaso.
DT.Clear()
Adaptador.Fill(DT) 'llenamos el datatable con los datos del adaptador
'si el número de filas de la tabla es 0, entonces mostramos un mensaje
If DT.Rows.Count = 0 Then
MsgBox("La tabla que desea mostrar no contiene ningún dato", vbCritical, "Tabla " & Tabla & " vacía")
Return Nothing 'y en lugar de que nos devuelva un datatable, le decimos que no nos devuelva nada.
Else 'en caso contrario, es decir, si las filas de la tabla son mayores que cero, entonces que devuelva el datatable.
Return DT
End If
Catch ex As Exception 'Si ocurre algún error, mostramos un mensaje con la excepción y no devolvemos nada.
MsgBox("Los datos solicitados no se pueden mostrar" & vbCr & ex.ToString, vbCritical, "Imposible mostrar los datos de la tabla " & Tabla)
Return Nothing
End Try
End Function
'Y ahora la siguiente función que programaremos será la de busqueda de registros.
Function BuscarRegistros(Tabla As String, Condicion As String) As Boolean
'Creamos la consulta pasandole la tabla en un parametro y la condición que debe complir la búsqueda
'en otro parametro.
ConsultaSQL = "Select * From " & Tabla & " Where " & Condicion
Try 'Intentamos crear un nuevo adaptador con la consulta que ejecutará el adaptador y la conexión que se va a utilizar
Adaptador = New OleDbDataAdapter(ConsultaSQL, Conex)
'Creamos un nuevo datatable, donde se almacenaran los datos de la busqueda
DT = New DataTable
DT.Clear() 'Limpiamos el datatable
Adaptador.Fill(DT) 'Y llenamos el datatable con los datos del adaptador.
If DT.Rows.Count > 0 Then 'Si el numero de filas del datatable es mayor que cero
'devolveremos verdadero, porque significa que se encontraron datos
Return True
Else 'En caso contrario devolveremos false porque quiere decir que no se han encontrado datos
Return False
End If
Catch ex As Exception 'En caso de algún error, mostraremos un mensaje y devolveremos false, porque no se ha ejecutado
'la busqueda de los registros.
MsgBox("Se ha producido un error al validar el usuario introducido" & vbCr & ex.ToString, vbCritical, "Error de validación de usuarios")
Return False
End Try
End Function
'Fijaros que al utilizar el adaptador, no se utilizan las funciones de conectar o desconectar, ya que el adaptador, posee dicha función incorporada, es decir, que el adaptador realiza la conexíon, recoge los datos y realiza la desconexión de forma automática.
0 comentarios:
Publicar un comentario