Usuário com melhor resposta
To com erro Alguem me ajuda???

Pergunta
-
Ou alguem me ajuda ai
Quero fazer um progama que faça login...
So que isso ta em C# em WindowsApplication
em forms com um botao para usuario fazer login
Obs: ja tenho o codigo o problema que roda
tudo nem dá erro na guia de " erro list" que fica la em baixo
Uso VS2005
So que quando vc coloca o nome e a senha do usuario e clicka no botão login o progama da erro
algo assim " OleDbException was unhandled. Erro de sintaxe na cláusula FROM."
obs2: O banco que uso é o acces
meu e-mail é:
Lui_jos_af@hotmail.com
Respostas
-
Luis,
Analisei seu comando e vc esta passando dois parametros mais nao tem eles especificados na sentença, imagino que ele deve estar colocando estes parametros antes do from de sua sentencao, entao retire esses dois comandos..
lui.Parameters.Add(new OleDbParameter("@Funcionario", OleDbType.VarChar)).Value = textBox1.Text;
lui.Parameters.Add(new OleDbParameter("@Senha", OleDbType.VarChar)).Value = textBox2.Text;
e tente rodar..
OU vc pode manter os parametros (mais indicado) e fazer da seguinte forma...
Quando for trabalhar com parametros na sentença vc precisa indicar o local onde o parametro será inserido, veha como ficaria sua consulta usando o parametro.
string select = "SELECT * FROM WHERE EntrarUsuario Funcionario = @funcionario AND Senha = @senha";
Duvidas poste ai,
Nelson Borges - Analista de Sistemas- Marcado como Resposta Luis josé araujo Filho domingo, 8 de março de 2009 21:35
Todas as Respostas
-
Luijosaf,
Este erro aparente ser na sua classe de DAL, imagino que deva ser na senteça que passa a sua fonte de dados para fazer a verificação se o usuário é validou ou não.
Poste o código (evento) do botão e a consulta que faz na fonte de dados para que eu examine melhor.
Att
Nelson Borges - Analista de Sistemas -
Bem esse é o codigo que faz a conexao com um banco de dados atravez de uma classe que eu criei no meu projeto
#################### Fazer login #################################
** ATENÇÃO ** //Colocar o codigo abaixo no evento do botao de Fazer login
Esse é codigo que usei para quando clicar no botão "login"
private void button1_Click(object sender, EventArgs e)
{
Conexao obj = new Conexao();
//cria a conexão com o banco de dados
OleDbConnection Con = new OleDbConnection(obj.StringConexao);Con.Open();
string select = "SELECT * FROM WHERE EntrarUsuario ((Funcionario = '" + textBox1.Text + "') AND (Senha = '" + textBox2.Text + "'))";
//MessageBox.Show ("nome"+txtusuario);OleDbCommand lui = new OleDbCommand(select, Con);
lui.Parameters.Add(new OleDbParameter("@Funcionario", OleDbType.VarChar)).Value = textBox1.Text;
lui.Parameters.Add(new OleDbParameter("@Senha", OleDbType.VarChar)).Value = textBox2.Text;
OleDbDataAdapter dalui = new OleDbDataAdapter();
DataSet ds = new DataSet();
dalui.SelectCommand = lui;
dalui.Fill(ds);
if (ds.Tables[0].Rows.Count == 1)
{
Array co = ds.Tables[0].Rows[0].ItemArray;DepoisdoLogin miau = new DepoisdoLogin();
Hide();
miau.ShowDialog();
this.Close();
}else
{
MessageBox.Show("Usuario ou senha inválida!");}
}private void button3_Click(object sender, EventArgs e)
{
alterarCADASTRARdeletar link = new alterarCADASTRARdeletar();Hide();
link.ShowDialog();
}
}#################### conexão #################################
** ATENÇÃO ** //Colocar o codigo abaixo no novo item class do seu projeto "conexão"
essa é minha classe conexão
using
System;using
System.Collections.Generic;using
System.Text;namespace
LuisNAprovaDEfogo{
public class Conexao{
string conexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = Natureza.mdb"; public string StringConexao{
get{
return conexao;}
}
}
}
- Marcado como Resposta Luis josé araujo Filho domingo, 8 de março de 2009 21:35
- Não Marcado como Resposta Luis josé araujo Filho domingo, 8 de março de 2009 21:35
-
Luis,
Analisei seu comando e vc esta passando dois parametros mais nao tem eles especificados na sentença, imagino que ele deve estar colocando estes parametros antes do from de sua sentencao, entao retire esses dois comandos..
lui.Parameters.Add(new OleDbParameter("@Funcionario", OleDbType.VarChar)).Value = textBox1.Text;
lui.Parameters.Add(new OleDbParameter("@Senha", OleDbType.VarChar)).Value = textBox2.Text;
e tente rodar..
OU vc pode manter os parametros (mais indicado) e fazer da seguinte forma...
Quando for trabalhar com parametros na sentença vc precisa indicar o local onde o parametro será inserido, veha como ficaria sua consulta usando o parametro.
string select = "SELECT * FROM WHERE EntrarUsuario Funcionario = @funcionario AND Senha = @senha";
Duvidas poste ai,
Nelson Borges - Analista de Sistemas- Marcado como Resposta Luis josé araujo Filho domingo, 8 de março de 2009 21:35