Mostrar datos de una consulta en un DataGrid

31/01/2004 - 21:24 por Joshua | Informe spam
Que tal, esoy desarrollando una pequeña aplicación usando
ADO.NET con objetos conectados y Proveedor Microsoft
OLEDB para Access,pero no sé como mostrar datos resultado
de una consulta en un DataGrid.

StrComando= "Select * From ..."
Comando= New OleDbCommand (StrComando,Conexion)

Como meto solo el resultado de la selección en el
datagrid?? ya que se que se puede hacer pero solo lo he
visto si la sentencia sql incluye un select * from tabla
sin sentencia where ni condiciones. Espero me puedan
ayudar. Gracias

Preguntas similare

Leer las respuestas

#1 Santiago
31/01/2004 - 23:21 | Informe spam
Hola tu aplicacion es windows o Web

Saludos Santiago

Que tal, esoy desarrollando una pequeña aplicación usando
ADO.NET con objetos conectados y Proveedor Microsoft
OLEDB para Access,pero no sé como mostrar datos resultado
de una consulta en un DataGrid.

StrComando= "Select * From ..."
Comando= New OleDbCommand (StrComando,Conexion)

Como meto solo el resultado de la selección en el
datagrid?? ya que se que se puede hacer pero solo lo he
visto si la sentencia sql incluye un select * from tabla
sin sentencia where ni condiciones. Espero me puedan
ayudar. Gracias


.

Respuesta Responder a este mensaje
#2 Anonimo
01/02/2004 - 00:15 | Informe spam
QUE TAL, MI APLICACION ES WINDOWSEL PROBLEMA TAMBIEN
ES QUE YA LOGRE PONER LOS DATOS DE LA OCNSULTA EN EL
DATAGRID, PERO NO PUEDO UTILIZAR EN LA SENTENCIA SQL,
VALORES OBTENIDOS EN TIEMPO DE EJECUCION, POR EJEMPLO
SELECT *
FROM TABLA
WHERE VARIABLE = VALOR

EN VARIABLE ME MARCA ERROR, SI LE PONGO UN VALOR FIJO SI
LO HACE MAS NO POR VALOR DE LA VARIABLE. OJALA ME AYUDES.
GRACIAS
Hola tu aplicacion es windows o Web

Saludos Santiago

Que tal, esoy desarrollando una pequeña aplicación




usando
ADO.NET con objetos conectados y Proveedor Microsoft
OLEDB para Access,pero no sé como mostrar datos




resultado
de una consulta en un DataGrid.

StrComando= "Select * From ..."
Comando= New OleDbCommand (StrComando,Conexion)

Como meto solo el resultado de la selección en el
datagrid?? ya que se que se puede hacer pero solo lo he
visto si la sentencia sql incluye un select * from tabla
sin sentencia where ni condiciones. Espero me puedan
ayudar. Gracias


.



.

Respuesta Responder a este mensaje
#3 Santiago
02/02/2004 - 16:04 | Informe spam
Bueno, te voy a pasar una funcion que yo uso para cargar
dataGrid, vos la adecuas a tu uso

previamente tienes que dimensionar el DataSet

Function fun_carga_grilla_Cirugia(ByVal oo As Object, _
ByRef carteles() As String, ByVal nombre_grilla As
String, ByVal condicion As String) As Int16

On Error GoTo errorhand

With oo

Dim registro, tipo_tabla As Long
Dim tipo, tabla, presuntivo As String
Dim max As Short
Dim myDataTable As DataTable = New DataTable
(nombre_grilla)
Dim myDataColumn As DataColumn
Dim myDataRow As DataRow

Dim nom_fila As String
Dim nom_campo As String

Dim cantidad As Short

Dim TableStyle As New DataGridTableStyle
TableStyle = New DataGridTableStyle

max = UBound(carteles, 1)

