Código:
lo que hace es realizar una consulta en una bd de db2 y con los resultados llenar un datatable, que posteriormente cargo en un dataset para poder mostrarlo en un reporte de cryatal reports, hasta ahora la consulta la realiza bien, y me devuelve bien mis datos, el problema es que dupilica cada registro que encuentra, es decir, si el select encuentra 5 registros, el datatable almacena 10, esero alguin pueda ayudarme con esto.Private Sub DETALLES(ByVal P As Integer) Dim dataTable As New DataTable Dim dataRow As DataRow Dim ds As New DataSet dataTable.Columns.Add(New DataColumn("FFACTU", GetType(Integer))) dataTable.Columns.Add(New DataColumn("FCSCFV")) dataTable.Columns.Add(New DataColumn("FFCORI")) dataTable.Columns.Add(New DataColumn("FCVORI")) dataTable.Columns.Add(New DataColumn("FCVDES")) dataTable.Columns.Add(New DataColumn("FHRSAV")) dataTable.Columns.Add(New DataColumn("FHRLLV")) dataTable.Columns.Add(New DataColumn("FPASAT")) dataTable.Columns.Add(New DataColumn("FHRVUE")) dataTable.Columns.Add(New DataColumn("FHRESP")) dataTable.Columns.Add(New DataColumn("FTPVUP")) dataTable.Columns.Add(New DataColumn("FTPESP")) dataTable.Columns.Add(New DataColumn("DESC_O")) dataTable.Columns.Add(New DataColumn("DESC_D")) Dim MyCommand As New iDB2Command("Select *" & _ "From FCPRVDF where ffactu=" & P & " order by FFCORI asc", New iDB2Connection("datasource=192.168.1.200;UserId=ismael;password=ism0204;defaultCollection=desarrollo")) MyCommand.Connection.Open() Dim dr As IDataReader = MyCommand.ExecuteReader(CommandBehavior.CloseConnection) While dr.Read dataRow = dataTable.NewRow dataRow("FFACTU") = dr("FFACTU") dataRow("FCSCFV") = dr("FCSCFV") dataRow("FFCORI") = dr("FFCORI") dataRow("FCVORI") = dr("FCVORI") dataRow("FCVDES") = dr("FCVDES") dataRow("FHRSAV") = dr("FHRSAV") dataRow("FHRLLV") = dr("FHRLLV") dataRow("FPASAT") = dr("FPASAT") dataRow("FHRVUE") = dr("FHRVUE") dataRow("FHRESP") = dr("FHRESP") dataRow("FTPVUP") = dr("FTPVUP") dataRow("FTPESP") = dr("FTPESP") dataRow("DESC_O") = dr("FCVORI") dataRow("DESC_D") = dr("FCVDES") dataTable.Rows.Add(dataRow) End While ds.Tables.Add(dataTable) ds.Tables(0).TableName = "FCPRVDF" dsPc.Merge(ds, False, MissingSchemaAction.Ignore) dsPc.AcceptChanges() MyCommand.Connection.Close() End Sub
gracias