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

Problema con la tabla dinámica

Estas en el tema de Problema con la tabla dinámica en el foro de .NET en Foros del Web. Hola a tod@s tengo una pequeña duda sobre un código que he creado. Quisiera que se me mostrase en una tabla dinámica unos datos recogidos ...
  #1 (permalink)  
Antiguo 24/01/2010, 13:12
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Problema con la tabla dinámica

Hola a tod@s tengo una pequeña duda sobre un código que he creado. Quisiera que se me mostrase en una tabla dinámica unos datos recogidos de una base de datos por ejemplo:
Cita:
1. ¿Cuanto es 2x2?
a. 4
b. 5
c. 6
2. ¿Cuanto es 4x4?
a. 7
b. 16
c. 9
El códgo que utilizo es el siguiente
Código PHP:
rs1 Me.conexion.consultar("select * from T_Preguntas Inner Join T_Respuestas on T_Preguntas.c_idpregunta=T_Respuestas.c_Pregunta ")
Dim filas As New TableRow
        Dim celdas 
As New TableCell
        
        
Do While rs1.Read
            filas 
= New TableRow 'Iniciamos el objeto fila
            celdas = New TableCell '
Iniciamos el objeto columna
            filas
.Cells.Add(celdas'Agragamos celda a la fila
            celdas.Text = rs1("c_pregunta")    '
Texto para la celda
            Me
.tblEjemplo.Rows.Add(filas'Agragamos la fila a la tabla
            filas = New TableRow '
Iniciamos el objeto fila
            celdas 
= New TableCell 'Iniciamos el objeto columna
            filas.Cells.Add(celdas) '
Agragamos celda a la fila
            celdas
.Text rs1("c_Respuestas")    'Texto para la celda
            Me.tblEjemplo.Rows.Add(filas) '
Agragamos la fila a la tabla
            Response
.Write(rs1("c_pregunta"))
        
Loop 
Y el problema que tengo es que la pregunta se repite 3 veces de esta forma:
Cita:
1. ¿Cuanto es 2x2?
a. 4
1. ¿Cuanto es 2x2?
b. 5
1. ¿Cuanto es 2x2?
c. 6
2. ¿Cuanto es 4x4?
a. 7
2. ¿Cuanto es 4x4?
b. 8
2. ¿Cuanto es 4x4?
c. 9
¿Cómo podría solucionar este problema? Muchas gracias
  #2 (permalink)  
Antiguo 24/01/2010, 13:40
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Problema con la tabla dinámica

Creo que es porque estás imprimiendo nuevamente la pregunta.
Código:
Do While rs1.Read 
            filas = New TableRow 'Iniciamos el objeto fila 
            celdas = New TableCell 'Iniciamos el objeto columna 
            filas.Cells.Add(celdas) 'Agragamos celda a la fila 
            celdas.Text = rs1("c_pregunta")    'Texto para la celda 
            Me.tblEjemplo.Rows.Add(filas) 'Agragamos la fila a la tabla 
            filas = New TableRow 'Iniciamos el objeto fila 
            celdas = New TableCell 'Iniciamos el objeto columna 
            filas.Cells.Add(celdas) 'Agragamos celda a la fila 
            celdas.Text = rs1("c_Respuestas")    'Texto para la celda 
            Me.tblEjemplo.Rows.Add(filas) 'Agragamos la fila a la tabla 
            Response.Write(rs1("c_pregunta")) 
        Loop
En tu consulta no deberías usar select * from sino los campos que utilizas nada más, mejor aún deberías usar Procedimientos Almacenados.

Saludos.
__________________
Eduardo Peredo
Wigoin
  #3 (permalink)  
Antiguo 24/01/2010, 14:11
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema con la tabla dinámica

Lo del Response.Write(rs1("c_pregunta")) no es ya que lo he quitado y me sigue repitiendo la pregunta. Y no se como funciona el procedimiento Almacenado no me podrías explicarlo hay alguna otra forma. Muchas gracias
  #4 (permalink)  
Antiguo 24/01/2010, 15:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con la tabla dinámica

Cita:
Y no se como funciona el procedimiento Almacenado
¿Qué procedimiento almacenado?
Allí sólo tienes una consulta a la base... no un SP.

Lo qué si parece es que tuvieses un producto cartesiano en la respuesta de esa consulta, o al menos una duplicación de datos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 28/01/2010, 16:59
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema con la tabla dinámica

No consigo solucionar el problema del producto cartesiano me sigue repitiendo la pregunta y incluso he probado con una sentencia sin tener solución. ¿Alguien me puede ayudar? Muchas gracias
  #6 (permalink)  
Antiguo 29/01/2010, 11:53
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema con la tabla dinámica

Que tal. Voy a explicar mejor lo que quiero hacer y no consigo Si alguien me puede echar una manita se lo agradecería mucho
Tengo dos tablas:

Cita:
Esta es la tabla T_Preguntas

c_idpregunta.............. c_pregunta

.........1....................¿Cuanto es 2x2?
.........2....................¿Cuanto es 4x4?
Cita:
Esta es la tabla T_Respuestas

c_idrespuesta........................c_idpregunta. .......................c_respuestas

.........1........................................ ....1............................................4
.........2........................................ ....1............................................5
.........3........................................ ....1............................................6
.........4........................................ ....2............................................7
.........5........................................ ....2............................................1 6
.........6........................................ ....2............................................9
El código que tengo es:
Código PHP:
rs1 Me.conexion.consultar("select * from T_Preguntas Inner Join T_Respuestas on T_Preguntas.c_idpregunta=T_Respuestas.c_Pregunta "
Dim filas As New TableRow 
        Dim celdas 
As New TableCell 
         
        
Do While rs1.Read 
            filas 
= New TableRow 'Iniciamos el objeto fila 
            celdas = New TableCell '
Iniciamos el objeto columna 
            filas
.Cells.Add(celdas'Agragamos celda a la fila 
            celdas.Text = rs1("c_pregunta")    '
Texto para la celda 
            Me
.tblEjemplo.Rows.Add(filas'Agragamos la fila a la tabla 
            filas = New TableRow '
Iniciamos el objeto fila 
            celdas 
= New TableCell 'Iniciamos el objeto columna 
            filas.Cells.Add(celdas) '
Agragamos celda a la fila 
            celdas
.Text rs1("c_Respuestas")    'Texto para la celda 
            Me.tblEjemplo.Rows.Add(filas) '
Agragamos la fila a la tabla 
         Loop 
Cita:
El resultado que consigo con este código es:

1. ¿Cuanto es 2x2?
a. 4
1. ¿Cuanto es 2x2?
b. 5
1. ¿Cuanto es 2x2?
c. 6
2. ¿Cuanto es 4x4?
a. 7
2. ¿Cuanto es 4x4?
b. 16
2. ¿Cuanto es 4x4?
c. 9
Cita:
El resultado que deseo es:
1. ¿Cuanto es 2x2?
a. 4
b. 5
c. 6
2. ¿Cuanto es 4x4?
a. 7
b. 16
c. 9
  #7 (permalink)  
Antiguo 29/01/2010, 14:13
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Problema con la tabla dinámica

Según tu BD lo más rápido sería crear 2 consultas, una para listar las preguntas y otra para las respuestas.

Consulta 1:

Código:
Select id, pregunta from preguntas
Consulta 2:
Código:
Select respuesta from respuestas where idpregunta = @idpregunta
Luego recorres el DataTable y listas las preguntas, dentro de ese mismo bucle creas otro y listas las respuestas según la pregunta.

Un poco enredado mi explicación, pero funciona porque alguna vez estuve en una situación casi igual.

PD: Creo que también podrías hacerlo con la consulta que usas y filtrando el DataTable, aunque esto último no sé que tan largo se haría en código.

Saludos
__________________
Eduardo Peredo
Wigoin
  #8 (permalink)  
Antiguo 06/02/2010, 13:46
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema con la tabla dinámica

Hola a todos y muchas gracias de antemano por vuestra ayuda. Sigo con problemas, ahora en el sentido de crear dos consultas asociadas a un mismo comando me da el siguiente error
Cita:
Ya hay un DataReader abierto asociado a este comando, debe cerrarlo primero.
el código que tengo ahora es el siguiente:
Código PHP:
Partial Class _Default
    Inherits System
.Web.UI.Page
    Dim conexion 
As New Cconexion
    Dim rs1 
As SqlDataReader
    Dim rs2 
As SqlDataReader

    
Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgsHandles Me.Load
        Dim respuesta 
As Integer "4"
        
Dim rs1 As SqlDataReader
        Dim rs2 
As SqlDataReader
        Me
.lblsesion.Text Session("alumno")

        
Dim filas As New TableRow
        Dim celdas 
As New TableCell
        rs1 
Me.conexion.consultar("select*from T_preguntas")

        Do While 
rs1.Read
            filas 
= New TableRow 'Iniciamos el objeto fila
            celdas = New TableCell '
Iniciamos el objeto columna
            filas
.Cells.Add(celdas'Agragamos celda a la fila
            celdas.Text = rs1("c_pregunta")    '
Texto para la celda
            Me
.tblEjemplo.Rows.Add(filas'Agragamos la fila a la tabla
            rs2 = Me.conexion.consultar("select * from T_respuestas where c_idpregunta='" & rs1("
c_idpregunta") & "'")
            Do While rs2.Read
                filas = New TableRow '
Iniciamos el objeto fila
                celdas 
= New TableCell 'Iniciamos el objeto columna
                filas.Cells.Add(celdas) '
Agragamos celda a la fila
                celdas
.Text rs2("c_respuestas")    'Texto para la celda
                Me.tblEjemplo.Rows.Add(filas) '
Agragamos la fila a la tabla
            Loop
            rs2
.Close()
              
Loop
        rs1
.Close()
    
End Sub
End 
Class 
  #9 (permalink)  
Antiguo 06/02/2010, 14:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con la tabla dinámica

¿Y cúal es la sintaxis del método .consultar() que llamas en Me.conexion.consultar?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 06/02/2010, 14:55
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema con la tabla dinámica

en una clase externa tengo la conexión

Código PHP:
Public Class Cconexion
    
'Public resultado As Integer
    '
Public Function suma(ByVal x As IntegerByVal y As Integer)

    
'    resultado = x + y
    '    
Return resultado
    End 
Function
    Public 
con As SqlConnection
    Sub abrir
()
        If 
IsNothing(conThen
            con 
= New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
            
con.Open()
        
End If
    
End Sub
    
Public Function ejecutar(ByVal orden As String) As Integer
        abrir
()
        
Dim cmd As New SqlCommand(ordencon)
        Return 
cmd.ExecuteNonQuery
    End 
Function
    Public Function 
consultar(ByVal orden As String) As SqlDataReader
        abrir
()
        
Dim cmd As New SqlCommand(ordencon)
        Return 
cmd.ExecuteReader
    End 
Function
    Public Function 
escalar(ByVal orden As String) As Object
        abrir
()
        
Dim cmd As New SqlCommand(ordencon)
        Return 
cmd.ExecuteScalar
    End 
Function
End Class 
  #11 (permalink)  
Antiguo 06/02/2010, 16:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con la tabla dinámica

El problema tiene dos partes y al menos dos formas de enfrentarlo.
Por un lado, estás usando el mismo objeto para realizar dos lecturas sin que la primera se haya cerrado, ya que la conexión se abre una sola vez y en esa conexión se crea un objeto DataReader que estás leyendo... cuando mandas a abrir nuevamente un DataReader...
En principio, hay un conflicto. O Creas una copia de ese DataReader, o las lecturas deberán se consecutivas y no anidadas.
Esa sería la primera opción

Esa solución (la que tu propones) a mí no me convence, porque resulta en un ciclo innecesario: No necesitas crear dinámicamente la tabla, que la misma consulta ya te está devolviendo.
Es decir: La consulta que enviaste ya te devolvió una tabla. ¿Para qué crear dinámicamente una, si lo que necesitas es tomar los valores que ya te devolvió?
La idea es que en lugar de que la función devuelva un DataReader, ¿por qué no te devuelve directamente la tabla? SI el problema es que te devuelve más columnas de las que necesitas, o bien las eliminas después de leer la tabla, o no se las pides...
Por otro lado, Leer una tabla entera permitiría la misma creación dinámica que actualmente usas, sin el problema de la duplicidad de lectores...

Esto:
Código MySQL:
Ver original
  1. Public Function consultar(ByVal orden As String) As DataTable
  2.         abrir()
  3.         Dim oTabla as new DataTable
  4.         Dim cmd As New SqlCommand(orden, con)
  5.         Dim oRead as New SqlDataReader(cmd)
  6.         oRead.Fill(oTabla)
  7.         Return oTabla.Copy()
te devolvería una copia de tabla, recibiendo el mismo parámetro. Como las lecturas subsecuentes serían sobre un objeto DataTable, no crearían ningún conflicto.

Un tip final: Yo no le veo razón a crear dinámicamente una tabla, columna a columna, celda a celda, cuando ya conoces sus dimensiones y tipos de datos reales.
¿Por qué no creas directamente la tabla con todas sus columnas y simplemente cargas los registros? Tal y como la planteas, no estás ganando nada al hacerlo así.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #12 (permalink)  
Antiguo 06/02/2010, 18:43
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema con la tabla dinámica

ese código me da vario errores uno de ellos se encuentra en oRead el cual dice
Cita:
El tipo 'System.Data.SqlClient.SqlDataRead' no tiene ningun constructor
Muchas gracias
  #13 (permalink)  
Antiguo 06/02/2010, 18:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con la tabla dinámica

Corrige la sintaxis, entonces. Es un obvio error de digitación... ¿No te parece?

Código vb.net:
Ver original
  1. System.Data.SqlClient.SqlDataReader

ALEP
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #14 (permalink)  
Antiguo 07/02/2010, 09:49
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema con la tabla dinámica

Dada sigo teniendo errores que no se como solucionar el código que tengo ahora es el siguiente y me da que estoy haciendolo mal. Muchas gracias y perdonar por ser tan pesado con este tema.
y los errores siguen siendo los siguientes:

Cita:
tipo System.Data.Sqlclient.SqlDataReader no tiene ningún constructor
Cita:
'Fill' no es un miembro de System.Data.SqlClient.SqlDataReader
Código PHP:
Imports Microsoft.VisualBasic
Imports System
.Data.SqlClient
Imports System
.Data.Sql


Public Class Cconexion
         
Public con As SqlConnection
    Sub abrir
()
        If 
IsNothing(conThen
            con 
= New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
            
con.Open()
        
End If
    
End Sub
    
Public Function ejecutar(ByVal orden As String) As Integer
        abrir
()
        
Dim cmd As New SqlCommand(ordencon)
        Return 
cmd.ExecuteNonQuery
    End 
Function
    Public Function 
consultar(ByVal orden As String) As SqlDataReader
        abrir
()
        
Dim cmd As New SqlCommand(ordencon)
        Return 
cmd.ExecuteReader
    End 
Function
    
    Public Function 
escalar(ByVal orden As String) As Object
        abrir
()
        
Dim cmd As New SqlCommand(ordencon)
        Return 
cmd.ExecuteScalar
    End 
Function
    Public Function 
consulta2(ByVal orden As String) As SqlDataReader
        abrir
()
        
Dim cmd As New SqlCommand(ordencon)
        Return 
cmd.ExecuteReader
    End 
Function
    Public Function 
ConsulTabla(ByVal orden As String) As Data.DataTable
        abrir
()
        
Dim oTabla As New Data.DataTable
        Dim cmd 
As New SqlCommand(ordencon)
        
Dim oRead As New SqlDataReader(cmd)
        
oRead.fill(oTabla)
        Return 
oTabla.Copy()
    
End Function
End Class 
  #15 (permalink)  
Antiguo 07/02/2010, 12:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con la tabla dinámica

Vamos al manual:
Cita:
SqlDataReader (Clase)

Espacio de nombres: System.Data.SqlClient

Proporciona una forma de leer una secuencia de filas sólo hacia delante en una base de datos de SQL Server. Esta clase no se puede heredar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #16 (permalink)  
Antiguo 13/02/2010, 17:19
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema con la tabla dinámica

Hola de nuevo por fin ya conseguí que me mostrara las tablas como yo quería, pero ahora se me a presentado otro problema el cual es que quiero utilizar una sola conexión para toda la aplicación, para ello cree una clase en la cual creo la conexión(cconexion)
La clase es la siguiente
Código PHP:
Public Class Cconexion
    
    
Public con As SqlConnection
    Sub abrir
()
        If 
IsNothing(conThen
            con 
= New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
            
con.Open()
        
End If
    
End Sub
    
Public Function ejecutar(ByVal orden As String) As Integer
        abrir
()
        
Dim cmd As New SqlCommand(ordencon)
        Return 
cmd.ExecuteNonQuery
    End 
Function
    Public Function 
consultar(ByVal orden As String) As SqlDataReader
        abrir
()
        
Dim cmd As New SqlCommand(ordencon)
        Return 
cmd.ExecuteReader
    End 
Function
    
    Public Function 
escalar(ByVal orden As String) As Object
        abrir
()
        
Dim cmd As New SqlCommand(ordencon)
        Return 
cmd.ExecuteScalar
    End 
Function
    Public Function 
consulta2(ByVal orden As String) As Data.DataTable
        abrir
()
        
Dim Tabla As New Data.DataTable
        Dim cmd 
As New SqlCommand(ordencon)
        
Dim da As New SqlDataAdapter(cmd)
        
da.Fill(Tabla)
        Return 
Tabla.Copy
    End 
Function
    
End Class 
Código PHP:
Partial Class _Default
    Inherits System
.Web.UI.Page
    Dim conexion 
As New Cconexion




    
Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgsHandles Me.Load
        Dim respuesta 
As Integer "4"
        
        
Dim strConexion As String
        strConexion 
"Data Source=ADRSERVER/SQLEXPRESS; Initial Catalog=nortwind;" "Integrated Security=Yes"
        
Dim objConexion As New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
        
Dim rs1 As String
        rs1 
"select * from T_preguntas"
        
Dim rs2 As String
        rs2 
"select * from T_respuestas"

        
Me.lblsesion.Text Session("alumno")
        
Dim objCommandT As New SqlCommand(rs1objConexion)
        
Dim objCommandR As New SqlCommand(rs2objConexion)
        
Dim objAdapterT As New SqlDataAdapter
        Dim objAdapterR 
As New SqlDataAdapter
        objAdapterT
.SelectCommand objCommandT
        objAdapterR
.SelectCommand objCommandR
        Dim objDs 
As New Data.DataSet
        objAdapterT
.Fill(objDs"Preguntas")
        
objAdapterR.Fill(objDs"Respuestas")
        
Dim relacion As Data.DataRelation objDs.Relations.Add("Examen"objDs.Tables("Preguntas").Columns("c_idpregunta"), objDs.Tables("Respuestas").Columns("c_Pregunta"))
        
Dim filaRfilaT As Data.DataRow
        
For Each filaR In objDs.Tables("Preguntas").Rows
            Response
.Write("<br>" filaR("c_Pregunta").ToString)
            For 
Each filaT In filaR.GetChildRows(relacion)
                
Response.Write("<br>" filaT("c_Respuestas").ToString)
            
Next
        Next

        

    End Sub
End 
Class 
¿cómo podría conectarme a través de la clase cconexión y rellenar Tabla? Para que de esta forma no tener que repetir la conexión. Muchas gracias
Cita:
Dim strConexion As String
strConexion = "Data Source=ADRSERVER/SQLEXPRESS; Initial Catalog=nortwind;" & "Integrated Security=Yes"
Dim objConexion As New SqlConnection(ConfigurationManager.ConnectionStrin gs("ConnectionString").ConnectionString)
  #17 (permalink)  
Antiguo 13/02/2010, 17:28
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Problema con la tabla dinámica

Pues primero tienes que instanciar la clase Cconexion.
Código vb.net:
Ver original
  1. Dim c  as New Cconexion()
  2.  
  3. Page_Load(....)
  4. Dim dt As New DataTable()
  5. dt = c.Consulta2("select * from tabla")
  6. End Sub

Luego ya trabajas directamente con la variable del DataTable o DataSet.

Espero te ayude, Saludos.
__________________
Eduardo Peredo
Wigoin
  #18 (permalink)  
Antiguo 14/02/2010, 04:35
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema con la tabla dinámica

Estoy probando con el dataTable pero me da un error
Cita:
Un valor de tipo System.Data.DataTable no se puede convertir en String
Código PHP:
    Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgsHandles Me.Load
        Dim respuesta 
As Integer "4"
        
        
Dim dt As New Data.DataTable
        dt 
Me.conexion.consulta2("select * from T_preguntas")
        
Dim dt2 As New Data.DataTable
        dt2 
Me.conexion.consulta2("select * from T_respuestas")
        

        
Me.lblsesion.Text Session("alumno")
        
Dim objCommandT As New SqlCommand(dtobjConexion)
        
Dim objCommandR As New SqlCommand(dt2objConexion)
        
Dim objAdapterT As New SqlDataAdapter
        Dim objAdapterR 
As New SqlDataAdapter
        objAdapterT
.SelectCommand objCommandT
        objAdapterR
.SelectCommand objCommandR
        Dim objDs 
As New Data.DataSet
        objAdapterT
.Fill(objDs"Preguntas")
        
objAdapterR.Fill(objDs"Respuestas")
        
Dim relacion As Data.DataRelation objDs.Relations.Add("Examen"objDs.Tables("Preguntas").Columns("c_idpregunta"), objDs.Tables("Respuestas").Columns("c_Pregunta"))
        
Dim filaRfilaT As Data.DataRow
        
For Each filaR In objDs.Tables("Preguntas").Rows
            Response
.Write("<br>" filaR("c_Pregunta").ToString)
            For 
Each filaT In filaR.GetChildRows(relacion)
                
Response.Write("<br>" filaT("c_Respuestas").ToString)
            
Next
        Next


    End Sub 

Etiquetas: tablas
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 14:08.