For i = 1 To max
myDataColumn = New DataColumn
myDataColumn.DataType = System.Type.GetType
("System.String")
myDataColumn.ColumnName = carteles(i)
myDataColumn.Caption = "Letrero " +
carteles(i)
myDataColumn.ReadOnly = True
myDataColumn.Unique = False

myDataTable.Columns.Add(myDataColumn)
Next

myDataSet = New DataSet
myDataSet.Tables.Add(myDataTable)

cmd.CommandText = "select * from Cirugia" & _
condicion

t_comun = cmd.Execute

If t_comun.BOF = False And t_comun.EOF = False
Then

t_comun.MoveFirst()

Do Until t_comun.EOF

myDataRow = myDataTable.NewRow()

nom_fila = carteles(1)
myDataRow(nom_fila) = fun_fecha_dma_bar
(t_comun.Fields("fecha").Value)
nom_fila = carteles(2)
myDataRow(nom_fila) = fun_leo_hora
(t_comun.Fields("hora").Value)

registro = t_comun.Fields
("id_cirugia").Value
nom_campo = fun_nombre("TMED_Cirugia",
registro, 0, 1, 1)
nom_fila = carteles(3)
myDataRow(nom_fila) = nom_campo

registro = t_comun.Fields
("id_lugar_cirugia").Value
nom_campo = fun_nombre
("TMED_Lugar_Cirugia", registro, 0, 1, 1)
nom_fila = carteles(4)
myDataRow(nom_fila) = nom_campo

nom_fila = carteles(5)
myDataRow(nom_fila) = t_comun.Fields
("Observaciones").Value

nom_fila = carteles(6)
myDataRow(nom_fila) = t_comun.Fields
("archivo").Value

nom_fila = carteles(7)
myDataRow(nom_fila) = t_comun.Fields
("id_tabla").Value

myDataTable.Rows.Add(myDataRow)

cantidad = cantidad + 1

t_comun.MoveNext()

Loop

End If

.SetDataBinding(myDataSet, nombre_grilla)

TableStyle.MappingName = nombre_grilla
.TableStyles.Clear()
.TableStyles.Add(TableStyle)
.DataSource = myDataSet.Tables(nombre_grilla)

.TableStyles(nombre_grilla).DataGrid.ReadOnly
= True

.TableStyles(nombre_grilla).BackColor =
System.Drawing.Color.SeaShell

.TableStyles(nombre_grilla).GridLineColor =
System.Drawing.Color.Wheat

.TableStyles(nombre_grilla).HeaderBackColor =
System.Drawing.Color.CadetBlue

If cantidad > 0 Then
i = fun_AutoSizeTabla(oo, nombre_grilla,
10)
End If

End With

Exit Function

errorhand:

MsgBox("Se ha producido un error al cargar el
Cirugia error:" + Err.Description,
MsgBoxStyle.OKCancel, "Error")

End Function

