viernes, 18 de marzo de 2011

Conexion SQL y Visual Basic .NET

En algunos proyectos que he realizado he utilizado esta clase para conectar MYSQL con VB .NET, la verdad es que no me ha causado conflicto y solo la he tenido que modificar para algunos fines específicos pero contiene lo básico para hacer las operaciones principales como guardar consultar y borrar algún dato.




Imports System.Data
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient

Public Class Consulta 
#Region "Variables"
    Dim cnnMYSQL As New MySqlConnection
    Dim cnnSQL As New SqlConnection
    Dim cmd As SqlCommand
    Dim cmnd As MySqlCommand
    Dim dt, dtr As New DataTable()

#End Region

#Region "ConnectionString"
    Public Sub connectingSQL()
    Try
cnnSQL.ConnectionString = "Data Source=server;Initial Catalog=catalog;Integrated Security=SSPI;"
            cnnSQL.Open()
        Catch ex As SqlException
        End Try
    End Sub
    Public Sub connectingMYSQL()
        Try
         cnnMYSQL = New MySqlConnection()
         cnnMYSQL.ConnectionString = "Data Source = server;Database=db;User ID=root; Password = pass; Allow Zero Datetime=True; CHARSET=latin1"
        cnnMYSQL.Open() ' abre la conexion con la bd
        Catch ex As MySqlException
        End Try
    End Sub

#End Region 

Public Sub consulta_non_query(ByVal consulta As String) 

'Este metodo recibe como parametro la consulta completa y sirve para hacer INSERT, UPDATE Y DELETE 
conexion.ConnectionString = str_conexion 
cmd = New SqlCommand(consulta, conexion) 
conexion.Open() 
Try 
cmd.ExecuteNonQuery() 

MsgBox("La operacion se realizo con exito!", MsgBoxStyle.Information, "Operacion exitosa!" ) 
Catch ex As Exception 
MsgBox("Error al operar con la base de datos!", MsgBoxStyle.Critical, "Error!" ) 
End Try 
conexion.Close() 
End Sub 

Public Function consulta_reader(ByVal consulta As String) As DataTable 

'Este metodo recibe como parametro la consulta completa y sirve para hacer SELECT 
Dim dt As New DataTable 
conexion.ConnectionString = str_conexion 
cmd = New SqlCommand(consulta, conexion) 
conexion.Open() 
Try 
dt.Load(cmd.ExecuteReader()) 

Catch ex As Exception 
MsgBox("Error al operar con la base de datos!", MsgBoxStyle.Critical, "Error!" ) 

End Try 
conexion.Close() 
Return dt 

End Function 

Public Sub cargar_lista(ByRef lista As ListBox, ByVal consulta As String, ByVal valueMember As String, ByVal displayMember As String) 
Dim dt As New Data.DataTable 
conexion.ConnectionString = str_conexion 
cmd = New SqlCommand(consulta, conexion) 
conexion.Open() 

Try 
dt.Load(cmd.ExecuteReader()) 

lista.DataSource = dt 
lista.ValueMember = valueMember 
lista.DisplayMember = displayMember 
Catch ex As Exception 
MsgBox("Error al operar con la base de datos!", MsgBoxStyle.Critical, "Error!" ) 

End Try 
conexion.Close() 
End Sub 

Public Sub cargar_combo(ByRef combo As ComboBox, ByVal consulta As String, ByVal valueMember As String, ByVal displayMember As String) 
Dim dt As New DataTable 
conexion.ConnectionString = str_conexion 
cmd = New SqlCommand(consulta, conexion) 
conexion.Open() 

Try 
dt.Load(cmd.ExecuteReader()) 

combo.DataSource = dt 
combo.ValueMember = valueMember 
combo.DisplayMember = displayMember 
Catch ex As Exception 
MsgBox("Error al operar con la base de datos!", MsgBoxStyle.Critical, "Error!" ) 

End Try 
conexion.Close() 
End Sub 
 Public Function ObtenerDatos(ByVal consulta As String)
        Dim valorRetorno As Integer
        Try
            'connectingMY()
            Dim cmd As New SqlCommand
            cmd.CommandType = CommandType.Text
            cmd.Connection = cnnSQL
            cmd.CommandText = consulta
            valorRetorno = cmd.ExecuteScalar()

        Catch ex As Exception
            ' MsgBox("Error en BD")
        End Try
        Return valorRetorno
    End Function
Public Function verificar_existencia(ByVal consulta As String) As Boolean 


'Devuelve true si existe, entonces no grabamos, o devuelve false si no existe entoinces debemos grabar. 
Dim dt As New DataTable 
conexion.ConnectionString = str_conexion 
cmd = New SqlCommand(consulta, conexion) 
conexion.Open() 
Try 
dt.Load(cmd.ExecuteReader()) 

Catch ex As Exception 
MsgBox("Error al operar con la base de datos!", MsgBoxStyle.Critical, "Error!" ) 

End Try 

conexion.Close() 

If dt.Rows.Count > 0 Then 
Return True 
Else 
Return False 
End If 
End Function 

End Class 


1 comentarios:

Publicar un comentario

 
;