Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/08/2011, 08:39
MiGoBi
 
Fecha de Ingreso: mayo-2011
Mensajes: 60
Antigüedad: 13 años
Puntos: 1
Respuesta: Problema con dataset

Al final lo he resuelto así:

Código:
    Function GetIdVehiculo(ByVal firstDate As DateTime, ByVal today As DateTime) As DataSet

        Dim dsIdVeh As New DataSet
        Dim dsFecha As New DataSet
        Dim dsNoMovido As New DataSet

        Try
            Dim cs As ConnectionStringSettings
            cs = ConfigurationManager.ConnectionStrings("MiConexion")
            Dim connString As String = cs.ConnectionString
            Dim dbConnection As New SqlConnection(connString)
            Dim queryidvehiculo As String = "SELECT DISTINCT id_vehiculo FROM vehiculo_adapt WHERE vehiculo_adapt.usuario = @usuario"
            Dim dbCommand As New SqlCommand(queryidvehiculo, dbConnection)
            dbCommand.Parameters.Add(New SqlParameter("@usuario", Session("usuario_web")))
            Dim sqlDataAdapter As New SqlDataAdapter(dbCommand)
            sqlDataAdapter.Fill(dsIdVeh)

            'http://msdn.microsoft.com/es-es/library/6zd7cwzh.aspx'
            'http://www.startvbdotnet.com/ado/datatable.aspx'

            Dim tbNoMovido As DataTable
            tbNoMovido = New DataTable("tbNoMovido2")
            'creating a table named tbNoMovido2
            Dim Row As DataRow
            'declaring one row for the table
            Dim id_vehiculo As DataColumn = New DataColumn("id_vehiculo")
            'declaring a column named id_vehiculo
            id_vehiculo.DataType = System.Type.GetType("System.Int64")
            'setting the datatype for the column
            tbNoMovido.Columns.Add(id_vehiculo)
            'adding the column to table
            Dim fecha As DataColumn = New DataColumn("fecha")
            fecha.DataType = System.Type.GetType("System.DateTime")
            tbNoMovido.Columns.Add(fecha)

            'Creamos el dataset'
            'http://social.msdn.microsoft.com/Forums/es/netfxwebes/thread/f829b0c1-6743-45e1-a9a3-8a8be66959dd'

            Dim cont As Integer = 0
            Dim cont2 As Integer = 0
            Dim elem As Integer

            'declaring a new row
            For Each fila As DataRow In dsIdVeh.Tables(0).Rows

                elem = dsIdVeh.Tables(0).Rows(cont)("id_vehiculo")
                cont = cont + 1
                Dim queryfecha As String = "SELECT DISTINCT fecha FROM no_movido WHERE no_movido.id_vehiculo = @elem AND no_movido.fecha >= @firstDate AND no_movido.fecha < @today"
                Dim dbCommand2 As New SqlCommand(queryfecha, dbConnection)
                dbCommand2.Parameters.Add(New SqlParameter("@firstDate", firstDate))
                dbCommand2.Parameters.Add(New SqlParameter("@today", today))
                dbCommand2.Parameters.Add(New SqlParameter("@elem", elem))
                Dim sqlDataAdapter2 As New SqlDataAdapter(dbCommand2)
                sqlDataAdapter2.Fill(dsFecha)
                cont2 = 0

                For Each fila2 As DataRow In dsFecha.Tables(0).Rows
                    Row = tbNoMovido.NewRow()
                    Row.Item("id_vehiculo") = elem
                    'filling the row with values. adding a id_vehiculo
                    Row.Item("fecha") = dsFecha.Tables(0).Rows(cont2)("fecha")
                    'filling the row with values. adding a fecha 
                    tbNoMovido.Rows.Add(Row)
                    cont2 = cont2 + 1
                Next

            Next

            dsNoMovido.Tables.Add(tbNoMovido)
            'adding the table to dataset 

        Catch ex As Exception
            Me.lblerrorcalendario3.Text = ex.ToString
        End Try
        Return dsNoMovido
    End Function