Como puedo ejecutar consultas sql de una base datos.
Por jorge
  
Lunes, 26/10/2009
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

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
Espero que les sea útil....


Por jorge