Blackvelvet Posted March 7, 2012 Report Share Posted March 7, 2012 Boas a todos. Mais uma vez venho pedir o vosso auxilio,pois estou perdido. ? É o seguinte: Eu tenho uma tabela em que me aparece os campos todos, para poder pesquisar na tabela e fazer algum update. Para isso tenho uma textbox e uma combobox para filtragem e queria que isso fosse no evento do botão. Ja fiz varias pesquisas,mas não encontro o que desejo. Tenho este codigo para a textbox: Private Sub txtProcurar_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtProcurar.TextChanged Procurar_Dados(Me.txtProcurar.Text) End Sub e depois tenho este: Sub Procurar_Dados(ByVal Dados_Chave As String) Dim DR As DataRow Dim DT As DataTable If Me.cbxFiltagem.Text = Nothing Then Me.cbxFiltagem.Text = cbxFiltagem.Text End If Dim SQL As String = "SELECT * FROM gestao WHERE " & Me.cbxFiltagem.Text & " LIKE '" & Dados_Chave.ToString & "%' ORDER BY id asc " Isto foi feito pelo que aprendi no curso(pouco,mas aprendi) agora,não sei como fazer o resto e aplicar ao evento do botao. Agradeço a vossa ajuda. EDIT: GeSHi adicionado Link to comment Share on other sites More sharing options...
Blackvelvet Posted March 7, 2012 Author Report Share Posted March 7, 2012 Boas novamente: Ja encontrei +/- o que prendo,no entanto, na tabela não me aparece, a busca que faço,ou seja, fica com os campos todos em branco. Este é o codigo que usei: Private Sub btnOK_Click(sender As System.Object, e As System.EventArgs) Handles btnOK.Click Dim objConnection As New SqlConnection _ ("Data Source=.\SQLEXPRESS;Initial Catalog=GestInformatica;Integrated Security=SSPI;") Dim query As String = "SELECT * FROM gestao" Dim da As New SqlDataAdapter _ (query, objConnection) Dim ds As New DataSet da.Fill(ds, "gestao") Lista.DataSource = ds.Tables(0) If Lista.Rows.Count = 0 Then MessageBox.Show("A pesquisa não devolveu qualquer resultado.", "Sem resultados", MessageBoxButtons.OK, MessageBoxIcon.Information) End If Select Case cbxFiltagem.SelectedIndex Case 0 'utilizador select_info("SELECT * FROM gestao WHERE utilizador = '%" & txtProcurar.Text & "%'") Case 1 ' empresa select_info("SELECT * FROM gestao WHERE empresa = '%" & txtProcurar.Text & "%'") Case 2 'departamento select_info("SELECT * FROM gestao WHERE departamento = '%" & txtProcurar.Text & "%'") End Select End Sub Podem-me dizer onde é que está o erro? EDIT: GeSHi adicionado Link to comment Share on other sites More sharing options...
Caça Posted March 7, 2012 Report Share Posted March 7, 2012 O que é que faz o "select_info"? A tua estrutura Select Case deve passar para cima. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Blackvelvet Posted March 7, 2012 Author Report Share Posted March 7, 2012 Continua sem dar....passei os case select para cima e é tudo igual. Não aparece nada na tabela... Link to comment Share on other sites More sharing options...
Caça Posted March 7, 2012 Report Share Posted March 7, 2012 Assim Private Sub btnOK_Click(sender As System.Object, e As System.EventArgs) Handles btnOK.Click Dim objConnection As New SqlConnection _ ("Data Source=.\SQLEXPRESS;Initial Catalog=GestInformatica;Integrated Security=SSPI;") Dim query As String Select Case cbxFiltagem.SelectedIndex Case 0 'utilizador query = "SELECT * FROM gestao WHERE utilizador = '%" & txtProcurar.Text & "%'" Case 1 ' empresa query = "SELECT * FROM gestao WHERE empresa = '%" & txtProcurar.Text & "%'" Case 2 'departamento query = "SELECT * FROM gestao WHERE departamento = '%" & txtProcurar.Text & "%'" End Select Dim da As New SqlDataAdapter _ (query, objConnection) Dim ds As New DataSet da.Fill(ds, "gestao") Lista.DataSource = ds.Tables(0) If Lista.Rows.Count = 0 Then MessageBox.Show("A pesquisa não devolveu qualquer resultado.", "Sem resultados", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End Sub Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Blackvelvet Posted March 7, 2012 Author Report Share Posted March 7, 2012 Caça: Obrigado pela ajuda. Ja funcionou, no entanto tive que fazer uma pequena alteração. Deixo aqui o codigo. Dim objConnection As New SqlConnection _ ("Data Source=.\SQLEXPRESS;Initial Catalog=GestInformatica;Integrated Security=SSPI;") Dim query As String Select Case cbxFiltagem.SelectedIndex Case 1 'utilizador query = "SELECT * FROM gestao WHERE utilizador LIKE '%" & txtProcurar.Text & "%'" Case 2 ' empresa query = "SELECT * FROM gestao WHERE empresa LIKE '%" & txtProcurar.Text & "%'" Case 3 'departamento query = "SELECT * FROM gestao WHERE departamento LIKE'%" & txtProcurar.Text & "%'" End Select Dim da As New SqlDataAdapter _ (query, objConnection) Dim ds As New DataSet da.Fill(ds, "gestao") Lista.DataSource = ds.Tables(0) If Lista.Rows.Count = 0 Then MessageBox.Show("A pesquisa não devolveu qualquer resultado.", "Sem resultados", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End Sub Alteração nº1- Como na combobox tenho um espaço em branco, o case não pode começar em 0 mas sim em 1 Alteração nº 2- na query tive que retirar o = e substituir por LIKE Mais uma vez, um muito obrigado 😉 B) B) B) 👍 :thumbsup: EDIT: GeSHi adicionado Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now