1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[VB2008] Search + Datagridview

Discussão em 'Programação' iniciada por lcortereal, 13 de Março de 2009. (Respostas: 4; Visualizações: 1880)

  1. lcortereal

    lcortereal Power Member

    Boas, estou a fazer um projecto em VB2008, que basicamente servirá para empresas de figurantes. O programa e baseado numa Form onde se adicionam novas pessoas na base de dados (nome, altura, dade de nascimento, etc), e depois tenho outra Form para pesquisar pessoas na base de dados.

    Ja consegui fazer a primeira form (adicionar pessoas para a BD), mas agora estao me a surgir problemas ao fazer o search.

    No form do search tenho um Textbox chamado txt_search, um botao chamado btn_search e um datagridview onde serao mostrados os resultados da pesquisa.

    Sei que a sintaxe de SQL para fazer pesquisas é: SELECT column_name(s) FROM table_name WHERE column_name = nomedavariavel/textbox(etc)

    no meu caso será: "SELECT tbl_contacts.Name, tbl_contacts.DOB, tbl_contacts.Height FROM(tbl_contacts) WHERE (((tbl_contacts.Name)=[txtSearch]));", _

    o codigo que tenho para fazer isto é:
    Código:
            'Make the connect string.
            txt_database2.Text = Application.StartupPath & "\db_extras_test2003.mdb"
            Dim connect_string As String = _
                "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                "Data Source=""" & txt_database2.Text & """;" & _
                "Persist Security Info=False"
     
            ' Open a database connection.
            Dim conn_db_extras_test2003 As New OleDb.OleDbConnection(connect_string)
            conn_db_extras_test2003.Open()
     
            ' Make a Command to search data.
            Dim cmd As New OleDbCommand( _
            "SELECT tbl_contacts.Name, tbl_contacts.DOB, tbl_contacts.Height FROM(tbl_contacts) WHERE (((tbl_contacts.Name)=[txtSearch]));", _
                conn_db_extras_test2003)
     
            ' Execute the command.
            Try
                cmd.ExecuteNonQuery()
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
     
            'Close the connection.
            conn_db_extras_test2003.Close()
            conn_db_extras_test2003.Dispose()
    O problema surge quando tenho que mostrar os resultados de pesquisa no datagridview (posso mostras os resultados noutro objecto caso seja melhor)

    Alguem me consegue ajudar? Ja andei a procura e nao encontrei nada que me esclarece-se...
     
    Última edição: 13 de Março de 2009
  2. Granadafeup

    Granadafeup Power Member

    A DataView tem uma propriedade RowFilter onde podes meter a tua procura (Nome = 'Jose').
    (Ou se preferires fazes outra ligação a BD.)

    Depois de alterares a DataView tens de fazer o Databind na tua DataGridView

    em C# fica

    dgv.DataSource = dv;
    dgv.DataBind();
     
  3. lcortereal

    lcortereal Power Member

    ainda nao consegui fazer :(

    ninguem me ajuda? xD
     
  4. lcortereal

    lcortereal Power Member

    Boas, ja consegui, com a ajuda do wizzard query builder, fazer uma query.
    Código:
    SELECT        ID, Name, DOB, Height, Imglocation1, Imglocation2, Imglocation3
    FROM            tbl_contacts
    WHERE        (Name = ?)
    ORDER BY ID
    Agora o meu problema é o seguinte: eu tenho uma textbox (txt_search), um botao (btn_search) e um datagridview. Eu quero que quando for inserido algum texto na textbox e depois de o botao ser premido, os resultados da pesquisa (query) sejam mostrados na datagridview.

    Já tentei:
    Código:
        Private Sub btn_search_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_search.Click
            Tbl_contactsTableAdapter.Fill(Db_extras_test2003DataSet1.tbl_contacts, "Name")
    
    mas n deu nada :(
     
  5. snis

    snis Power Member

    ja sabes algo acerca desta tua duvida.??? estou com a mesma que tu.. abraço
     

Partilhar esta Página