
10/08/2011, 08:39
|
| | Fecha de Ingreso: mayo-2011
Mensajes: 60
Antigüedad: 13 años, 9 meses 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
|