BINDING NAVIGATOR COM MYSQL

F4B1NH0 19/05/2015 13:01:40
#446767
boa tarde pessoal,

Estou aprendendo VB.net e estou fazendo um banco de dados simples no mysql, com os campos: id, palavra e tradução.
Até o momento eu apenas consegui entender como fazer a conexão e listar os dados.
O banco está funcionando porém que queria usar o binding navigator igual eu faço se usar o banco em access.

alguém pode me ajudar ou me passar algum material que ensine a utilizar binding navigator com o mysql?

Muito obrigado pela atenção!
OMAR2011 19/05/2015 15:04:04
#446773
Acho melhor esquecer isto por enquanto e deixar para depois.
Para mim,deixa o formulário feio e com ar de PREGUIÇA.
Procure por um CRUD vbent que vai achar.Pode ter certeza
que o pessoal sana suas dúvidas a medida que for postando.
F4B1NH0 19/05/2015 18:15:18
#446785
hmm..blz..vou dar uma pesquisada a respeito...
Mas eu posso migrar pra sql server tb né?!?! acho que vai ser mais fácil.. o que você acha?
ACCIOLLY 19/05/2015 18:32:03
#446786
Resposta escolhida
realmente é como nosso companheiro OMAR2011 falou.
Eu mesmo tenho pavor de ver um binding navigator! rsrsrsr. Pois além de passar a impressão que o desenvolvedor tem preguiça, o mesmo não sabe 100% com o que está trabalhando. Todavia se você criar sua própria classe de conexão, o seu trabalho sairá melhor. Como diria a expressão, se quer um serviço bem feito faça você mesmo! rsrsrs.

Vou te dar 3 dicas.

1 - Se vc instalou o mysql installer não precisa mas caso instalou outra ferramenta como o wamp server baixe e instale o connector/net disponível no próprio site do mysql. Segue o link: http://dev.mysql.com/downloads/connector/net/

2 - Depois no seu projeto do vb.net vc vai adicionar o mysql nas suas referencias

3 - Depois vc cria uma classe de conexao, e se preferir métodos nessa classe para fazer pesquisa e CRUD.

Qualquer dúvida estamos aí!
F4B1NH0 20/05/2015 10:54:55
#446804
Valeu pelas dicas...mais uma ajuda por favor:

Tem algum link que eu possa dar uma estudada sobre criar as classes para eu poder manipular os dados ?
Não precisa ser em mysql não.. pode ser com sql server que axo que vai ser mais fácil.

Na verdade, eu só sei [Ô]brincar[Ô] somente com o sql...coisas básicas e tal...mas quero aprender o vb.net pra fazer realmente algumas ferramentas desktop aqui no trabalho pra dar uma [Ô]enfeitada[Ô] e ajudar o pessoal daqui pois quase ninguém mexe com banco.

Então resumindo: Se eu sei a sintaxe em SQL, quando eu for montar o programa em VB, preciso saber o que exatamente? Além de saber como fazer a conexão com o banco...

Obrigado pela atenção!
ACCIOLLY 20/05/2015 11:49:42
#446808
blz vamos começar do começo

1º o que vc está prestes a estudar é, além do vb.net, a linguagem SQL. Caso já tenha um entendimento dela, pule esse passo.

2º será necessário baixar e instalar o complemento MySql Connector/net do site do mysql: dev.mysql.com/downloads/connector/net/

3º No Solution Explorer, clique com o botão direito em cima do nome do seu projeto e clique em add Reference...

4º Em Extension selecione MySql.Data e clique em OK

5º Clique com o botão direito novamente no nome do seu projeto e selecione Add >> Class e de a esta classe o nome de Conexao.vb

6º Abaixo vai para vc a classe de conexão com dois métodos um de pesquisa para fazer os selects e outro de crud para inserir, atualizar e deletar. é só copiar e colar e dar uma boa estudada nela:

Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports System.Data
Imports MySql.Data.MySqlClient

Public Class Conexao
[ô]Variavel que guarda o caminho com o banco de dados
Private caminhoBanco As String = [Ô]SERVER=127.0.0.1;DATABASE=nome_do_seu_banco;UID=root;PWD=senha;[Ô] [ô]Caso a senha seja em branco deixe apenas PWD=

[ô]esta função será apenas para pesquisa pois ela retorna um datatable que pode ser usado como data source
Public Function Pesquisar(ByVal SQL As String)

Dim Tabela As New DataTable

Try
Tabela.Rows.Clear()

Dim conn As New MySqlConnection(caminhoBanco)
conn.Open()

Dim comando As New MySqlCommand(SQL, conn)
Dim adapter As New MySqlDataAdapter(comando)

adapter.Fill(Tabela)

conn.Close()

Catch ex As Exception
MessageBox.Show([Ô]Erro de Comando: [Ô] & ex.Message)
End Try

Return Tabela

End Function

[ô]este método serve apenas para INSERT, UPDATE ou delete. Por isso que o chamei de CRUD
Public Sub CRUD(ByVal SQL As String)
Try
Dim conn As New MySqlConnection(caminhoBanco)
conn.Open()

Dim comando As New MySqlCommand(SQL, conn)

comando.ExecuteNonQuery()
conn.Close()

Catch ex As Exception
MessageBox.Show([Ô]Erro de Comando: [Ô] + ex.Message)
End Try
End Sub

End Class


7º Depois de criada a classe, vc vai instancia-la toda vez que for pesquisar, inserir, atualizar e deletar. Por exemplo:
Vc está lá no formulário de cadastro de cliente. Este cadastro de cliente tem apenas um textbox para o nome do cliente e um maskedbox para a data de nascimento dele, e por fim tem o botão gravar no qual vc coloca a seguinte codificação:

Private Sub BtnGravar_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim conectar As New Conexao [ô]esta é a instancia da sua classe de conexao

conectar.CRUD([Ô]INSERT INTO clientes(nome,dn) VALUES([ô][Ô] & TextBox1.Text & [Ô][ô],[ô][Ô] & MaskedTextBox1.Text & [Ô][ô])[Ô]) [ô]aqui a instancia da classe de conexao irá chamar o método crud já passando como parametro o comando sql para ser inserido na tabela do seu banco

End Sub


do mesmo modo vc usaria este método (o CRUD) para DELETE e UPDATE. Para o SELECT ao invés de usar conectar.CRUD([Ô]INSERT INTO...) vc usa conectar.Pesquisar([Ô]SELECT * FROM...) Blz!

E esta classe de conexao ainda pode ser adaptada para se trabalhar com o access e o sql server. Ainda não testei com o firebird. Se um dia precisar mudar de banco é só criar um banco identico e alterar alguns parametros dessa classe e está pronto! não precisa mudar mais nada no resto da sua codificação.

mas é como eu falei no começo, caso ainda não entenda de SQL podes achar várias apostilas na internet, vídeos no youtube, etc...

Qualquer dúvida estamos aí
F4B1NH0 20/05/2015 12:47:33
#446811
Cara..não sei nem como te agradecer!!

Obrigado mesmo!! vou estudar o que vc passou, mas só de ler de relance, me tirou uma baita dúvida!!

Obrigado!!
ACCIOLLY 21/05/2015 14:22:06
#446854
Blz se era isso mesmo podes encerrar este tópico

té mais
Tópico encerrado , respostas não são mais permitidas