TRANSFORMAR ADODOB EM ADO.NET

ALTAIR148 01/04/2011 09:22:46
#370025
No sistema que venho desenvolvendo estou utilizando a conexão ADODB, e seguindo orientações dos amigos aqui era melhor eu utilizar a conexão ADO.NET. Abaixo segue o meu código ADODB e eu gostaria que alguém me desse um exemplo de como esse código ficaria se fosse ADO.NET. Lembrando que estou usando banco MYSQL.

Dim CN As New ADODB.Connection
Dim RS, RS1 As New ADODB.Recordset
Dim da As New OleDb.OleDbDataAdapter
Dim ds As New DataSet

Dim CN As New ADODB.Connection
RS1 = New ADODB.Recordset
RS1.Open([Ô]select * from tb_mcv[Ô], GetConexao, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)

[ô] se incluir um novo registro
RS1.AddNew()
RS1.Fields([Ô]codigo_mcv[Ô]).Value() = codigo_mcv.Text
RS1.Fields([Ô]empresa_compradora[Ô]).Value = empresa_compradora.Text
RS1.Fields([Ô]cpf_portador[Ô]).Value = cpf_portador.Text
RS1.Fields([Ô]municipio[Ô]).Value = [Ô]Arinos - MG[Ô]
RS1.Fields([Ô]taxa_florestal[Ô]).Value = taxa_florestal.Text
RS1.Fields([Ô]numero_nf_produtor[Ô]).Value = numero_nf_produtor.Text
RS1.Fields([Ô]vol_nf_produtor[Ô]).Value = vol_nf_produtor.Text
RS1.Fields([Ô]tipo_volume[Ô]).Value = tipo_volume.Text
RS1.Fields([Ô]valor_nf_produtor[Ô]).Value = valor_nf_produtor.Text
RS1.Fields([Ô]empresa[Ô]).Value = [Ô]Sidersa[Ô]
RS1.Fields([Ô]carbonizadora[Ô]).Value = carbonizadora.Text
RS1.Fields([Ô]preco_carvao[Ô]).Value = preco_carvao.Text
RS1.Fields([Ô]valor_frete[Ô]).Value = valor_frete.Text
RS1.Fields([Ô]observacao[Ô]).Value = observacao.Text

RS1.Fields([Ô]expedidor[Ô]).Value = [Ô]Altair[Ô]
MsgBox([Ô]Dadastro realizado com sucesso[Ô], MsgBoxStyle.MsgBoxRight, vbInformation)
RS1.Update()

Obrigado
KURTGU 01/04/2011 10:07:56
#370030
nao sei se seria isso o que voce quer mais ta ai como faco o insert no meu bd mysql......

coloco a referencia do mysql na minha aplicacao

Coloco isso na primeira linha da minha form
Imports MySql.Data.MySqlClient
Imports System.Data


aqui o codigo para inserir
Conexao = New MySqlConnection([Ô]SERVER=localhost;USERID=root;DATABASE=exemplo;Password=exemplo[Ô])
Conexao.Open()

sqlInsert = [Ô]Insert INTO Clientes(Nome,Idade,Email)Values([ô][Ô] & txtNome.Text & [Ô][ô],[ô][Ô] & txtIdade.Text & [Ô][ô],[ô][Ô] & txtEmail.Text & [Ô][ô])[Ô]
Comando = New MySqlCommand(sqlInsert, Conexao)
Comando.ExecuteNonQuery()

txtEmail.Text = [Ô][Ô]
txtIdade.Text = [Ô][Ô]
txtNome.Text = [Ô][Ô]

Conexao.Close()


Acho que e isso eu uso assim aqui entao ve se compensa colocar assim no seu e outra coisa nao lembro se esta correto, pois estou sem vb aqui testa ai e me diz....ou se tiver faltando algo e o pessoal quiser corrigir....

ALTAIR148 01/04/2011 10:16:39
#370033
Como sou muito leigo ainda fiquei sem saber como ficaria essa parte:

Dim CN As New ADODB.Connection
Dim RS, RS1 As New ADODB.Recordset
Dim da As New OleDb.OleDbDataAdapter
Dim ds As New DataSet

