none
Teclas de Movimentações dos Registros do BD RRS feed

  • Pergunta

  • Gente, estou fazendo uma aplicação pequena que contem um bd mysql. Só que eu nao estou usando akele "Wizard" do Visual Studio. Estou fazendo tudo "Na Unha", pois na minha opiniao e melhor porque vc desenvolve da forma que vc quer. Só que eu nao sei fazer aqueles botoes de navegação dos registros tipo.:

    * Ir para o Primeiro Registro

    * Ir para o registro anterior

    * ir para o Proximo registro

    * Ir para o Ultimo Registro

    Sera que alguem pode me mandar o código ou me mostrar Exemplos.?

    Fico Agradecido pela Ajuda

    quarta-feira, 18 de janeiro de 2012 19:41

Respostas

  • Olá Nelson,

    Este tópico deveria ser movido para o fórum de ADO.Net.

     

    Segue a solução para sua dúvida.

     

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    
        private int _registroAtual;
    
        private DataTable CapturarRegistros(string sqlCommand)
        {
            string connectionString = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=commercesample;Data Source=.\SQLExpress";
            DataTable returnValue = new DataTable();
    
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                SqlDataAdapter da = new SqlDataAdapter(sqlCommand, conn);
    
                da.Fill(returnValue);
            }
        
            return returnValue;
        }
    
        private void PreencherCampos(DataTable tabela)
        {
            if (tabela.Rows.Count == 0)
                return;
    
            this.txtNomeProduto.Text = tabela.Rows[0]["Name"].ToString();
            this._registroAtual = Convert.ToInt32(tabela.Rows[0]["Id"].ToString());
        }
    
        private void MoverRegistro(string sqlCommand)
        {
            DataTable tabela = null;
    
            tabela = CapturarRegistros(sqlCommand);
            PreencherCampos(tabela);
        }
    
        private void btnProximo_Click(object sender, EventArgs e)
        {
            string comando = "SELECT TOP 1 * FROM Product WHERE Id > {0} ORDER BY Id";
            comando = string.Format(comando, this._registroAtual);
    
            MoverRegistro(comando);
        }
    
        private void btnPrimeiro_Click(object sender, EventArgs e)
        {
            string comando = "SELECT TOP 1 * FROM Product ORDER BY Id";
            comando = string.Format(comando, this._registroAtual);
    
            MoverRegistro(comando);
        }
    
        private void btnAnterior_Click(object sender, EventArgs e)
        {
            string comando = "SELECT TOP 1 * FROM Product WHERE Id < {0} ORDER BY Id DESC";
            comando = string.Format(comando, this._registroAtual);
    
            MoverRegistro(comando);
        }
    
        private void btnUltimo_Click(object sender, EventArgs e)
        {
            string comando = "SELECT TOP 1 * FROM Product ORDER BY Id DESC";
            comando = string.Format(comando, this._registroAtual);
    
            MoverRegistro(comando);
        }
    }
    


     

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique

    sexta-feira, 20 de janeiro de 2012 18:10
    Moderador