PROBLEMA COM PARAMETRO
Gente estou com um problema.. tenho uma classe chamada [Ô]conn[Ô] que realiza a conexão com banco de dados Mysql, até ai tudo certo.. só que em caso
de serviço externo nosso funcionário tem que ter acesso ao sistema.. então tenho a seguinte estrutura dentro da minha Public class conn
No meu Botão de Login tenho:
Só que o problema está ele até passa o valor no Get parece estar tudo certo, só que depois na hora de conectar com o banco ele zera e fica Null.. alguem poderia me ajudar?
de serviço externo nosso funcionário tem que ter acesso ao sistema.. então tenho a seguinte estrutura dentro da minha Public class conn
Public Sub New()
host = SelecionaBanco
user = [Ô]meu_user[Ô]
pass = [Ô]minha_senha[Ô]
banco = [Ô]meubanco[Ô]
strCon = [Ô]server=[Ô] & host & [Ô]; user id=[Ô] & user & [Ô]; password=[Ô] & pass & [Ô]; database=[Ô] & banco & [Ô];[Ô]
End Sub
Public Property SelecionaBanco_() As String
Get
Return SelecionaBanco
End Get
Set(ByVal value As String)
SelecionaBanco = value
End Set
End Property
No meu Botão de Login tenho:
If chkLocal.Checked = True Then
Banco.SelecionaBanco_ = [Ô]IP LOCAL[Ô]
Else
Banco.SelecionaBanco_ = [Ô] HTTP SERVER [Ô]
End If
Só que o problema está ele até passa o valor no Get parece estar tudo certo, só que depois na hora de conectar com o banco ele zera e fica Null.. alguem poderia me ajudar?
alguém??
Falta a parte do código onde você está contruindo a classe... Como você está conectando ao instanciar a classe é necessário passar o banco como parâmetro.
Veja se compreende esse código abaixo:
Na sua classe conn...
No seu botão de login:
Veja se compreende esse código abaixo:
Na sua classe conn...
Public Sub New(ByVal pBancoLocal As Boolean)
host = SelecionaBanco(pBancoLocal)
user = [Ô]meu_user[Ô]
pass = [Ô]minha_senha[Ô]
banco = [Ô]meubanco[Ô]
strCon = [Ô]server=[Ô] & host & [Ô]; user id=[Ô] & user & [Ô]; password=[Ô] & pass & [Ô]; database=[Ô] & banco & [Ô];[Ô]
End Sub
Public ReadOnly Property SelecionaBanco(ByVal pBancoLocal As Boolean) As String
Get
If pBancoLocal = True Then
Return [Ô]IP LOCAL[Ô]
Else
Return [Ô] HTTP SERVER [Ô]
End If
End Get
End Property
No seu botão de login:
Dim Banco As New conn(chkLocal.Checked)
Entendi a logica sim hehe.. so que deu pal na minha Function de conectar que tem na classe conn tambem
Deu erro no meu comando [Ô]Dim Conexao As New conn[Ô] do botao login, ele fala: [Ô]Argument not specified for parameter pBancoLocal Of Public Sub New(pBanco local as Boolean)[Ô]
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
Deu erro no meu comando [Ô]Dim Conexao As New conn[Ô] do botao login, ele fala: [Ô]Argument not specified for parameter pBancoLocal Of Public Sub New(pBanco local as Boolean)[Ô]
Veja se te ajuda
Para chamar faça assim
Imports MySql.Data.MySqlClient
Public Class clsConexaoBanco
Private _conn As New MySqlConnection
Private _cmd As New MySqlCommand
Private _StringConexao As String
Private _Server As String
Private _UserID As String
Private _Password As String
Private _DataBase As String
Sub New(ByVal StringConexao As String)
_StringConexao = StringConexao
_conn.ConnectionString = _StringConexao
_cmd.Connection = _conn
End Sub
Sub New(ByVal arr() As String)
_StringConexao = String.Format([Ô]server={0}; user id={1}; password={2}; database={3}[Ô], arr(0), arr(1), arr(2), arr(3))
_conn.ConnectionString = _StringConexao
_cmd.Connection = _conn
End Sub
Sub New()
End Sub
Public Property Server() As String
Get
Return _Server
End Get
Set(ByVal value As String)
_Server = value
End Set
End Property
Public Property UserID() As String
Get
Return _UserID
End Get
Set(ByVal value As String)
_UserID = value
End Set
End Property
Public Property Password() As String
Get
Return _Password
End Get
Set(ByVal value As String)
_Password = value
End Set
End Property
Public Property DataBase() As String
Get
Return _DataBase
End Get
Set(ByVal value As String)
_DataBase = value
End Set
End Property
Public Function AbrirConexao() As Boolean
Try
_conn.Open()
Return True
Catch ex As Exception
Return False
End Try
End Function
Public Function FecharConexao() As Boolean
Try
_conn.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
Public Sub AtribuiStringConnection()
_StringConexao = String.Format([Ô]server={0}; user id={1}; password={2}; database={3}[Ô], _Server, _UserID, _Password, _DataBase)
_conn.ConnectionString = _StringConexao
_cmd.Connection = _conn
End Sub
End Class
Para chamar faça assim
[ô]Assim
Dim conexao as New clsConexaoBanco()
conexao.Server = [Ô]localhost[Ô]
conexao.UserID = [Ô]usuario[Ô]
conexao.Password = [Ô]senha[Ô]
conexao.DataBase = [Ô]banco[Ô]
conexao.AtribuiStringConnection()
if conexao.AbrirConexao() Then
MessageBox.Show([Ô]Conectou[Ô])
Else
MessageBox.Show([Ô]Não Conectou[Ô])
End If
if conexao.FecharConexao() Then
MessageBox.Show([Ô]Fechou Conexao[Ô])
Else
MessageBox.Show([Ô]Não Fechou Conectou[Ô])
End If
[ô]Ou Assim
Dim arr() As String = {[Ô]Server[Ô], [Ô]UserID[Ô], [Ô]Password[Ô], [Ô]Banco[Ô]}
Dim conexao as New clsConexaoBanco(arr())
if conexao.AbrirConexao() Then
MessageBox.Show([Ô]Conectou[Ô])
Else
MessageBox.Show([Ô]Não Conectou[Ô])
End If
if conexao.FecharConexao() Then
MessageBox.Show([Ô]Fechou Conexao[Ô])
Else
MessageBox.Show([Ô]Não Fechou Conectou[Ô])
End If
[ô]Ou Assim
Dim conexao as New clsConexaoBanco([Ô]server=localhost; user id=usuario; password=senha; database=banco[Ô])
if conexao.AbrirConexao() Then
MessageBox.Show([Ô]Conectou[Ô])
Else
MessageBox.Show([Ô]Não Conectou[Ô])
End If
if conexao.FecharConexao() Then
MessageBox.Show([Ô]Fechou Conexao[Ô])
Else
MessageBox.Show([Ô]Não Fechou Conectou[Ô])
End If
Tens que passar o parâmetro na instância da classe...
Dim Conexao As New conn(chkLocal.Checked)
Dim Conexao As New conn(chkLocal.Checked)
Se o problema foi resolvido, por favor encerre o tópico
Opa pessoal resolveu sim muito obrigado é pq fazia um tempinho que eu não acessava o forum mesmo..
vlw.
vlw.
Tópico encerrado , respostas não são mais permitidas