GARREGAR_DATAGRIDVIEW
boa tarde Ferraz,
Acedito que foi pra vc que passei uma classe de conexão com o mysql já com metodos de crud e pesquisas prontos. Se te passei mesmo, acredito não haver necessidade de vc digitar todas as vezes a mesma connection string, apenas instancie a classe e popule a grid view com o método de pesquisa:
só essas duas linhas seriam o suficiente ao invés desses comandos todos.
Caso não foi pra vc que te passei a classe, responde aà que te envio. Ou zipa seu projeto e anexa ele aà pra eu fazer pra vc ver.
Té mais
Acedito que foi pra vc que passei uma classe de conexão com o mysql já com metodos de crud e pesquisas prontos. Se te passei mesmo, acredito não haver necessidade de vc digitar todas as vezes a mesma connection string, apenas instancie a classe e popule a grid view com o método de pesquisa:
Dim conn As New Conexao() [ô]Essa é a instancia da classe
DataGridView1.DataSource = conn.Pesquisar([Ô]SELECT * FROM TbFerrtas Where Nome Like [ô][Ô] & TxtNome.Text & [Ô]%[ô] Order By Registro[Ô])
só essas duas linhas seriam o suficiente ao invés desses comandos todos.
Caso não foi pra vc que te passei a classe, responde aà que te envio. Ou zipa seu projeto e anexa ele aà pra eu fazer pra vc ver.
Té mais
Acciolly, Nickosoft, boa tarde.
Eu fiz as adaptações usando o codigo no evento Changed do txtnome.txt abaixo e deu um erro vejam;
projeto zipado obrigado;
Eu fiz as adaptações usando o codigo no evento Changed do txtnome.txt abaixo e deu um erro vejam;
Private Sub TxtNome_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtNome.TextChanged
Dim criterio As String = TxtNome.Text [ô]pega o texto pra procurar
Dim qtLinhas As Integer = DtaGdView.Rows.Count [ô]pega a quantidade de linhas
For linha As Integer = 0 To qtLinhas - 1
If DtaGdView.Rows(linha).Cells(2).Value.ToString = criterio Then
DtaGdView.Rows(linha).Selected = True
Exit For
End If
Next
End Sub
projeto zipado obrigado;
boa tarde ferraz
Finalmente Percebi o que vc está querendo fazer, vc quer fazer uma pesquisa dinamica no banco. tipo quando vc digita um caracter o programa vai filtrando no banco.
fiz as adaptações mas não posso te reenviar o arquivo pois ele é do VS2008 e o meu é 2012. Depois q agente abre num mais atualizado não consegue mais abrir num anterior. em todo caso te reenvio a sua classe de conexão com as devidas correções
Classe Conn.vb
e aqui a codificação do FrmBd
Viu como a codificação ficou beeeeeemmmmm mais enxuta! rsrrsrsrs
OBS: quando for fazer INSERT, UPDATE ou DELETE utilize apenas o método CRUD ao invés do Pesquisar EX:
daà num botão gravar vc chama esse método
e assim vai
Por agora quando vc abrir o form vai aparecer todos os registros do banco, e quando começar a digitar ele vai filtrando automaticamente. é isso mesmo??????????
Té mais
Finalmente Percebi o que vc está querendo fazer, vc quer fazer uma pesquisa dinamica no banco. tipo quando vc digita um caracter o programa vai filtrando no banco.
fiz as adaptações mas não posso te reenviar o arquivo pois ele é do VS2008 e o meu é 2012. Depois q agente abre num mais atualizado não consegue mais abrir num anterior. em todo caso te reenvio a sua classe de conexão com as devidas correções
Classe Conn.vb
[ô]aqui eu uso as importações para conexao com o banco de dados e suas referencias como muda essa versao do vb
Imports System
Imports System.Data
Imports MySql.Data.MySqlClient
Imports System.Windows.Forms
Public Class Conn
Private caminhoBanco As String = [Ô]SERVER=localhost;DATABASE=Transpetro;UID=root;PASSWORD=1;[Ô]
Public Function Pesquisar(ByVal SQL As String) As DataTable
Dim dados As New DataTable
Try
dados.Rows.Clear()
Dim conectar As New MySqlConnection(caminhoBanco)
conectar.Open()
Dim comando As New MySqlCommand(SQL, conectar)
Dim adapter As New MySqlAdapter(comando)
adapter.Fill(dados)
Catch ex As Exception
MessageBox.Show([Ô]Erro de Comando SQL: [Ô] & ex.Message)
End Try
Return dados
End Function
Public Sub CRUD(ByVal SQL As String)
Try
Dim conectar As New MySqlConnection(caminhoBnco)
conectar.Open()
Dim comando As New MySqlCommand(SQL, conectar)
comando.ExecuteNonQuery()
conectar.Close()
Catch ex As Exception
MessageBox.Show([Ô]Erro de Comando SQL: [Ô] & ex.Message)
End Try
End Sub
End Class
e aqui a codificação do FrmBd
Imports System
Public Class FrmBd
Private Sub FrmBd_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PreencheGrid([Ô]SELECT * FROM TbFerrtas ORDER BY Registro[Ô])
End Sub
Private Sub PreencheGrid(ByVal SQL As String)
Dim conectar As New Conn() [ô]instancia da classe Conn.vb
DtaGdView.DataSource = conectar.Pesquisar(SQL) [ô]Essa SQL é o parametro que voce passa quando chama o método PreencheGrid
End Sub
Private Sub TxtNome_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtNome.TextChanged
PreencheGrid([Ô]SELECT * FROM TbFerrtas Where Nome Like [ô][Ô] & TxtNome.Text & [Ô]%[ô] Order By Registro[Ô])
End Sub
Private Sub BtBca_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtBca.Click
End Sub
End Class
Viu como a codificação ficou beeeeeemmmmm mais enxuta! rsrrsrsrs
OBS: quando for fazer INSERT, UPDATE ou DELETE utilize apenas o método CRUD ao invés do Pesquisar EX:
Private Sub GravaRegistro(ByVal SQL As String)
Dim conectar As New Conn() [ô]instancia da classe Conn.vb
conectar.CRUD(SQL)
End Sub
daà num botão gravar vc chama esse método
GravaRegistro([Ô]INSERT INTO .....[Ô])
e assim vai
Por agora quando vc abrir o form vai aparecer todos os registros do banco, e quando começar a digitar ele vai filtrando automaticamente. é isso mesmo??????????
Té mais
putz se a ideia era essa passou longe do q pensei e entendi.....
pra mim eram coisas totalmente separadas, o preenchimento do grid em um momento, e no segundo marcar apenas a linha q tivesse dentro dos critérios....sem filtrar as linhas e já exibir as q atendem ao critério....
so acho q no text chance precisa antes de carrega-lo desvincular dos dados, tipo dar um clean no grid a cada mudança do text então...
pra mim eram coisas totalmente separadas, o preenchimento do grid em um momento, e no segundo marcar apenas a linha q tivesse dentro dos critérios....sem filtrar as linhas e já exibir as q atendem ao critério....
so acho q no text chance precisa antes de carrega-lo desvincular dos dados, tipo dar um clean no grid a cada mudança do text então...
kkkkkkk
Pior que pra mim foi a mesma coisa! rsrsrs
só caiu a ficha depois q vi o projeto q ele zipou. Já pensou ele fazer aquele loop no evento change do textbox? Eu particularmente não aconselharia fazer nenhum tipo de busca no evento change até porque cada vez que ele digitar ou apagar um caracter será realizada uma nova conexão e buscar os dados. Pra ele q tá começando é até legal mas imagina isso numa rede monstruosa!
Quanto ao clear do grid não tem necessidade pq o método Pesquisar da classe de conexão já cuida disso!
té mais
Pior que pra mim foi a mesma coisa! rsrsrs
só caiu a ficha depois q vi o projeto q ele zipou. Já pensou ele fazer aquele loop no evento change do textbox? Eu particularmente não aconselharia fazer nenhum tipo de busca no evento change até porque cada vez que ele digitar ou apagar um caracter será realizada uma nova conexão e buscar os dados. Pra ele q tá começando é até legal mas imagina isso numa rede monstruosa!
Quanto ao clear do grid não tem necessidade pq o método Pesquisar da classe de conexão já cuida disso!
té mais
Acciolly, bom dis.
Vou fazer as modificaçoes e depois eu posto o resultado e poxa muito obrigado, seria isso mesmo com isso eu pego o registro que quero consultar ou alterar, claro que tenho que montar o botao que vai preencher o form, mais antes tinha que preencher o grid e fazer uma busca no Banco.
Nickosoft, bom dia.
Obrigado vou aprendendo o .net
Grato,
Vou fazer as modificaçoes e depois eu posto o resultado e poxa muito obrigado, seria isso mesmo com isso eu pego o registro que quero consultar ou alterar, claro que tenho que montar o botao que vai preencher o form, mais antes tinha que preencher o grid e fazer uma busca no Banco.
Nickosoft, bom dia.
Obrigado vou aprendendo o .net
Grato,
aprende sim, não esquenta, basta ter empenho e vontade.....
pessoal aqui tudo ajuda, varias vezes já fiz acesso remoto de são Paulo la no ceara eu acho, esqueci, um colega aqui do fórum q ta começando.....
agora eu já passo as informações não tao mastigadas q é pra ele refinar o trabalho, e praticar o entendimento da coisa.....to batalhando pra ele começar a usar mais a logica, pensar os passos de cada procedimento.....
pessoal aqui tudo ajuda, varias vezes já fiz acesso remoto de são Paulo la no ceara eu acho, esqueci, um colega aqui do fórum q ta começando.....
agora eu já passo as informações não tao mastigadas q é pra ele refinar o trabalho, e praticar o entendimento da coisa.....to batalhando pra ele começar a usar mais a logica, pensar os passos de cada procedimento.....
Acciolly, tudo bem.
Viu esta funcionando perfeitamente, apenas inserir mais um = MySql.Data.MySqlClient.MySqlConnection porque estava dando um erro de referencia. Codigo enxuto e perfeito obrigado amigo.
Nickosoft, tudo bem.
Obrigado pelo apoio.
Grato,
Viu esta funcionando perfeitamente, apenas inserir mais um = MySql.Data.MySqlClient.MySqlConnection porque estava dando um erro de referencia. Codigo enxuto e perfeito obrigado amigo.
Nickosoft, tudo bem.
Obrigado pelo apoio.
Grato,
Tópico encerrado , respostas não são mais permitidas