Jump to content

O que Falta no Select


Chamuanza
 Share

Recommended Posts

Bem aja pessoal

O que falta neste select para funcionar.

A linha referente ao select não aparece na grid, embora active a mesma

Obrigado

Dim conn As New OleDbConnection()
        conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\AgendaAnosVB6\AgendaAnosNova\AgendaAnos.mdb"
        Dim ds As New DataSet
        Dim cmd As OleDbCommand = conn.CreateCommand
        Dim DataMes As Date = Today

        cmd.CommandText = "Select Nome, Sobrenome, Endereco, Nascimento " & _
                         "From Amigos " & _
                         "Where Nome = 'Maria'"

        conn.Open()

        Dim leitor As OleDbDataReader = cmd.ExecuteReader()


        Try
            ds = New DataSet("Amigos")
            AmigosDataGridView.DataSource = ds.Tables("Amigos")

            leitor.Close()
            conn.Close()

        Catch erro As Exception
            MsgBox("Erro " & vbCrLf & erro.ToString, MsgBoxStyle.Critical, "Erro")
        End Try
Link to comment
Share on other sites

Estás aí a misturar DataReader com DataSet.

Só vais usar um dos 2.

Se optares por DataReader fazes assim:

http://www.startvbdotnet.com/ado/sqlserver.aspx

Se escolheres DataSet:

http://www.exforsys.com/tutorials/vb.net-2005/access-and-manipulate-data-using-datasets.html

Uma observação: No controlo de excepções acrescenta um finally com um Close á ligação da BD, para garantires que é sempre fechada.

Matraquilhos para Android.

Gratuito na Play Store.

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

Link to comment
Share on other sites

Obrigado pela atenção bruno1234

Aos exemplos que me deste fui buscar o codigo abaixo descrito, penso que seja isto, mas como passo os dados para a grid?

 Dim cn As OleDbConnection
        Dim cmd As OleDbCommand
        Dim dr As OleDbDataReader


        Try

            cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\AgendaAnosVB6\AgendaAnosNova\AgendaAnos.mdb")
            'provider to be used when working with access database

            cn.Open()
            cmd = New OleDbCommand("Select Nome, Sobrenome, Endereco, Nascimento " & _
                             "From Amigos " & _
                             "Where Nome = 'Maria'", cn)

            dr = cmd.ExecuteReader
            While dr.Read()

                'TextBox1.Text = dr(0)
                'TextBox2.Text = dr(1)
                'TextBox3.Text = dr(2)
                ' loading data into TextBoxes by column index
            End While

            dr.Close()
            cn.Close()

        Catch erro As Exception
            MsgBox("Erro " & vbCrLf & erro.ToString, MsgBoxStyle.Critical, "Erro")
        End Try
Link to comment
Share on other sites

podes criar uma lista de uma classe conhecida por exemplo.

Troca:

'TextBox1.Text = dr(0)
'TextBox2.Text = dr(1)
TextBox3.Text = dr(2)

por:

MinhaClasse minhaClasse = new MinhaClasse();
minhaClasse.A = dr(0);
minhaClasse.B = dr(1);
minhaClasse.C = dr(2);
lista.Add(minhaClasse);

em que:

- tens uma List<MinhaClasse> lista instanciada.

- A, B e C são Propriedades da MinhaClasse.

Depois mete na GridView:

grid.DataSource = lista;
grid.DataBind();

Matraquilhos para Android.

Gratuito na Play Store.

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

Link to comment
Share on other sites

Criar uma lista de uma classe é fazer:

List<MinhaClasse> lista = new List<MinhaClasse>();

Isto é a sintaxe em C#, em vb .net n sei, mas n há-de ser mto diferente.

A construção de grids por wizards nunca experimentei, normalmente escrevo o código todo que preciso.

Matraquilhos para Android.

Gratuito na Play Store.

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

Link to comment
Share on other sites

pois é, mas eu sou maçarico nestas andanças e estou a funcionar com VB Net

O select funciona, pois testei introduzindo 4 cx  de texto e atribuindo  TextBox2.Text = dr(1)

TextBox3.Text = dr(2) e sucessivamente, e os dados aparecem, mas como tenho a grid é mais pratico expor os dadosna grid.

Deve haver alguem que consiga dar-me uma dica

Obrigado

Link to comment
Share on other sites

A lista serve mesmo para fazer o DataBind à tua grid.

A grid fica com os dados que estão na lista.

Se for uma grid de windows forms, basta afectares o valor da propriedade DataSource com a lista e fica feito.

Matraquilhos para Android.

Gratuito na Play Store.

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

Link to comment
Share on other sites

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
 Share

×
×
  • 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.