Ejecutar consulta sql

20/09/2006 - 20:48 por Daniel | Informe spam
Hola a todos:

Estoy empezando a programar en visual basic 2005 express edition. La
cuestión es que he agregado una nueva fuente de datos (base de datos *.mdb)
y ahora quería realizar una consulta sql y recorrerla con un for. Alguien me
puede decir que tengo que hacer para realizar la conexión, para guardar en
una variable el resultado de la consulta y para recorrerla.

Puede que la pregunta sea muy chorra, pero es que no controlo esto del
acceso a datos todavía.
MUCHAS GRACIAS.
 

Leer las respuestas

#1 SoftJaén
20/09/2006 - 23:10 | Informe spam
"Daniel" escribió:

Estoy empezando a programar en visual basic 2005 express edition. La
cuestión es que he agregado una nueva fuente de datos (base de datos
*.mdb) y ahora quería realizar una consulta sql y recorrerla con un for.
Alguien me puede decir que tengo que hacer para realizar la conexión, para
guardar en una variable el resultado de la consulta y para recorrerla.



Hola, Daniel:

Y en lugar de ejecutar un bucle «For», para recorrer el resultado de
ejecutar la consulta SQL, ya que dices que estás empezando a programar en
Visual Basic 2005, ¿no te gustaría observar todos los registros en un
control DataGridView? Pienso que para empezar, el ejemplo que te voy a
mostrar te puede resultar instructivo.

Lo único que tienes que hacer es comenzar una nueva solución, y añadir un
control DataGridView en el formulario de inicio del proyecto. Abres la
ventana de código, pulsando la tecla de función F7, y al comienzo de la
clase Form1, importar el siguiente espacio de nombres:

Imports System.Data.OleDb

Ahora, dentro de la clase Form1, copia/pega el siguiente código. Por
supuesto, deberás modificar el valor del parámetro «Data Source» de la
cadena de conexión, para indicar la ruta donde se encuentra tu base de datos
de Access:

Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load

' Declaramos un objeto Connection, al cual le
' pasamos una cadena de conexión OleDb, para
' poder conectarnos con la base de datos de
' Access.
'
Dim cnn As New OleDbConnection( _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Mis documentos\Bd1.mdb")

' Para controlar cualquier excepción o error que se
' produzca, vamos a ejecutar todo el código dentro
' de un bloque Try ... End Try.
'
Try
' Construimos una simple consulta SQL para
' seleccionar todos los registros de nuestra
' tabla de Clientes.
'
Dim sql As String = "SELECT * FROM Clientes"

' Vamos a declarar un objeto Command, para
' ejecutar la consulta SQL de selección,
' asignándole a su constructor, el texto de
' la consulta, y el objeto Connection declarado
' anteriormente.
'
Dim cmd As New OleDbCommand(sql, cnn)

' Ahora, procedemos a crear un objeto DataAdapter,
' al cual le pasaremos en su constructor el
' comando que contiene la consulta SQl de selección.
'
' El objeto DataAdapter viene a representar el
' puente existente entre el conjunto de datos
' (DataSet) que vamos a crear, y tu base de datos
' de Access.
'
Dim da As New OleDbDataAdapter(cmd)

' Abrimos la conexión.
'
cnn.Open()

' Vamos a crear el conjunto de datos, asignándole
' el nombre del objeto DataTable que automáticamente
' se creará. En el ejemplo, este objeto DataTable
' se llamará "Clientes", pero no quiere decir
' que se tiene que llamar igual que nuestra tabla
' de Clientes. ¿OK?
'
Dim ds As New DataSet

' Rellenamos el conjunto de datos.
'
da.Fill(ds, "Clientes")

' Bueno, ya tenemos creado nuestro conjunto de datos.
' Ahora ya sólo nos queda asignáselo al control
' DataGridView, para que puedas ver en el mismo
' todos los registros de la tabla Clientes.
'
With DataGridView1
' El objeto DataSet
.DataSource = ds

' El nombre del objeto DataTable
.DataMember = "Clientes"
End With

Catch ex As Exception
' Si se ha producido cualquier excepción, el
' código pasará al bloque «Catch» para mostrar
' la descripción de la excepción.
'
MessageBox.Show(ex.Message)

Finally
' En este bloque, que siempre se ejecutará,
' cerramos la conexión abierta.
cnn.Close()
cnn = Nothing

End Try

End Sub

Si todo ha ido bien, podrás observar los datos en el control DataGridView,
tan pronto como pulses la tecla de función F5, habiendo sido capaz de crear
el código fuente necesario, en lugar de utilizar el "código enlatado" que
crean los distintos Asistentes de Visual Basic 2005, para establecer una
conexión y ejecutar una simple consulta SQL de selección.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares