ERRO 91

FERRAZ 23/08/2015 09:26:12
#450368
Nickosof, tudo bem.

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.
NICKOSOFT 23/08/2015 18:01:20
#450373
Acredito q o problema seja em relacao ao framework usado, mas o driver instalado vc adiciona a referencia e pode ser usado no projeto, tem varios artigos no site do macoratti ja bem antigos ate sobre utilizacao do mysql

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
FERRAZ 24/08/2015 15:10:44
#450429
Nickosof, tudo bem.

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.
FERRAZ 24/08/2015 15:30:39
#450430
Nickosof, tudo bem.

Eu verifiquei sua instrução e resolvi passar a imagem do meu projeto. Eu acho que não é o que esperávamos ?
FERRAZ 24/08/2015 16:01:52
#450434
Nickosof, viu meu código abaixo onde tento gravar um novo registro no banco mysql sem sucesso e no access tb sem sucesso.

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.
OMAR2011 24/08/2015 16:33:43
#450437
Igual eu comentei.
[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.
FERRAZ 24/08/2015 18:19:07
#450439
Omar2021, na verdade estou migrando vb6 Para .net como falei antes.
Agora vou conseguir montar meu projeto em
Citação:

vs 2005

so mais um pouco.

Grato.
NICKOSOFT 25/08/2015 18:15:01
#450486
nessa function q grava após devidamente feitas as importações........

  
[ô]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

MESTRE 26/08/2015 13:53:43
#450519
Resposta escolhida
Minha dica pessoal é migre para o Visual Studio 2013 e saia do VS 2005..
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

FERRAZ 26/08/2015 14:34:26
#450521
Nickosoft, obrigado usarei sua instrução e depois eu comento o resoltado.

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.

Página 2 de 5 [41 registro(s)]
Tópico encerrado , respostas não são mais permitidas