Por: Víctor M. Saldaña Núñez
Sugiero que para las acciones de conexión a una base de datos siempre se realicen mediante una función, ya que de esta manera solo se ejerce la conexión, se efectúa el acceso y se lleva a cabo la solicitud deseada, se realiza en ese momento el proceso y después se cierra la conexión. Si es una consulta la información traída será guardada en una tabla o un DataSet que permitirá ser entregado como resultado de salida para después poder trabajar con la información contenida en cualquier otro evento que así se indique o se necesite, veamos el siguiente ejemplo:
En declaraciones generales poner:
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Windows.Forms
Después crear la siguiente función que permitirá traer un conjunto de registros:
Function clsLlenaCombo(ByVal pstrTipo As String, ByVal pstrSql As String, ByVal pNomTabla As String) As DataSet
Dim oCnn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\Sicso\DbSicso\practica.mdb;Jet OLEDB:Database Password=IS345ABV;")
Dim dsDatos As New DataSet
Try
oCnn.Open()
If pstrTipo = "CargaDatos" Then
Dim oCmd As New OleDbDataAdapter(pstrSql, oCnn)
oCmd.Fill(dsDatos, pNomTabla)
End If
Catch ex As Exception
Throw New Exception(ex.Message)
Finally
oCnn.Close()
oCnn.Dispose()
oCnn = Nothing
End Try
clsLlenaCombo = dsDatos
End Function
Y cargar los datos en un evento en el que podría encontrarse el siguiente código:
Dim dsEnt As DataSet
Dim strSql As String
'*** Carga combo de Entidad
strSql = "Select vEnt_Cve, vEnt_NombreEnt from sicso_Entidad"
dsEnt = clsPrin.clsLlenaCombo("CargaDatos", strSql, "Entidad")
cboEnt.DataSource = dsEnt.Tables("Entidad")
cboEnt.DisplayMember = dsEnt.Tables("Entidad").Columns(1).ToString
cboEnt.ValueMember = dsEnt.Tables("Entidad").Columns(0).ToString
o en su defecto si se desea traer solo los datos de un registro o un en su defecto un dato en especial podrá efectuarlo de la siguiente manera:
Function vsBuscador(ByVal pstrCadena As String, ByVal pstrClave As String) As Boolean
Dim Ocnn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Sicso\DbSicso\practica.mdb;Jet OLEDB:Database Password= IS345ABV;")
Dim Ocmd As New OleDbCommand
Dim strCad As String
Dim blnResultado As Boolean
Try
strCad = pstrCadena & pstrClave & "'"
Ocmd = New OleDbCommand(strCad, Ocnn)
Ocnn.Open()
blnResultado = Ocmd.ExecuteScalar
Return blnResultado
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
Y cargar los datos en un evento en el que podría encontrarse el siguiente código:
Public Function vsVerificaDatos(ByVal pOpcion As String, ByVal pstrUsuario As String, ByVal pstrContrasena As String) As String
Dim oCmd As New OleDbCommand
Dim strVerifica As String
Dim strSql As String
If pOpcion = "TraeUsuario" Then
strSql = "Select vUsua_NomEmp From Sicso_Usuario "
strSql = strSql & "Where vUsua_Nombre ='" & pstrUsuario & "' and "
strSql = strSql & "vUsua_Contrasena = '" & pstrContrasena & "'"
oCmd = New OleDbCommand(strSql, oCnn)
Else
strVerifica = ""
End If
oCnn.Open()
strVerifica = oCmd.ExecuteScalar
vsVerificaDatos = strVerifica
End Function
No hay comentarios:
Publicar un comentario