ERRO NO SQL
[ô]ABRE A TABELA E LOCALIZA, SE POSSÃVEL, O USUÃRIO A SER LOGADO
Sql = [Ô]SELECT * FROM Login WHERE Usuario = [ô][Ô] + txtLogin.Text + [Ô][ô]AND Senha = [ô][Ô] + txtSenha.Text + [Ô][ô][Ô]
tabelaLogin.Open(Sql, conexaoLogin)
If Not (tabelaLogin.EOF) Then
usuario = tabelaLogin.Fields([Ô]Usuario[Ô]).Value
senha = tabelaLogin.Fields([Ô]Senha[Ô]).Value
If ((usuario = txtLogin.Text) And (senha = txtSenha.Text)) Then
MsgBox([Ô]Logado[Ô])
MDIParent1.Show()
conexaoLogin = Nothing
Me.Visible = False
Else
MsgBox([Ô]Usuário e senha não conferem com nosso cadastro[Ô])
End If
Else
MsgBox([Ô]Digite um login e uma senha válidos![Ô], vbCritical, [Ô]Login[Ô])
End If
End If
End If
End Sub
End Class
na linha 1 //ESTA DANDO O SEGUINTE ERRO [Ô]Erro 2 [ô]System.Data.Sql[ô] é um namespace e não pode ser usado como uma expressão[Ô]
NÃO SEI MAIS OQ FAZER!
Sql = [Ô]SELECT * FROM Login WHERE Usuario = [ô][Ô] + txtLogin.Text + [Ô][ô]AND Senha = [ô][Ô] + txtSenha.Text + [Ô][ô][Ô]
tabelaLogin.Open(Sql, conexaoLogin)
If Not (tabelaLogin.EOF) Then
usuario = tabelaLogin.Fields([Ô]Usuario[Ô]).Value
senha = tabelaLogin.Fields([Ô]Senha[Ô]).Value
If ((usuario = txtLogin.Text) And (senha = txtSenha.Text)) Then
MsgBox([Ô]Logado[Ô])
MDIParent1.Show()
conexaoLogin = Nothing
Me.Visible = False
Else
MsgBox([Ô]Usuário e senha não conferem com nosso cadastro[Ô])
End If
Else
MsgBox([Ô]Digite um login e uma senha válidos![Ô], vbCritical, [Ô]Login[Ô])
End If
End If
End If
End Sub
End Class
na linha 1 //ESTA DANDO O SEGUINTE ERRO [Ô]Erro 2 [ô]System.Data.Sql[ô] é um namespace e não pode ser usado como uma expressão[Ô]
NÃO SEI MAIS OQ FAZER!
Tem que fazer referência Ado no seu projeto.
Mostre desde a declarações até onde você
postou.Ai o pessoal vai te ajudar.
Mostre desde a declarações até onde você
postou.Ai o pessoal vai te ajudar.
Essa é a minha codificação no mdulo
[ô]IMPORTANTO AS CLASSES PARA HABILIATAR CONEXÃO COM BANCO DE DADOS
Imports MySql.Data.MySqlClient
Module Module1
[ô]CRIANDO UM OBJETO DO TIPO ADODB.Connection(ACESSAR O BANCO DE DADOS)
[ô]CRIANDO UM OBJETO DO TIPO ADODB.Recordest(ACESSAR UMA TABELA DO BD)
Public conexaoLogin As New ADODB.Connection
Public tabelaLogin As New ADODB.Recordset
Public conexaoSistema As New ADODB.Connection
Public tabelaSistema As New ADODB.Recordset
Public Sub ConectaLogin() [ô]SUB-ROTINA QUE SERVIRà PARA ABRIR O BD LoginProjetoVB
FechaLogin()
conexaoLogin = New ADODB.Connection
conexaoLogin.Open([Ô]Driver={MySQL ODBC 5.2w Driver};[Ô] _
& [Ô]SERVER=localhost;[Ô] & [Ô] DATABASE=Login;[Ô] _
& [Ô]UID=root;PWD=etec;OPTION=16427;[Ô])
End Sub
Public Sub ConectaSistema()
[ô] FechaSistema()
conexaoSistema = New ADODB.Connection
conexaoSistema.Open([Ô]Driver={MySQL ODBC 5.2w Driver};[Ô] _
& [Ô]SERVER=localhost;[Ô] & [Ô] DATABASE=Legal;[Ô] _
& [Ô]UID=root;PWD=etec;OPTION=16427;[Ô])
End Sub
[ô]SUB-ROTINA QUE SERVIRà FECHAR O BD LoginProjetoVB
Public Sub FechaLogin()
On Error Resume Next
conexaoLogin.Close()
End Sub
End Module
[ô] E AQUI é A MINHA CODIFICAÇÃO NO FORM LOGIN
[ô]CODIFICAÇÃO DO BOTÃO ENTRAR
Private Sub cmdLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles cmdLogin.Click
Call Logar()
End Sub
Private Sub Logar()
If (txtLogin.Text = [Ô][Ô]) Then
MsgBox([Ô]Digite o nome do usuário![Ô]) [ô]VERIFICAR SE A CAIXA DE TEXTO LOGIN ESTA EM BRANCO
Else
If (txtSenha.Text = [Ô][Ô]) Then [ô]VERIFICAR SE A CAIXA DE TEXTO SENHA ESTA EM BRANCO
MsgBox([Ô]Digite a senha do usuário[Ô])
Else
ConectaLogin() [ô]ABRE O BANCO DE DADOS
tabelaLogin = New ADODB.Recordset
Dim usuario, senha As String
[ô]ABRE A TABELA E LOCALIZA, SE POSSÃVEL, O USUÃRIO A SER LOGADO
Sql = [Ô]SELECT * FROM Login WHERE Usuario = [ô][Ô] + txtLogin.Text + [Ô][ô]AND Senha = [ô][Ô] + txtSenha.Text + [Ô][ô][Ô]
tabelaLogin.Open(Sql, conexaoLogin)
If Not (tabelaLogin.EOF) Then
usuario = tabelaLogin.Fields([Ô]Usuario[Ô]).Value
senha = tabelaLogin.Fields([Ô]Senha[Ô]).Value
If ((usuario = txtLogin.Text) And (senha = txtSenha.Text)) Then
MsgBox([Ô]Logado[Ô])
MDIParent1.Show()
conexaoLogin = Nothing
Me.Visible = False
Else
MsgBox([Ô]Usuário e senha não conferem com nosso cadastro[Ô])
End If
Else
MsgBox([Ô]Digite um login e uma senha válidos![Ô], vbCritical, [Ô]Login[Ô])
End If
End If
End If
End Sub
End Class
[ô]AS REFERENCIAS QUE EU SELECIONEI FOI :
adodb .NET 7.0.3300.0
MySql.Data
[ô]IMPORTANTO AS CLASSES PARA HABILIATAR CONEXÃO COM BANCO DE DADOS
Imports MySql.Data.MySqlClient
Module Module1
[ô]CRIANDO UM OBJETO DO TIPO ADODB.Connection(ACESSAR O BANCO DE DADOS)
[ô]CRIANDO UM OBJETO DO TIPO ADODB.Recordest(ACESSAR UMA TABELA DO BD)
Public conexaoLogin As New ADODB.Connection
Public tabelaLogin As New ADODB.Recordset
Public conexaoSistema As New ADODB.Connection
Public tabelaSistema As New ADODB.Recordset
Public Sub ConectaLogin() [ô]SUB-ROTINA QUE SERVIRà PARA ABRIR O BD LoginProjetoVB
FechaLogin()
conexaoLogin = New ADODB.Connection
conexaoLogin.Open([Ô]Driver={MySQL ODBC 5.2w Driver};[Ô] _
& [Ô]SERVER=localhost;[Ô] & [Ô] DATABASE=Login;[Ô] _
& [Ô]UID=root;PWD=etec;OPTION=16427;[Ô])
End Sub
Public Sub ConectaSistema()
[ô] FechaSistema()
conexaoSistema = New ADODB.Connection
conexaoSistema.Open([Ô]Driver={MySQL ODBC 5.2w Driver};[Ô] _
& [Ô]SERVER=localhost;[Ô] & [Ô] DATABASE=Legal;[Ô] _
& [Ô]UID=root;PWD=etec;OPTION=16427;[Ô])
End Sub
[ô]SUB-ROTINA QUE SERVIRà FECHAR O BD LoginProjetoVB
Public Sub FechaLogin()
On Error Resume Next
conexaoLogin.Close()
End Sub
End Module
[ô] E AQUI é A MINHA CODIFICAÇÃO NO FORM LOGIN
[ô]CODIFICAÇÃO DO BOTÃO ENTRAR
Private Sub cmdLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles cmdLogin.Click
Call Logar()
End Sub
Private Sub Logar()
If (txtLogin.Text = [Ô][Ô]) Then
MsgBox([Ô]Digite o nome do usuário![Ô]) [ô]VERIFICAR SE A CAIXA DE TEXTO LOGIN ESTA EM BRANCO
Else
If (txtSenha.Text = [Ô][Ô]) Then [ô]VERIFICAR SE A CAIXA DE TEXTO SENHA ESTA EM BRANCO
MsgBox([Ô]Digite a senha do usuário[Ô])
Else
ConectaLogin() [ô]ABRE O BANCO DE DADOS
tabelaLogin = New ADODB.Recordset
Dim usuario, senha As String
[ô]ABRE A TABELA E LOCALIZA, SE POSSÃVEL, O USUÃRIO A SER LOGADO
Sql = [Ô]SELECT * FROM Login WHERE Usuario = [ô][Ô] + txtLogin.Text + [Ô][ô]AND Senha = [ô][Ô] + txtSenha.Text + [Ô][ô][Ô]
tabelaLogin.Open(Sql, conexaoLogin)
If Not (tabelaLogin.EOF) Then
usuario = tabelaLogin.Fields([Ô]Usuario[Ô]).Value
senha = tabelaLogin.Fields([Ô]Senha[Ô]).Value
If ((usuario = txtLogin.Text) And (senha = txtSenha.Text)) Then
MsgBox([Ô]Logado[Ô])
MDIParent1.Show()
conexaoLogin = Nothing
Me.Visible = False
Else
MsgBox([Ô]Usuário e senha não conferem com nosso cadastro[Ô])
End If
Else
MsgBox([Ô]Digite um login e uma senha válidos![Ô], vbCritical, [Ô]Login[Ô])
End If
End If
End If
End Sub
End Class
[ô]AS REFERENCIAS QUE EU SELECIONEI FOI :
adodb .NET 7.0.3300.0
MySql.Data
Para fazer a referência,vá
em,
Projet,Add reference,vai abri uma janela,
click em COM selecione,
Microsof ActiveX Data Objects 2.7 Library
ou
Microsof ActiveX Data Objects 2.8 Library
ou superior.
Igual no vb6.
em,
Projet,Add reference,vai abri uma janela,
click em COM selecione,
Microsof ActiveX Data Objects 2.7 Library
ou
Microsof ActiveX Data Objects 2.8 Library
ou superior.
Igual no vb6.
Se você está usando o VB.Net deveria usar o conector do MySQL e não o ADO, pelo seu código você está fazendo da forma que era no VB6, usando o ADODB.*, apesar de você ter adicionado a referencia do conector nativo para .Net do MySQL e ter colocado o imports MySql.Data.MySqlClient você não usa nada dele
Desculpem pessoa eu escolhi por engano vb.NET o certo é VB10l
Qualquer Visual Basic depois do 6 é VB.Net, o primeiro foi com o VS.Net 2002, depois teve 2003, 2005, 2008, 2010 e agora o 2012, que respectivamente correspondem ao VB 7, 7.1, 8, 9, 10 e 11, mas todos são basicamente VB.Net, cada um rodando em cima de uma versão diferente do .net framerork
certo! mas e agora o que qui eu faço, já que eu não tenho mais informações e nem recursos?
cara sua app está vulnerável a sql injection, qualquer um pode penetras sua app sem ser cadastrado por exemplo
login : admin (exemplo ou qualquer coisa(123))
senha: [ô]or[ô]1[ô]=[ô]1
login:1 union select * from usuarios
senha:
p/ seber o nome da tabela
login: [ô] having 1=1--
senha:
aq ele apaga a tabela usuarios
login: [ô] ; drop table usuarios--
senha:
testa e vc verá a vulnerabilidade do app
use parâmetros na app
ex: SELECT * FROM Login WHERE Usuario =@usuario AND Senha =@senha[Ô]
ai vc passa as variaveis com @
no vb.net é assim comand.parameter.addwithvalues([Ô]@usuario[Ô],txtusuario.text)
e procedures no banco de dados ao menos que vc esteja usando ms acess (que na minha opniao nao é considerado banco de dados e sim alocamento de dados simples)
login : admin (exemplo ou qualquer coisa(123))
senha: [ô]or[ô]1[ô]=[ô]1
login:1 union select * from usuarios
senha:
p/ seber o nome da tabela
login: [ô] having 1=1--
senha:
aq ele apaga a tabela usuarios
login: [ô] ; drop table usuarios--
senha:
testa e vc verá a vulnerabilidade do app
use parâmetros na app
ex: SELECT * FROM Login WHERE Usuario =@usuario AND Senha =@senha[Ô]
ai vc passa as variaveis com @
no vb.net é assim comand.parameter.addwithvalues([Ô]@usuario[Ô],txtusuario.text)
e procedures no banco de dados ao menos que vc esteja usando ms acess (que na minha opniao nao é considerado banco de dados e sim alocamento de dados simples)
Faça seu login para responder