Como puedo ejecutar consultas SQL de una base datos.

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 http://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

 

Saludos,

Jhonny Vargas P.

Multivac v/s Encarta?

Desde hace un tiempo que he estado leyendo algunas historias que ha escrito Isaac Asimov, bastante buenas muy futuristas, de robótica… genial 100% recomendable, aparte que son entretenidas y del tiempo en que fueron escritas te hacen pensar la mente que tenía este escritor.

 

Bueno que tiene que ver multivac con encarta, antes que nada Multivac para Asimov o para las historias que escribió, era una gran computadora que respondía todo lo que cualquier persona quisiera saber, desde lo más esencial hasta lo más complejo que uno se pueda imaginar, Multivac era quien juzgaba a las personas por los crímenes que cometía, ya que poseía un gran intelecto y una objetividad mejor que un juez humano.

 

Insisto que tiene que ver multivac con encarta XD, hace unas semanas me enteré de la existencia de un correo messenger llamado encarta@conversagent.com, lo agregué y me encontré con que me respondía todo lo que yo escribía… de lo más esencial hasta lo más complejo, obviamente Encarta no posee la habilidad que alguna vez soñó Asimov, pero sin duda se asemejan bastante.

 

Los invito a incorporar y jugar un poco con este gran invento encarta@conversagent.com

 

Saludos,

Jhonny Vargas P.

Santiago de Chile