Buscar en el sitio

Contacto

Danny

962318754

blackorwhite_dm@hotmail.com

Como puedo ejecutar consultas SQL de una base datos.

03.11.2010 19:16

Esta es una típica pregunta de los usuarios que normalmente se inician en cualquier lenguaje de programación "Como puedo ejecutar consultas SQL de una base datos", existen muchos sitios que contienen información mucho más acabada en el tema, pero quiero exponer una forma simple y que sea útil para cualquier persona con mínimos conocimientos.


 

Antes que nada revisar los strings de conexión, para esto les recomiendo la biblia de ADO de Carl Prothman https://www.carlprothman.net/Default.aspx?tabid=81

 

Funciones para cualquier tipo de base de datos excepto para SQL Server, ya que utilizar otros componentes de ADO especiales para este motor de base de datos.

 

   'Esta función nos permite ejecutar una consulta SQL sin devolver Resultado.

    Sub EjecutarQuerySinResultado(ByVal Query As String)

 

        'Obtenemos el String de conexión directamente de un archivo de configuración

        Dim ConString As String = System.Configuration.ConfigurationSettings.AppSettings.Get("BaseDatos")

 

        Try
            Dim objConnection As New OleDb.OleDbConnection(ConString)
            objConnection.Open()

 

            Dim objCommand As New OleDb.OleDbCommand(Query, objConnection)

 

            objCommand.ExecuteNonQuery()
            objCommand = Nothing

 

            objConnection.Close()
            objConnection = Nothing

 

        Catch ex As Exception
            MsgBox(ex)
        End Try

 

    End Sub

 

    'Ejecutar Query o Consulta devolviendo un Dataset

    Function EjecutarQuery(ByVal Query As String) As DataSet

 

        Dim ConString As String = System.Configuration.ConfigurationSettings.AppSettings.Get("BaseDatos")

 

        Dim objDataSet As New DataSet

 

        Try
            Dim
objConnection As New OleDb.OleDbConnection(ConString)
            objConnection.Open()

 

            Dim objCommand As New OleDb.OleDbCommand(Query, objConnection), _
                objDataAdapter As New OleDb.OleDbDataAdapter(objCommand)

 

            objDataAdapter.Fill(objDataSet, "tabla")
            objDataAdapter = Nothing

 

            objCommand = Nothing

 

            objConnection.Close()
            objConnection = Nothing

 

        Catch ex As Exception

 

        End Try

 

        Return objDataSet

 

    End Function

 

 

Para SQL Server se deberían utilizar las siguientes funciones

 


    Sub EjecutarQuerySinResultado(ByVal Query As String)

 

        'Obtenemos el String de conexión directamente de un archivo de configuración

        Dim ConString As String = System.Configuration.ConfigurationSettings.AppSettings.Get("BaseDatos")

 

        Try
            Dim objConnection As New SqlConnection(ConString)
            objConnection.Open()

 

            Dim objCommand As New SqlCommand(Query, objConnection)

 

            objCommand.ExecuteNonQuery()
            objCommand = Nothing

 

            objConnection.Close()
            objConnection = Nothing

 

        Catch ex As Exception
            MsgBox(ex)
        End Try

 

    End Sub

 

    'Ejecutar Query o Consulta devolviendo un Dataset

    Function EjecutarQuery(ByVal Query As String) As DataSet

 

        Dim ConString As String = System.Configuration.ConfigurationSettings.AppSettings.Get("BaseDatos")

 

        Dim objDataSet As New DataSet

 

        Try
            Dim
objConnection As New SqlConnection(ConString)
            objConnection.Open()

 

            Dim objCommand As New SqlCommand(Query, objConnection), _
                objDataAdapter As New SqlDataAdapter(objCommand)

 

            objDataAdapter.Fill(objDataSet, "tabla")
            objDataAdapter = Nothing

 

            objCommand = Nothing

 

            objConnection.Close()
            objConnection = Nothing

 

        Catch ex As Exception

 

        End Try

 

        Return objDataSet

 

    End Function