Jump to content

Recommended Posts

Posted

Boas!

Tou com uma dúvida em relação ao botoes seguinte e anterior!! Eu o primeiro e o ultimo consegui fazer agora o anterior e o seguinte é que estou com dúvidas! Se o id_cliente fosse sempre seguido [1,2,3,4,5] era fácil mas como  id´s podem não estar seguidos, faz com que de erro!

O código que utilizo para o primeiro é o seguinte:

Private Sub btn_primeiro_Click() Handles btn_primeiro.Click
Dim a As Integer

        btn_primeiro.Enabled = False
        btn_anterior.Enabled = False
        btn_ultimo.Enabled = True
        btn_seguinte.Enabled = True


        myCommand.Connection = conn
        myCommand.CommandText = "SELECT min(id_clientes) FROM clientes"
        conn.Open()
        a = myCommand.ExecuteScalar
        conn.Close()
        txt_cod.Text = a
End Sub

Private Sub txt_cod_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_cod.TextChanged
        Dim re As MySqlDataReader

        myCommand.Connection = conn
        myCommand.CommandText = "Select * from clientes where id_clientes='" & txt_cod.Text & "'"

        conn.Open()

        re = myCommand.ExecuteReader
        re.Read()

        If re.HasRows Then
            txt_contribuinte.Text = re("contribuinte")
            txt_cpostal.Text = re("cpostal")
            txt_cpostall.Text = re("cpostall")
            txt_email.Text = re("email")
            txt_localidade.Text = re("localidade")
            txt_morada.Text = re("morada")
            txt_nome.Text = re("nome")
            txt_telefone.Text = re("fixo")
            txt_telem.Text = re("telemovel")
            cmb_condpag.Text = re("cond_pagam")
            cmb_formapag.Text = re("forma_pagam")
            cmb_moeda.Text = re("moeda")
        Else
            txt_contribuinte.Text = 0
            txt_cpostal.Text = "0000"
            txt_cpostall.Text = "000"
            txt_email.Text = ""
            txt_localidade.Text = ""
            txt_morada.Text = ""
            txt_nome.Text = "Uilizador não existente"
            txt_telefone.Text = 0
            txt_telem.Text = 0
            cmb_condpag.Text = ""
            cmb_formapag.Text = ""
            cmb_moeda.Text = "EUR"
        End If

        conn.Close()
    End Sub

O que eu fiz foi o seguinte, tem uma textbox na form que contem o id do cliente e caso o id mude ele vai á base de dados buscar os dados correspondentes ao id que se encontra na textbox.

Agora  queria saber como faço os botoes seguinte e anterior!

Agradeço a vossa ajuda!

cumps,

Posted

Podes utilizar o TOP

Select top 10 * from ...

e vêm as 10 primeiras linhas, podes ir fazendo assim de acordo com o indice q necessitas.

para o 2 fazes select top 20 * from ...

Não percebi muito bem.... ou explique-me mal o que eu queria fazer...

Por ex: no Mysql Query Browser executei isto:

SELECT TOP 10 *  FROM clientes

Mas indica que tem um erro!!

Podes explicar melhor como faço os botoes seguinte e anterior?

Obrigado!

Posted

Por acaso não reparei q era mySql, o TOP é uma expressão de sql server.

De qualquer maneira deve haver equivalente. Em Oracle por exemplo tens o rownum < 10.

Mas a ideia é:

int linhasAobter = numeroLinhas * indice;

depois Select TOP @linhasAobter from ..., com a sintaxe correcta para mysql, e fazendo do linhasAobter um parametro

Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Posted

Por acaso não reparei q era mySql, o TOP é uma expressão de sql server.

De qualquer maneira deve haver equivalente. Em Oracle por exemplo tens o rownum < 10.

Mas a ideia é:

int linhasAobter = numeroLinhas * indice;

depois Select TOP @linhasAobter from ..., com a sintaxe correcta para mysql, e fazendo do linhasAobter um parametro

Nao haverá forma mais simples de o fazer?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.