none
O que tem de errado nesse login

    Discussão Geral

  • Ola gente, estou com erro nessa linha   ( int v = (int)cmd.ExecuteScalar();  ) do Código abaixo, nao sei o que tem de errado pois aparentemente esta tudo correto, mais quando eu vo tentar logar nao funciona o c# aponta esta linha.

      private void Logar() 
            {
                Sqlconn = new SqlConnection(strcoon);
                string usu, pwd;

                try 
                {
                    usu = tb_usu.Text;
                    pwd = tb_senha.Text;
                    SqlCommand cmd = new SqlCommand(_Sql,Sqlconn);
                    
                    cmd.Parameters.Add("@usuario", SqlDbType.VarChar).Value = usu;
                    cmd.Parameters.Add("@senha", SqlDbType.VarChar).Value = pwd;
                    // abri a string sqlconn
                    Sqlconn.Open();

                    int v = (int)cmd.ExecuteScalar();

                    if (v > 0)
                    {
                        MessageBox.Show(usu+" Logado com sucesso."); 
                    }
                    else
                    {
                        MessageBox.Show("Login inexistente.");
                    }

                    _Sql = "SELECT COUNT(Codigo) FROM Login2 WHERE usuario = @usuario AND senha = @senha";  

                }catch(SqlException error)
                {
                    MessageBox.Show(error+" No Banco");
                }
            }

    segunda-feira, 24 de setembro de 2012 17:46

Todas as Respostas

  • Mude o código abaixo de posição. Coloque ele logo abaixo da linha (pwd = tb_senha.Text;) e antes da criação do SqlCommand.

    _Sql = "SELECT COUNT(Codigo) FROM Login2 WHERE usuario = @usuario AND senha = @senha";

    segunda-feira, 24 de setembro de 2012 17:54
  • Veja so a forma que eu fiz..

    vou mandar tbm o script do banco de dados..!!

    /*************BD**********************/

    CREATE DATABASE USUARIO
    GO
    USE [USUARIO]
    GO
    /****** Object:  Table [dbo].[Usuario]    Script Date: 09/25/2012 12:19:24 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[Usuario](
        [Use_codigo] [int] IDENTITY(1,1) NOT NULL,
        [Use_nome] [varchar](20) NOT NULL,
        [Use_senha] [varchar](20) NOT NULL
    ) ON [PRIMARY]
    GO
    SET ANSI_PADDING OFF
    GO

    /***********************************/

    /*****************C#********************/

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;

    namespace Login
    {
        public partial class Form1 : Form
        {       
            public Form1()
            {
                InitializeComponent();
            }

            private void btnLogar_Click(object sender, EventArgs e)
            {
                if((txtLogin.Text != string.Empty) && (txtSenha.Text != string.Empty))
                {
                logarLogin();
                }
                else
                {
                    MessageBox.Show("Preencha todos os campos");
                    txtLogin.Focus();
                }
            }

            private void logarLogin()
            {
                SqlConnection conn = new SqlConnection(@"Server = .\MSSQLEXPRESS; Database = USUARIO; Integrated Security = true");
                SqlCommand cmd = new SqlCommand("select count(*) from usuario where use_nome = @Use_nome and use_senha = @Use_senha",conn);

                cmd.Parameters.Add("@Use_nome", SqlDbType.VarChar).Value = txtLogin.Text;
                cmd.Parameters.Add("@Use_senha", SqlDbType.VarChar).Value = txtSenha.Text;

                conn.Open();

                int i = (int)cmd.ExecuteScalar();

                if (i > 0)
                {
                    MessageBox.Show("Usuario logado..");
                }
                else            
                {
                    MessageBox.Show("Usuario não cadastrado ou senha invalida");
                }
            }
        }
    }
    /***************************************************/

    Espero ter ajudado a esclarecer suas duvidas.

    terça-feira, 25 de setembro de 2012 15:26