• Viernes 8 de Noviembre de 2024, 21:00

Autor Tema:  Comparar Registros(fila) En Un Dataset  (Leído 2784 veces)

tranagression

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Comparar Registros(fila) En Un Dataset
« en: Lunes 17 de Septiembre de 2007, 22:30 »
0
Hola, Necesito saber como comparar dos registros en un dataset y si estan repetidos la specie y el country, el valor se sume y deje uno en el griview

Asi me sale....
Citar
Specie Country Valor
Uno Brasil 2,420
Uno Brasil 2,000

Asi lo necesito....
Citar
Specie Country Valor
Uno Brasil 4,420
Código: Text
  1. Dim comm As New SqlDataAdapter(SQL, cn)
  2.         cn.Open()
  3.  
  4.         Dim dt As DataTable
  5.         Dim dt2 As DataTable
  6.         Dim ds As DataSet
  7.         Dim myDataRow As DataRow
  8.         Dim column As DataColumn
  9.         Dim n As Integer
  10.  
  11.  
  12.         dt = New DataTable
  13.         comm.Fill(dt)
  14.         dt2 = New DataTable
  15.  
  16.  
  17.  
  18.         column = New DataColumn()
  19.         column.DataType = System.Type.GetType("System.String")
  20.         column.ColumnName = "Specie"
  21.         column.AutoIncrement = False
  22.         column.Caption = "Specie"
  23.         column.ReadOnly = False
  24.         column.Unique = False
  25.         dt2.Columns.Add(column)
  26.  
  27.  
  28.         column = New DataColumn()
  29.         column.DataType = System.Type.GetType("System.String")
  30.         column.ColumnName = "Country"
  31.         column.AutoIncrement = False
  32.         column.Caption = "Country"
  33.         column.ReadOnly = False
  34.         column.Unique = False
  35.         dt2.Columns.Add(column)
  36.  
  37.         column = New DataColumn()
  38.         column.DataType = System.Type.GetType("System.String")
  39.         column.ColumnName = "Valor"
  40.         column.AutoIncrement = False
  41.         column.Caption = "Valor"
  42.         column.ReadOnly = False
  43.         column.Unique = False
  44.         dt2.Columns.Add(column)
  45.  
  46.  
  47.         Dim ds As New DataSet
  48.         comm.Fill(ds, "Report")
  49.  
  50.         n = dt.Rows.Count
  51.         If n = 0 Then
  52.  
  53.         Else
  54.  
  55.             For Each myDataRow In ds.Tables("Report").Rows
  56.  
  57.                 Dim sStatus, sNameSpecie,SCountry As String
  58.  
  59.                 sCountry = myDataRow("country").ToString
  60.                 sValor = myDataRow("valor").ToString
  61.                 sSpecie = myDataRow("specie").ToString
  62.  
  63.                 If sSpecie = "1" Then
  64.                    sValor  = sValor +100
  65.                 Else
  66.                     sValor  = sValor -100
  67.                 End If
  68.  
  69.                 'y otras funciones de calculo por eso dos datasets
  70.  
  71.                 myDataRow = dt2.NewRow()
  72.  
  73.                 myDataRow("Specie") = sNameSpecie
  74.                 myDataRow("Country") = sCountry
  75.                 myDataRow("Valor") = sValor+100
  76.  
  77.             
  78.                 dt2.Rows.Add(myDataRow)
  79.  
  80.                 GridView1.DataSource = dt2
  81.                 GridView1.DataBind()
  82.  
  83.             Next
  84.  
  85.         End If
  86.  
  87.         cn.Close()
  88.  


Gracias de antemano