none
To com erro Alguem me ajuda??? RRS feed

  • 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
    domingo, 8 de março de 2009 16:55

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
    domingo, 8 de março de 2009 20:24

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
    domingo, 8 de março de 2009 18:54
  •  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;

    }

    }

    }

    }



    domingo, 8 de março de 2009 19:50
  • 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
    domingo, 8 de março de 2009 20:24