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
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....