Foros del Web » Programación para mayores de 30 ;) » .NET »

Volcar datos de consulta a Grid. AYUDA!

Estas en el tema de Volcar datos de consulta a Grid. AYUDA! en el foro de .NET en Foros del Web. Hola a todos!!!! Espero puedan ayudarme. Tengo un problema. Verán, quiero hacer un formulario en el que el usuario introduzca una consulta sobre la base ...
  #1 (permalink)  
Antiguo 30/11/2006, 06:37
Avatar de mariamm_  
Fecha de Ingreso: enero-2005
Mensajes: 124
Antigüedad: 19 años, 4 meses
Puntos: 1
Exclamación Volcar datos de consulta a Grid. AYUDA!

Hola a todos!!!! Espero puedan ayudarme. Tengo un problema. Verán, quiero hacer un formulario en el que el usuario introduzca una consulta sobre la base de datos con una select, y el contenido se vuelque sobre el control DataGridView de Visual Studio 2005 .NET. Este es el código asociado al botón que desencadena la consulta una vez insertada en un cuadro de texto:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim adoOleDbConnection As OleDbConnection
Dim adoOleDbDataAdapter As OleDbDataAdapter
Dim dataSet As DataSet
Dim connectionString As String = ""

connectionString = "Provider=SQLOLEDB;"
connectionString += "Server=" & sServidor & ";"
connectionString += "Database=" & sBD & ";"
connectionString += "User ID=sa;Password=sms1"

adoOleDbConnection = New OleDbConnection(connectionString)

'--- Lanzamos la consulta.
If TextBox1.Text = "" Then
MessageBox.Show("Introduzca la consulta o intrucción en la zona de texto.", "Faltan Datos", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
adoOleDbDataAdapter = New OleDbDataAdapter(TextBox1.Text, adoOleDbConnection)
dataSet = New DataSet()
adoOleDbDataAdapter.Fill(dataSet)


DataGridView1.DataSource = dataSet
DataGridView1.Refresh()
End If
End Sub

Cuando le doy, no me sale ... el grid se queda igual, vacío, y no me muestra el resultado de la consulta. Espero me puedan ayudar, me urge mucho ... muchas gracias a todos.
  #2 (permalink)  
Antiguo 30/11/2006, 12:58
Avatar de mariamm_  
Fecha de Ingreso: enero-2005
Mensajes: 124
Antigüedad: 19 años, 4 meses
Puntos: 1
Nadie lo sabe por favor ... puede ser muy basico pero es que yo soy nueva ....
  #3 (permalink)  
Antiguo 05/12/2006, 06:17
 
Fecha de Ingreso: agosto-2004
Mensajes: 62
Antigüedad: 19 años, 9 meses
Puntos: 2
A los admin que borren este post

Última edición por Kelbethor; 05/12/2006 a las 06:21 Razón: Me equivoque
  #4 (permalink)  
Antiguo 05/12/2006, 06:18
 
Fecha de Ingreso: agosto-2004
Mensajes: 62
Antigüedad: 19 años, 9 meses
Puntos: 2
Pues si todo esta bieno, creo que solo hay una cosa extraña.
Y digo extraña porque no soy ningún experto y hablo sólo desde la poca experiencia que tengo.
Normalmente he visto que el DataSource de un DGV no es un DataSet, pero tu has asignado un dataset, cosa que funciona si le asignas a la propiedadad DataMember del DGV el nombre del DataTable que está dentro de tu DataSet.
Por otro lado, en la ayuda aparece que el método .Fill(DataSet) te devuelve un dataset con un DataTable llamado "Table". Otra alternativa sería usar un DataTable directamente. Bueno, demasiado lio. Mejor te pongo el código:

Con DataSet
Código:
dataSet = New DataSet()
adoOleDbDataAdapter.Fill(dataSet)


DataGridView1.DataSource = dataSet
DataGridView1.DataMember="Table"
DataGridView1.Refresh()
Con DataTable
Código:
dataTable=New DataTable()
adoOleDbDataAdapter.Fill(dataTable)


DataGridView1.DataSource = dataTable
DataGridView1.Refresh()
No sé si eso resolverá tu problema. Espero que si
  #5 (permalink)  
Antiguo 05/12/2006, 11:55
Avatar de mariamm_  
Fecha de Ingreso: enero-2005
Mensajes: 124
Antigüedad: 19 años, 4 meses
Puntos: 1
Muchas gracias Kelbethor, lo probaré y os lo diré.
  #6 (permalink)  
Antiguo 05/12/2006, 13:11
Avatar de mariamm_  
Fecha de Ingreso: enero-2005
Mensajes: 124
Antigüedad: 19 años, 4 meses
Puntos: 1
Gracias kelbethor!!!!!!

Funcionó como me dijiste, lo hice de la segunda manera, seguro que de la primera tb va!!! gracias!!!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:53.