LOGIN COM ACESS
Ola eu criei uma aplicação de Login com Banco de dados (.MDB) com o seguinte script
[th]
Ocorre um erro no trecho [Ô] Read = chave1.ExecuteReader[Ô] que diz [Ô]ExecuteReader: propriedade Connection não foi inicializada[Ô]
o que sera que eu fiz de errado?
Login com Banco de Dados | [/th]
Public Class Form1 Dim chave1, chave2 As New OleDb.OleDbCommand() Dim conexao As New OleDb.OleDbConnection() Dim Read As OleDb.OleDbDataReader Dim tentativas As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load conexao.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Pescarolli!\SYSTEM\Desenvolvimento de Programas\SEVER.mdb[Ô] chave1.CommandType = CommandType.Text chave1.CommandText = [Ô]Select * From User Where Usuario=? and Senha=?[Ô] chave2.Connection = conexao chave2.CommandType = CommandType.Text chave2.CommandText = [Ô]Select * From User Where Usuario=? and Senha=?[Ô] End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click chave1.Parameters.Add([Ô]Usuario[Ô], Data.OleDb.OleDbType.Variant) chave1.Parameters.Add([Ô]Senha[Ô], Data.OleDb.OleDbType.Variant) chave1.Parameters([Ô]Usuario[Ô]).Value = TextBox1.Text chave1.Parameters([Ô]Senha[Ô]).Value = TextBox2.Text [ô]Abre conexao com banco de dados conexao.Open() [ô] Le a informação do banco de dados Read = chave1.ExecuteReader verificaLogin() [ô] fecha a conexao com o banco de dados conexao.Close() End Sub Private Sub verificaLogin() If tentativas >= 3 Then MessageBox.Show([Ô]Número de tentativas foi excedido ![Ô], [Ô]Login[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation) [ô]Fecha aplicação End Else TextBox1.Clear() TextBox2.Clear() MessageBox.Show([Ô]Chave ou senha inválida ![Ô], [Ô]Login[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error) End If TextBox1.Focus() End Sub End Class |
Ocorre um erro no trecho [Ô] Read = chave1.ExecuteReader[Ô] que diz [Ô]ExecuteReader: propriedade Connection não foi inicializada[Ô]
o que sera que eu fiz de errado?
Boa noite,
Amigo tenta assim:
Até mais.
Amigo tenta assim:
Public Class Form1
Dim chave1, chave2 As New OleDb.OleDbCommand()
Dim conexao As New OleDb.OleDbConnection()
Dim Read As OleDb.OleDbDataReader
Dim tentativas As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
conexao.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Pescarolli!\SYSTEM\Desenvolvimento de Programas\SEVER.mdb[Ô]
chave1.Connection = conexao
chave1.CommandType = CommandType.Text
chave1.CommandText = [Ô]Select * From User Where Usuario=? and Senha=?[Ô]
chave2.Connection = conexao
chave2.CommandType = CommandType.Text
chave2.CommandText = [Ô]Select * From User Where Usuario=? and Senha=?[Ô]
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
chave1.Parameters.Add([Ô]Usuario[Ô], Data.OleDb.OleDbType.Variant)
chave1.Parameters.Add([Ô]Senha[Ô], Data.OleDb.OleDbType.Variant)
chave1.Parameters([Ô]Usuario[Ô]).Value = TextBox1.Text
chave1.Parameters([Ô]Senha[Ô]).Value = TextBox2.Text
[ô]Abre conexao com banco de dados
conexao.Open()
[ô] Le a informação do banco de dados
Read = chave1.ExecuteReader
verificaLogin()
[ô] fecha a conexao com o banco de dados
conexao.Close()
End Sub
Private Sub verificaLogin()
If tentativas >= 3 Then
MessageBox.Show([Ô]Número de tentativas foi excedido ![Ô], [Ô]Login[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
[ô]Fecha aplicação
End
Else
TextBox1.Clear()
TextBox2.Clear()
MessageBox.Show([Ô]Chave ou senha inválida ![Ô], [Ô]Login[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
TextBox1.Focus()
End Sub
End Class
Até mais.
deu erro [Ô]Syntax error in FROM clause.[Ô]
O erro esta no FROM.
Olha eu coloquei [Ô]SELECT * FROM [User] Where Usuario=? a Senha=?[Ô]
ta certo?
desculpa sou meio iniciante na area de intregar Acess ao VB.net
aparece [Ô]Objeto COM que foi separado do seu RCW subjacente não pode ser usado.[Ô]
ta certo?
desculpa sou meio iniciante na area de intregar Acess ao VB.net
aparece [Ô]Objeto COM que foi separado do seu RCW subjacente não pode ser usado.[Ô]
Amigo, deixa me ver uma coisa, vc quer é fazer um sistema de login, é isso mesmo?
Você esta colocando o select mesmo antes de passar os parâmetros, você não pode dar um select sem parâmetros, ou seja, ele não pode ficar no LOAD do form.
Eu vou fazer um exemplo bem básico mesmo aqui ai você tira uma base em cima dele.
Você esta colocando o select mesmo antes de passar os parâmetros, você não pode dar um select sem parâmetros, ou seja, ele não pode ficar no LOAD do form.
Eu vou fazer um exemplo bem básico mesmo aqui ai você tira uma base em cima dele.
é isso mesmo sistema de login
Amigo em anexo tem um exemplo de uma olhada nele. E com ele vc tira uma base do que precisa fazer.
Outro erro amigo é que vc esta usando o nome da tabela [Ô]USER[Ô] No Access existe uma coisa chamada PALAVRAS RESERVADAS, ou seja, tem palavras que são interpretadas como comandos. Veja a lista de palavras reservadas abaixo, e veja que nela existe a palavra USER. Se vc usar usar ela na sql vai dar erro.
Lista Palavras Reservadas
Até mais.
Lista Palavras Reservadas
Até mais.
Uma coisa que percebi aqui logo de cara...
chave1.Parameters.Add([Ô]Usuario[Ô], Data.OleDb.OleDbType.Variant)
chave1.Parameters.Add([Ô]Senha[Ô], Data.OleDb.OleDbType.Variant)
chave1.Parameters([Ô]Usuario[Ô]).Value = TextBox1.Text
chave1.Parameters([Ô]Senha[Ô]).Value = TextBox2.Text
vejam aqui o que esta ocorrendo, esta sendo adicionado os parametros antes de serem preencidos, nao testei pra ver se isso daria erro, mas em tese deveria dar sim !
anyway.. o normal é Preencher e depois passar o parametro !
Ah e porque todos os parametro do tipo variant ? tem que fazer um tratamento de erro disso antes e passar parametro normal.. String
chave1.Parameters.Add([Ô]Usuario[Ô], Data.OleDb.OleDbType.Variant)
chave1.Parameters.Add([Ô]Senha[Ô], Data.OleDb.OleDbType.Variant)
chave1.Parameters([Ô]Usuario[Ô]).Value = TextBox1.Text
chave1.Parameters([Ô]Senha[Ô]).Value = TextBox2.Text
vejam aqui o que esta ocorrendo, esta sendo adicionado os parametros antes de serem preencidos, nao testei pra ver se isso daria erro, mas em tese deveria dar sim !
anyway.. o normal é Preencher e depois passar o parametro !
Ah e porque todos os parametro do tipo variant ? tem que fazer um tratamento de erro disso antes e passar parametro normal.. String
Ola eu testei o sistema de login , e estar funcionando perfeitamente , agora entendo como qual é o momento certo de onde se coloca os parametros na parte certa
obrigado !
obrigado !
Tópico encerrado , respostas não são mais permitidas