''''
carteles() es una variable donde vienen los Nombres de las
columnas, tambien te envio un ejemplo de esta rutina


oo en este caso es la direccion de la grilla dentro de un
form

Condicion, aca viene la condicion de la Busqueda, por
Ejemplo " where id = " & Variable_id o
" where nombre = '" & variable_nombre & "'"

El Uso de un data Table a mi me resulta muy util,aunque
requiere un poco mas de trabajo

La Funcion fun_AutoSizeTabla le da el ancho a la Columna
de acuerdo al contenido, esta no te la envio, la puedes
descartar.

Saludos Santiago

Function fun_carga_Cirugia(ByVal oo As Object, ByVal
grilla As String, ByVal condicion As String) As Short

ReDim i_carteles_grilla(7)

i_carteles_grilla(1) = "Fecha"
i_carteles_grilla(2) = "Hora"
i_carteles_grilla(3) = "Cirugia"
i_carteles_grilla(4) = "Lugar"
i_carteles_grilla(5) = "Observaciones"
i_carteles_grilla(6) = "Documento"
i_carteles_grilla(7) = "Registro"

i = fun_carga_grilla_Cirugia(oo,
i_carteles_grilla, grilla, condicion)



End Function
QUE TAL, MI APLICACION ES WINDOWSEL PROBLEMA TAMBIEN
ES QUE YA LOGRE PONER LOS DATOS DE LA OCNSULTA EN EL
DATAGRID, PERO NO PUEDO UTILIZAR EN LA SENTENCIA SQL,
VALORES OBTENIDOS EN TIEMPO DE EJECUCION, POR EJEMPLO
SELECT *
FROM TABLA
WHERE VARIABLE = VALOR

EN VARIABLE ME MARCA ERROR, SI LE PONGO UN VALOR FIJO SI
LO HACE MAS NO POR VALOR DE LA VARIABLE. OJALA ME AYUDES.
GRACIAS
Hola tu aplicacion es windows o Web

Saludos Santiago

Que tal, esoy desarrollando una pequeña aplicación




usando
ADO.NET con objetos conectados y Proveedor Microsoft
OLEDB para Access,pero no sé como mostrar datos




resultado
de una consulta en un DataGrid.

StrComando= "Select * From ..."
Comando= New OleDbCommand (StrComando,Conexion)

Como meto solo el resultado de la selección en el
datagrid?? ya que se que se puede hacer pero solo lo he
visto si la sentencia sql incluye un select * from tabla
sin sentencia where ni condiciones. Espero me puedan
ayudar. Gracias


.



.



.

Respuesta Responder a este mensaje
#4 Anonimo
02/02/2004 - 20:44 | Informe spam
SI CLARO SANTIAGO MUCHAS GRACIAS.
Bueno, te voy a pasar una funcion que yo uso para cargar
dataGrid, vos la adecuas a tu uso

previamente tienes que dimensionar el DataSet

Function fun_carga_grilla_Cirugia(ByVal oo As Object, _
ByRef carteles() As String, ByVal nombre_grilla As
String, ByVal condicion As String) As Int16

On Error GoTo errorhand

With oo

Dim registro, tipo_tabla As Long
Dim tipo, tabla, presuntivo As String
Dim max As Short
Dim myDataTable As DataTable = New DataTable
(nombre_grilla)
Dim myDataColumn As DataColumn
Dim myDataRow As DataRow

Dim nom_fila As String
Dim nom_campo As String

Dim cantidad As Short

Dim TableStyle As New DataGridTableStyle
TableStyle = New DataGridTableStyle

max = UBound(carteles, 1)

For i = 1 To max
myDataColumn = New DataColumn
myDataColumn.DataType =


System.Type.GetType
("System.String")
myDataColumn.ColumnName = carteles(i)
myDataColumn.Caption = "Letrero " +
carteles(i)
myDataColumn.ReadOnly = True
myDataColumn.Unique = False

myDataTable.Columns.Add(myDataColumn)
Next

myDataSet = New DataSet
myDataSet.Tables.Add(myDataTable)

cmd.CommandText = "select * from Cirugia" & _
condicion

t_comun = cmd.Execute

If t_comun.BOF = False And t_comun.EOF =


False
Then

t_comun.MoveFirst()

Do Until t_comun.EOF

myDataRow = myDataTable.NewRow()

nom_fila = carteles(1)
myDataRow(nom_fila) =


fun_fecha_dma_bar
(t_comun.Fields("fecha").Value)
nom_fila = carteles(2)
myDataRow(nom_fila) = fun_leo_hora
(t_comun.Fields("hora").Value)

registro = t_comun.Fields
("id_cirugia").Value
nom_campo = fun_nombre


("TMED_Cirugia",
registro, 0, 1, 1)
nom_fila = carteles(3)
myDataRow(nom_fila) = nom_campo

registro = t_comun.Fields
("id_lugar_cirugia").Value
nom_campo = fun_nombre
("TMED_Lugar_Cirugia", registro, 0, 1, 1)
nom_fila = carteles(4)
myDataRow(nom_fila) = nom_campo

nom_fila = carteles(5)
myDataRow(nom_fila) = t_comun.Fields
("Observaciones").Value

nom_fila = carteles(6)
myDataRow(nom_fila) = t_comun.Fields
("archivo").Value

nom_fila = carteles(7)
myDataRow(nom_fila) = t_comun.Fields
("id_tabla").Value

myDataTable.Rows.Add(myDataRow)

cantidad = cantidad + 1

t_comun.MoveNext()

Loop

End If

.SetDataBinding(myDataSet, nombre_grilla)

TableStyle.MappingName = nombre_grilla
.TableStyles.Clear()
.TableStyles.Add(TableStyle)
.DataSource = myDataSet.Tables(nombre_grilla)

.TableStyles


(nombre_grilla).DataGrid.ReadOnly
= True

.TableStyles(nombre_grilla).BackColor =
System.Drawing.Color.SeaShell

.TableStyles(nombre_grilla).GridLineColor =
System.Drawing.Color.Wheat

.TableStyles(nombre_grilla).HeaderBackColor


=
System.Drawing.Color.CadetBlue

If cantidad > 0 Then
i = fun_AutoSizeTabla(oo, nombre_grilla,
10)
End If

End With

Exit Function

errorhand:

MsgBox("Se ha producido un error al cargar el
Cirugia error:" + Err.Description,
MsgBoxStyle.OKCancel, "Error")

End Function

''''
carteles() es una variable donde vienen los Nombres de