Dim CN As New ADODB.Connection
RS1 = New ADODB.Recordset
RS1.Open([Ô]select * from tb_mcv[Ô], GetConexao, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)

Obrigado
RODRIGOFERRO 01/04/2011 10:23:01
#370034
ok, o KURTGU esta certissimo, eu so corrigiria ele em algo que falo para ele todo dia...

na SQL use parametros... olha como fica melhor para enxergar o codigo...

        
Dim sqlquery As String = [Ô]INSERT INTO login (usuario, senha, email, avatar) VALUES (@USUARIO, @SENHA, @EMAIL, @AVATAR)[Ô]
myCommand.CommandText = sqlquery
myCommand.Parameters.Add(New MySqlParameter([Ô]@USUARIO[Ô], MySqlDbType.String)).Value = txtUsuario.Text
myCommand.Parameters.Add(New MySqlParameter([Ô]@SENHA[Ô], MySqlDbType.String)).Value = txtSenha.Text


Ta lembando que voce tem que instalar o MySQL Connector Net Procura no google que voce acha, depois tem de referenciar ele no seu projeto !.

faça ai e vai postando as duvidas
ALTAIR148 01/04/2011 11:04:56
#370048
Segue abaixo como ficou, mas na linha em negrito ocorre o seguinte problema
Connection must be valid and open.

Dim mycommand As New MySql.Data.MySqlClient.MySqlCommand
Dim sqlquery As String
sqlquery = [Ô]Insert INTO portador(nome)Values(@nome)[Ô]
comando = New MySql.Data.MySqlClient.MySqlCommand(sqlquery, GetConexao)
mycommand.ExecuteNonQuery()
mycommand.CommandText = sqlquery
mycommand.Parameters.Add(New MySql.Data.MySqlClient.MySqlParameter([Ô]@nome[Ô], MySql.Data.MySqlClient.MySqlDbType.String)).Value = carbonizadora.Text


[txt-size=2]Não sei se tem algo haver mas abaixo segue o meu módulo da conexão.[/txt-size]


Imports System.Data.OleDb

Module conector
Dim CN As New MySql.Data.MySqlClient.MySqlConnection
[ô]Instanciando um novo objeto “conecta” do tipo OleDbConnection para ser utilizado no projeto.

[ô]Instanciando um novo objeto “comando” do tipo OleDbCommand para ser usado no projeto.



[ô]Public conecta As New ADODB.Connection
Public comando As New MySql.Data.MySqlClient.MySqlCommand



[ô] Procedimento para conexão com o banco de dados.

Public Sub Conectar()

CN = New MySql.Data.MySqlClient.MySqlConnection [ô]conexao usando ADO
CN = New MySql.Data.MySqlClient.MySqlConnection([Ô]SERVER=127.0.0.1;USERID=altair;DATABASE=aletair;Password=123[Ô])
[ô]CN.Open()
End Sub

[ô] Procedimento para desconectar do banco de dados.

Public Sub Desconectar()
CN.Close()
End Sub

[ô] Procedimento para testar conexão com o banco de dados.

Public Sub testaconexao()
Try
Conectar()
MsgBox([Ô]Conexão realizada com sucesso!!![Ô])
Catch ex As Exception
MsgBox([Ô]Não foi possível conectar o banco de dados[Ô])
Desconectar()
End Try
Desconectar()

End
End Sub
[ô]Solicitar instancia
Public Function GetConexao() As MySql.Data.MySqlClient.MySqlConnection

If CN.State <> ConnectionState.Open Then
Conectar()
End If

Return CN

End Function
End Module


M [txt-color=#e80000] [/txt-color]
KURTGU 01/04/2011 11:36:10
#370056
e mesmo zero e que sempre me esqueco mais ja to usando assim do jeito q voce falou pra nao ficar tantas [ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô] aspas e tal e isso mesmo vlw.....
ALTAIR148 01/04/2011 18:05:36
#370111
Com conexão ADODB fica bom as Stored Procedures?
TECLA 01/04/2011 21:06:24
#370126
Resposta escolhida
Você chegou a fazer o OPEN da conexão?
Tópico encerrado , respostas não são mais permitidas