Forum Pplware

Versão Completa: c# Fazer contagem de um campo de uma bd
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
Boa tarde , estou a fazer uma aplicação em C# windows forms , e surgiu-me uma duvida , eu tenho uma tabela na base de dados que tem varios dados ou seja varias linhas de dados e eu cada linha atribuiu um valor 1,2,3,4 ... que é na coluna 'stop' , no c# eu fiz um codigo que quero que sempre que eu carregue num botão ele me acrescente um numero a minha variavel que assim ele passa-me para a proxima linha e mostra-me os proximos dados , eu fiz um select no form para o primeiro campo da bd e funciona , mas quando carrego no botao em vez de acrescentar 1 e ler o segundo valor vai-me para o ultimo.

codigo do form :

Código:
//select para stops
            liga.Open();
            SQLiteCommand cmd = new SQLiteCommand ( " SELECT stop,rua,cod_postal,localidade,n_porta,ind_stop FROM " + textBlock1.Text + " where stop= '1' "  , liga ) ;
            SQLiteDataReader dr;
            dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                textBlock6.Text = Convert.ToString(dr["stop"]);
                textBlock2.Text = Convert.ToString(dr["rua"]);
                textBlock3.Text = Convert.ToString(dr["n_porta"]);
                textBlock4.Text = Convert.ToString(dr["cod_postal"]);
                textBlock5.Text = Convert.ToString(dr["localidade"]);
                textBlock7.Text = Convert.ToString(dr["ind_stop"]);
            }
            liga.Close();  
        }

Codigo do botao :

Código:
for (int i = 0; i < 200; i++)
            {
              
                resultado = i;

                liga.Open();
                SQLiteCommand cmd = new SQLiteCommand(" SELECT stop,rua,cod_postal,localidade,n_porta,ind_stop FROM " + textBlock1.Text + " where stop= " + resultado + " ", liga);
                SQLiteDataReader dr;
                dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    textBlock6.Text = Convert.ToString(dr["stop"]);
                    textBlock2.Text = Convert.ToString(dr["rua"]);
                    textBlock3.Text = Convert.ToString(dr["n_porta"]);
                    textBlock4.Text = Convert.ToString(dr["cod_postal"]);
                    textBlock5.Text = Convert.ToString(dr["localidade"]);
                    textBlock7.Text = Convert.ToString(dr["ind_stop"]);

                }
                liga.Close();



Desde ja agradeço a ajuda , um abraço
Tens um for dentro do código do botão assim quando ele sair do código do botão ou seja quando tiveres tempo de ver o que ta nas text a variável tem sempre 200.

Uma possível solução passa por teres a variável resultado global e no inicio do botão a única coisa que tens de fazer ao invés do for é incrementar a variável resultado com 1.

Mais alguma dúvida pergunta

Cumps,
Não percebi muito bem a ultima parte amigo Confused , podes me dar um exemplo ?

Desde ja agradeço a ajuda . Um abraço
Ja percebi e ja esta resolvido , obrigado Smile
Codigo do botao :

Código:
//Esta variavel resultado deve estar declarada no topo da tua classe
                resultado = resultado + 1;

                liga.Open();
                SQLiteCommand cmd = new SQLiteCommand(" SELECT stop,rua,cod_postal,localidade,n_porta,ind_stop FROM " + textBlock1.Text + " where stop= " + resultado + " ", liga);
                SQLiteDataReader dr;
                dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    textBlock6.Text = Convert.ToString(dr["stop"]);
                    textBlock2.Text = Convert.ToString(dr["rua"]);
                    textBlock3.Text = Convert.ToString(dr["n_porta"]);
                    textBlock4.Text = Convert.ToString(dr["cod_postal"]);
                    textBlock5.Text = Convert.ToString(dr["localidade"]);
                    textBlock7.Text = Convert.ToString(dr["ind_stop"]);

                }
                liga.Close();



Consegues perceber assim?

Cumps,
Sim ja esta resolvido , obrigado pela ajuda

Ja agora ja trabalhas-te em c# WPF ?
é para aplicar em pdas , eu tenho o windows CE instalado no pda mas quando corro o exe do meu c# ele da-me um erro e não abre :x
Não ainda não desenvolvi nada nem com WPF nem para PDA portanto não te posso ajudar nisso Wink

Abraço
Ok obrigado na mesma , um abraço
URL's de Referência