las
columnas, tambien te envio un ejemplo de esta rutina


oo en este caso es la direccion de la grilla dentro de


un
form

Condicion, aca viene la condicion de la Busqueda, por
Ejemplo " where id = " & Variable_id o
" where nombre = '" & variable_nombre & "'"

El Uso de un data Table a mi me resulta muy util,aunque
requiere un poco mas de trabajo

La Funcion fun_AutoSizeTabla le da el ancho a la Columna
de acuerdo al contenido, esta no te la envio, la puedes
descartar.

Saludos Santiago

Function fun_carga_Cirugia(ByVal oo As Object, ByVal
grilla As String, ByVal condicion As String) As Short

ReDim i_carteles_grilla(7)

i_carteles_grilla(1) = "Fecha"
i_carteles_grilla(2) = "Hora"
i_carteles_grilla(3) = "Cirugia"
i_carteles_grilla(4) = "Lugar"
i_carteles_grilla(5) = "Observaciones"
i_carteles_grilla(6) = "Documento"
i_carteles_grilla(7) = "Registro"

i = fun_carga_grilla_Cirugia(oo,
i_carteles_grilla, grilla, condicion)



End Function
QUE TAL, MI APLICACION ES WINDOWSEL PROBLEMA




TAMBIEN
ES QUE YA LOGRE PONER LOS DATOS DE LA OCNSULTA EN EL
DATAGRID, PERO NO PUEDO UTILIZAR EN LA SENTENCIA SQL,
VALORES OBTENIDOS EN TIEMPO DE EJECUCION, POR EJEMPLO
SELECT *
FROM TABLA
WHERE VARIABLE = VALOR

EN VARIABLE ME MARCA ERROR, SI LE PONGO UN VALOR FIJO




SI
LO HACE MAS NO POR VALOR DE LA VARIABLE. OJALA ME




AYUDES.
GRACIAS
Hola tu aplicacion es windows o Web

Saludos Santiago

Que tal, esoy desarrollando una pequeña aplicación




usando
ADO.NET con objetos conectados y Proveedor Microsoft
OLEDB para Access,pero no sé como mostrar datos




resultado
de una consulta en un DataGrid.

StrComando= "Select * From ..."
Comando= New OleDbCommand (StrComando,Conexion)

Como meto solo el resultado de la selección en el
datagrid?? ya que se que se puede hacer pero solo lo








he
visto si la sentencia sql incluye un select * from








tabla
sin sentencia where ni condiciones. Espero me puedan
ayudar. Gracias


.



.



.



.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida