none
Como fazer um loop no banco de dados MySQL (VB.Net)

    Question

  • Preciso pegar os subtotais de uma tabela chamada consumo através do Codigo do Cliente. Onde esses valores são carregados, somados e mostrados no campo subtotal. Pensei em usar o While mas não sei como fazer. Alguém pode me ajudar?

     

    Linguagem: VB.Net

    Banco de dados. MySQL

    Tabela: Consumo

    Campos: Codigo, CodCliente, CodSerico, Qt, SubTotal

    Thursday, March 06, 2008 6:47 PM

All replies

  • Yuri, se eu entendi bem voce vai listar o resultado em um GridView.

    Sendo assim, no evento RowDataBound do GridView faça:

    OBS: o exemplo esta em C#

     

    if (e.Row.RowType == DataControlRowType.DataRow)

    {

     

          string Codigo = e.Row.Cells[0].Text;

          string CodCliente = e.Row.Cells[1].Text;

          string CodSerico = e.Row.Cells[2].Text;

          string Qt = e.Row.Cells[3].Text;

          string SubTotal  = e.Row.Cells[4].Text;

          Aqui vc faz seu calculoe atribui o valor a string SubTotal

     

    }


    Pelo que eu entendi foi isso.

    Se nao for isso formule melhor sua duvida e poste aqui.

    Abraço
    Thursday, March 06, 2008 8:33 PM
  • Não eu não vou listar em um grid, pois isso eu faço até de olhos vendados... rsrsrsrsrsr .

     

    Eu preciso pegar os valores do Subtotal de um determinado cliente no banco de dados e ir somando para dar o total.

     

    Vou explicar melhor. Minha página é um relatório de gastos do cliente em um determinado hotel. Após eu ter carregado a grid com todos os gastos do cliente, eu preciso pegar todos os subtotais do mesmo e somar para o campo total.

     

    entendeu?

    Friday, March 07, 2008 12:09 PM
  • Crie uma variável global na classe e faça a soma usando o evento OnRowDataBound.

    A cada row preenchida do grid você soma à sua variável.


    Friday, March 07, 2008 5:03 PM
  • Me parece a melhor forma. Mas vc pode me dar uma ajuda para fazer?

    Nunca fiz e não sei como se faz.

    Friday, March 07, 2008 7:27 PM
  • c#

     

    Code Snippet

    double soma = 0.0;

            protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    DataRowView row = (DataRowView)e.Row.DataItem;
                    double valor = (double)row["COLUNA_SOMA"];  
      soma += valor;
                }
            }

     

     

    }

    }

    }

    }

    }

    }

    Saturday, March 08, 2008 3:35 AM
  • Vc pode mandar isso pra mim em VB.Net?

    Monday, March 10, 2008 12:00 PM
  • Procure por "C# to VB" no google.

     

    Tem vários conversores de código que você pode usar pra converter para VB,

     

    Monday, March 10, 2008 4:19 PM
  • Está dando erro nas partes sublinhadas. e não há o evento "RowDataBound".

     

    Abaixo está o código  feito por vc em liguagem VB.Net.

     

    Protected Sub DGConsumo_DataBinding(ByVal sender As Object, ByVal e As System.EventArgs) Handles DGConsumo.DataBinding

     

    Dim Soma As Double

     

    If e.Row.RowType = DataControlRowType.DataRow Then

     

    Dim row As DataRowView = DirectCast(e.Row.DataItem, DataRowView)

    Dim valor As Double = CDbl(row("SubTotal"))

    Soma += valor

     

    End If

    End Sub

     

    Monday, March 10, 2008 4:52 PM