Jump to content
Fabio92

consultar sql por parametros vb

Recommended Posts

Fabio92

boas pessoal...

o que tenho é o seguinte esto a fazer a gestao de pedidos de clientes e tenho uma função para consultar todos os dados com o codigo em baixo:

    DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
        DataGridView1.AllowUserToAddRows = False
        DataGridView1.AllowUserToDeleteRows = False
        DataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically

        Dim adapter_trabalho As New Assistencia_tecnicaDataSetTableAdapters.trabalhoTableAdapter
        Dim tab_trabalho As New Assistencia_tecnicaDataSet.trabalhoDataTable

        adapter_trabalho.Fill(tab_trabalho)

        Dim coluna As DataColumn

        For Each coluna In tab_trabalho.Columns
            DataGridView1.Columns.Add(coluna.ColumnName, coluna.ColumnName)

        Next

        Dim linha As DataRow
        Dim idx_linha As Integer
        Dim idx_coluna As Integer

        idx_linha = 0
        For Each linha In tab_trabalho.Rows
            Dim linha_datagrid As New DataGridViewRow
            DataGridView1.Rows.Add(linha_datagrid)

            idx_coluna = 0
            For Each coluna In tab_trabalho.Columns
                DataGridView1.Rows(idx_linha).Cells(idx_coluna).Value = tab_trabalho.Rows(idx_linha).Item(idx_coluna)
                idx_coluna = idx_coluna + 1

            Next
            idx_linha = idx_linha + 1

        Next

    End Sub

agora como faço se quiser consultar apenas os registos com o cod_projecto = xxx???

Share this post


Link to post
Share on other sites
Fabio92

boas pessoal mais uma vez que souber que me ajude sff que isto é importante, esto a acabar o estagio e quero deixar isto a funcionar...

ja tenho o codigo para conseguir ver os registos mas está a ir pra uma msgbox como posso fazer para por no datagridview1???

        DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
        DataGridView1.AllowUserToAddRows = False
        DataGridView1.AllowUserToDeleteRows = False
        DataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically

        Dim cp As String
        cp = InputBox("Introduza o código do projecto que quer consultar")
        Const constr As String = "Data Source = .\SQLEXPRESS;" & "attachDbFilename=C:\Documents and Settings\SIM 27\Ambiente de trabalho\Assistencia Tecnica\Assistencia Tecnica\ASSISTENCIA_TECNICA.MDF;" &
          "Integrated Security=true;connect timeout=30;" & "User instance=true"

        Dim db As New SqlConnection(constr)

        db.Open()

        Dim varsql As String
        varsql = "SELECT * FROM trabalho WHERE [Cod_Projecto] = '" & cp & "'"

        Dim cmd As New SqlCommand(varsql, db)

        Dim dr As SqlDataReader
        dr = cmd.ExecuteReader

        Dim info As String = ""

        While dr.Read
            info = info & dr.Item("ID") & "," &
            RTrim(dr.Item("Data")) & "," &
            dr.Item("cod_projecto") & "," &
            dr.Item("ident_cliente") & "," &
            dr.Item("sol_pla") & "," &
            dr.Item("resp_solicit") & "," &
            dr.Item("actividade") & "," &
            dr.Item("descrição") & "," &
            dr.Item("tec_prev") & "," &
            dr.Item("dead_line") & "," &
            dr.Item("tec_ASSEC") & "," &
            dr.Item("H_ini") & "," &
            dr.Item("H_fim") & "," &
            dr.Item("tempo_disp")

        End While

        MsgBox(info)

        db.Close()

    End Sub

Share this post


Link to post
Share on other sites
Andrepereira9

Boas

Podes fazer de 2 maneiras

1º Crias as colunas que queres apresentar na Datagrid

Depois  dentro do ciclo while é so adicionares os valores á datagrid

    While dr.Read

            DataGridView1.Rows.Add(dr.Item("ID"), RTrim(dr.Item("Data")), dr.Item("cod_projecto"), dr.Item("ident_cliente"), dr.Item("sol_pla"), dr.Item("resp_solicit"), dr.Item("actividade"), dr.Item("descrição"), dr.Item("tec_prev"), dr.Item("dead_line"), dr.Item("tec_ASSEC"), dr.Item("H_ini"), dr.Item("H_fim"), dr.Item("tempo_disp"))

        End While

2º Utilizas DataSets.

Não precisas de criar as colunas na Datagrid, que ele cria autiomaticamente. O unico problema é que cria com todas as colunas que tens na BD

  DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
        DataGridView1.AllowUserToAddRows = False
        DataGridView1.AllowUserToDeleteRows = False
        DataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically

        Dim cp As String
        cp = InputBox("Introduza o código do projecto que quer consultar")
        Const constr As String = "Data Source = .\SQLEXPRESS;" & "attachDbFilename=C:\Documents and Settings\SIM 27\Ambiente de trabalho\Assistencia Tecnica\Assistencia Tecnica\ASSISTENCIA_TECNICA.MDF;" &
          "Integrated Security=true;connect timeout=30;" & "User instance=true"

        Dim db As New SqlConnection(constr)

        db.Open()

        Dim varsql As String
        varsql = "SELECT * FROM trabalho WHERE [Cod_Projecto] = '" & cp & "'"

        Dim cmd As New SqlCommand(varsql, db)
        Dim DataAdapter As New OleDbDataAdapter(cmd)
        Dim MyData As New DataSet
        DataAdapter.Fill(MyData, "trabalho ")

        Me.DataGridView1.DataSource = MyData.Tables("trabalho ")

Datasets

Access (Seleccionar, Inserir, Actualizar, Eliminar)


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
Fabio92

obrigado...

hoje ja nao tenho tempo de experimentar era pa sair as 18:00 e ainda aqui estou...

na segunda feira volto e logo digo alguma coisa...

funciona...

obrigado Andrepereira9...

Share this post


Link to post
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

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