ERRO 91
Estou tentando desenvolver um software no windows 7 com o visual studio 2005 e banco MySQL 5.1 e conector 3.51.
Problemas: Meu codigo é todo em vb6 e no windows XP tento converter para o .net 2005 e dá pau ocx lvbottun e no msflexgrid ai eu tento via codigo novo todo em 2005 ai nao consigo instalar o drive 3.51 ou superior porque o MySQL só funciona a partir da versao do visual studio 2010.
Vou tentar desenvolver usando o access se o amigo tiver uma dica de como resolver ease problema ?
Grato.
Se ja esta c o driver instalado veja se clicando c o botao direito no projeto, indo em propriedades, na guia reference de uma olhada se encontra a referencia ao mysql
Access tem uma serie de particularidades tmb, dificil migrar reproduzindo um codigo, muita coisa vai aparecer errada
Ok, vou tentar verificar.
O drive eu instalo agora no painel de controle ele fica sem o registro do fabricante he como se ele não estivesse lá, estou seguindo suas dicas obrigado, depois informo.
Eu verifiquei sua instrução e resolvi passar a imagem do meu projeto. Eu acho que não é o que esperávamos ?
Citação:Imports System.Data.OleDb
Imports System.Data.sqlclient
Public Class FrmCadFerrtas
Private Cnn As SqlCommand
Private rs As Integer
Private ds As DataSet
Private dt As DataTable
Public Function NewFerrtas(ByVal strRegistro As String, _
ByVal strData As String, ByVal strCod As String, _
ByVal strNome As String, ByVal strPatrimonio As String, _
ByVal strStq As String, ByVal strUltDta As String, ByVal strObs As String) As Object
Cnn.EndExecuteNonQuery([Ô]Insert Into TbFerrtas(Registro,Dta,Cod,Nome,Empresa,Estq,UltDta,Obs)[Ô] _
& [Ô]values([ô][Ô] & strRegistro & [Ô][ô],[ô][Ô] & _
strData & [Ô][ô],[ô][Ô] & strCod & [Ô][ô],[ô][Ô] & _
strNome & [Ô][ô],[ô][Ô] & strPatrimonio & [Ô][ô],[ô][Ô] & _
strStq & [Ô][ô],[ô][Ô] & strUltDta & [Ô][ô],[ô][Ô] & _
strObs & [Ô][ô])[Ô])
NewFerrtas = True
End Function
Private Sub FrmCadFerrtas_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
TxtDta.Text = (Date.Today)
[ô]==============================================================
End Sub
Private Sub BtGrava_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtGrava.Click
If TxtNome.Text = [Ô][Ô] Then
MsgBox([Ô]ImpossÃvel continua, existe campos inválidos ![Ô], vbExclamation)
TxtNome.Focus()
Else
Dim NovaFerrtas As Object
On Error GoTo Erro
NovaFerrtas = NewFerrtas(TxtReg.Text, TxtDta.Text, TxtCod.Text,TxtNome.Text, TxtPatr.Text, TxtEstq.Text, TxtUltDta.Text, TxtObs.Text)
If NovaFerrtas = True Then
Erro:
MsgBox([Ô]Novo Ferramenta Incluida Com Sucesso. ![Ô], vbInformation)
Me.Close()
Else
MsgBox([Ô]Erro na incluisão.[Ô], vbCritical)
End If
End If
End Sub
End Class
Agora eu estou misturando tudo com toda certeza na minha tentativa de manipulação no banco em .net não é verdade.
[txt-color=#e80000]Imports System.Data.sqlclient
Private Cnn As SqlCommand[/txt-color]
Isto é SqlServer e não Mysql.
O código tem que ser em VBnet.
Agora vou conseguir montar meu projeto em
Citação:so mais um pouco.vs 2005
Grato.
[ô]dim sql as string = [Ô]insert into tabela campos.........[Ô]
Using connection As MySqlConnection = AbreConexao()
Using command As New MySqlCommand(sql, connection)
Return command.ExecuteNonQuery()
End Using
End Using
Private Function AbreConexao() As MySqlConnection
If Conexao.State = ConnectionState.Open Then
Conexao.Close()
End If
Conexao.ConnectionString = [Ô]Server=[Ô] & My.Settings.SERVER & [Ô];User id=[Ô] & My.Settings.USER & [Ô];Password=[Ô] & plainText & [Ô];database=[Ô] & My.Settings.DATABASE
Conexao.Open()
Return Conexao
End Function
Crie uma classe conn
Imports Microsoft.VisualBasic
Imports MySql.Data.MySqlClient
Imports System
Imports MySql.Data
Imports MySql.Data.MySqlClient.MySqlDataReader
Imports MySql.Data.MySqlClient.MySqlConnection
Imports MySql.Data.MySqlClient.MySqlCommand
Public Class conn
Public Conexao As String
Public strCon As String
Dim host As String
Dim user As String
Dim pass As String
Dim banco As String
Dim sql As String
Public Sub New()
host = [Ô]host do seu banco[Ô]
user = [Ô]user do banco[Ô]
pass = [Ô]senha do banco[Ô]
banco = [Ô]seu banco[Ô]
strCon = [Ô]server=[Ô] & host & [Ô]; user id=[Ô] & user & [Ô]; password=[Ô] & pass & [Ô]; database=[Ô] & banco & [Ô];Convert Zero Datetime=True;Allow User Variables=True[Ô]
End Sub
Public Function Conectar() As Boolean
Dim Conexao As New MySqlConnection(strCon)
Try
Conexao.Open()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return Conexao.State
End Function
Public Sub ExecutaQuery(ByVal sql As String)
Dim Conexao As New MySqlConnection(strCon)
Dim objcmd As New MySql.Data.MySqlClient.MySqlCommand(sql, Conexao)
Try
Conexao.Open()
objcmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show([Ô]Ocorreu um erro: [Ô] & ex.ToString)
Finally
Conexao.Close()
End Try
End Sub
No seu Form agora:
Imports MySql.Data.MySqlClient
Imports System
Imports MySql.Data
Imports MySql.Data.MySqlClient.MySqlDataReader
Imports MySql.Data.MySqlClient.MySqlConnection
Na Public Class do seu Form:
Dim Banco, obj As New conn
Dim Conexao As New conn
Dim objConexao As New MySqlConnection(Conexao.strCon)
Dim cmd As New MySqlCommand
Dim sql As String
No seu botão Gravar:
sql = [Ô]INSERT INTO TABELA(table1,table2,table3)[Ô] &
[Ô] VALUES(@campo1,[Ô] &
[Ô]@campo2,[Ô] &
[Ô]@campo3) [Ô]
Dim objCmd As New MySqlCommand(sql, objConexao)
objCmd.Parameters.AddWithValue([Ô]@campo1[Ô], txtCodigo.Text)
objCmd.Parameters.AddWithValue([Ô]@campo2[Ô], txtInstrumento.Text)
objCmd.Parameters.AddWithValue([Ô]@campo3[Ô], cboProduto.Text)
Try
objConexao.Open()
objCmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.ToString)
Finally
objConexao.Close()
End Try
Mestre, tudo bem. Eu estava mesmo pensando em migrar para uma versão mais recente do Vs.net falaremos no futuro proximo, mais obrigado por sua susgestão.
Grato, a todos vou testar.