Jump to content

Recommended Posts

Posted

boas!

tenho mais um problema. tou a fazer um projeto de final de curso e queria fazer uma coisa mas nao tou a conseguri safar-me. o que queria fazer é o seguinte:

tenho uma datagridview e uma caixa de pesquisa e eu queria que ao pesquisar por um só nome, me aparecessem todos os resultados que tenham esse nome. por exemplo, pesquisavba por Manuel e queria que me aparecessem todos os nomes que tenham Manuel.

será que me podem ajudar??

Posted

o que quero é: escrevo o nome na textbox, de seguida clico no botao para pesquisar e depois de clicar no botao queria que me aparecessem os vários resultados com o nome com que a pesquisa foi feita

Posted

o código que tenho é pa pesquisar um so valor

Dim query As String = "SELECT * FROM Clientes WHERE Nome = @Nome"

Dim command As New OleDbCommand(query, ConnectionString)

command.Parameters.Add("@Nome", OleDbType.Char).Value = pesquisanome.Text

Dim DataAdapter As New OleDbDataAdapter(command)

Dim MyData As New DataSet

DataAdapter.Fill(MyData, "Clientes")

ConnectionString.Open()

Dim dr As OleDbDataReader = command.ExecuteReader(CommandBehavior.SingleRow)

If pesquisanome.Text = "" Then

MsgBox("Nenhum nome foi inserido!", vbExclamation, "Erro!")

GoTo Loop_Strat

End If

If dr.HasRows Then

dr.Read()

idtb.Text = dr.Item(0).ToString

nometb.Text = dr.Item(1).ToString

moradatb.Text = dr.Item(2).ToString

cptb.Text = dr.Item(3).ToString

localidadetb.Text = dr.Item(4).ToString

telefonetb.Text = dr.Item(5).ToString

telemoveltb.Text = dr.Item(6).ToString

contribuintetb.Text = dr.Item(7).ToString

Me.tabela.DataSource = MyData.Tables("Clientes")

Else

Dim testMsg As Integer

testMsg = MsgBox("Registo não encontrado!", vbExclamation, "Erro!")

End If

ConnectionString.Close()

command = Nothing

Loop_Strat:

  • 2 weeks later...
Posted

quando faço a pesquisa, ja com o codigo colocado, o VB dá-me um erro a dizer que a OleDbException não foi manipulada. alguem sabe o que fazer? nao tenho conseguido encontrar nada em outros foruns na net

Posted
Private Sub pesquisa_Click(sender As Object, e As EventArgs) Handles pesquisa.Click
Dim ConnectionString As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\Ricardo\Desktop\Agrigest\Agrigest.accdb")
Dim query As String = "SELECT * FROM Clientes WHERE Nome = LIKE '%" & pesquisanome.text & "%'"
Dim command As New OleDbCommand(query, ConnectionString)
command.Parameters.Add("@Nome", OleDbType.Char).Value = pesquisanome.Text
Dim DataAdapter As New OleDbDataAdapter(command)
Dim MyData As New DataSet
DataAdapter.Fill(MyData, "Clientes")

ConnectionString.Open()
Dim dr As OleDbDataReader = command.ExecuteReader(CommandBehavior.SingleRow)
If pesquisanome.Text = "" Then
 MsgBox("Nenhum nome foi inserido!", vbExclamation, "Erro!")
 GoTo Loop_Strat
End If
ConnectionString.Close()
command = Nothing
Loop_Strat:
  • 3 weeks later...
Posted

Private Sub pesquisa_Click(sender As Object, e As EventArgs) Handles pesquisa.Click
Dim ConnectionString As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\Ricardo\Desktop\Agrigest\Agrigest.accdb")
Dim query As String = "SELECT * FROM Clientes WHERE Nome = LIKE '%" & pesquisanome.text & "%'"
Dim command As New OleDbCommand(query, ConnectionString)
command.Parameters.Add("@Nome", OleDbType.Char).Value = pesquisanome.Text
Dim DataAdapter As New OleDbDataAdapter(command)
Dim MyData As New DataSet
DataAdapter.Fill(MyData, "Clientes")

ConnectionString.Open()
Dim dr As OleDbDataReader = command.ExecuteReader(CommandBehavior.SingleRow)
If pesquisanome.Text = "" Then
 MsgBox("Nenhum nome foi inserido!", vbExclamation, "Erro!")
 GoTo Loop_Strat
End If
ConnectionString.Close()
command = Nothing
Loop_Strat:

Acho que não é preciso tanta coisa, a uma linha de código que te filtra directo no datagridview. Se quiseres tenho para aqui algures.

Tiago Simões Marques

Posted

A tua query está mal..estás-lhe a dizer (Nome = Like) e deve ser (Nome LIKE), entre outras coisas:

Dim ConnectionString As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\Ricardo\Desktop\Agrigest\Agrigest.accdb")
Dim query As String = "SELECT * FROM Clientes WHERE Nome LIKE '%@nome%'"
Dim command As New OleDbCommand(query, ConnectionString)
command.Parameters.Add("@nome", OleDbType.Char).Value = pesquisanome.Text
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
  While reader.Read
 MsgBox(reader(0).ToString())
  End While
connection.Close()
  • 1 month later...
Posted

Boas pessoal!

já tentei todas as soluções que foram propostas neste tópico mas infelizmente nenhuma delas funcionou. Já nao sei mais o que fazer!

Preciso URGENTEMENTE de ajuda!!!

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.