Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucascrochaiv

Erro na execução

Recommended Posts

Pessoal, eu estou aprendendo C# e banco de dados e estou tentando montar um sistema só para testes com conexão no banco de dados porém esta dando um erro. O sistema é de login e quando clico no botão de login, após alguns segundos aparece este erro: incorrect syntax near '=', já verifiquei os códigos da tabela e já verifiquei os códigos no visual studio mas não consigo arrumar, alguém sabe o que é?

CREATE TABLE [dbo].[usuarios] (
    [IDusuario] INT           NOT NULL,
    [usuario]   VARCHAR(100) NOT NULL,
    [senha]     VARCHAR(100) NOT NULL,
    CONSTRAINT [PK_usuarios] PRIMARY KEY CLUSTERED ([IDusuario] ASC)
);
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Mercado
{
    public partial class login : Form
    {
        public login()
        {
            InitializeComponent();
        }

        SqlConnection sqlCon = null;
        private string strCon = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\dba.mdf;Integrated Security=True";
        private string strSql = string.Empty;

        private void BtnSair_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void BtnOk_Click(object sender, EventArgs e)
        {
            sqlCon = new SqlConnection(strCon);
            string usuario, senha;

            this.Visible = false;
            try
            {
                usuario = textBox1.Text;
                senha = textBox2.Text;

                strSql = "SELECT COUNT (IDusuario) FROM usuarios WHERE=@usuario and senha=@senha";
                SqlCommand comando = new SqlCommand(strSql, sqlCon);

                comando.Parameters.Add("@usuario", SqlDbType.VarChar).Value = usuario;
                comando.Parameters.Add("@Senha", SqlDbType.VarChar).Value = senha;

                sqlCon.Open();

                int Teste = (int)comando.ExecuteScalar();
                if(Teste > 0)
                {
                    MessageBox.Show("Acesso Liberado!");

                    Inicio forminicio = new Inicio();
                    forminicio.Show();

                }

            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

lucascrochaiv,

O sua instrução sql está errada, faltou você colocar o campo da tabela referente a coluna com o nome do usuário, marquei em vermelho.

strSql = "SELECT COUNT (IDusuario) FROM usuarios WHERE=@usuario and senha=@senha";

Correto

strSql = "SELECT COUNT (IDusuario) FROM usuarios WHERE usuario=@usuario and senha=@senha";

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.