Ir para conteúdo

Arquivado

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

guilhermek

Login e senha com MYSQL

Recommended Posts

Pessoal boa tarde, sou novo na programação C# e gostaria de saber como fazer um Login e senha + Mysql alguem tem algum tutorial ou pode me explicar... me mostrar cmo é feito com algum codigo.... ja procurei em vaios lugares mais nao encotrei nada que funciona!

 

Pessoal onde estou errando? Não aparece nenhum erro

 


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.Sql;
using System.Data.SqlClient;

namespace WindowsFormsApplication1
{
    public partial class FmLogin : Form
    {
        public FmLogin()
        {
            InitializeComponent();
        }

        private void btnAcesso_Click(object sender, EventArgs e)
        {   

            /*Validação dos campos txtUsuário e txtSenha
             * Caso o campo txtUsuario ou txtSenha estiverem
             * Vazios é ativada uma mensagem dizendo para
             * Informar os campos, caso contrário não aparecerá
             * Mensagem
             */
            if (txtUsuario.Text == "" || txtSenha.Text == "")
            {

                MessageBox.Show("Informe os campos corretamente!");
            
            }

             /*Função que faz a conexão com o banco de dados Mysql*/      
              String ConectaMySql = @"server=localhost;User Id=root;database=Banco;password=123456";
              SqlConnection cn = new SqlConnection(ConectaMySql);

                    try
                    {
                        cn.Open();
                    }

                     catch (Exception)
                      {
                          MessageBox.Show("Não foi possível realizar a conexão com o MySql");
                      }

             /*Validação dos campos txtUsuario e txtSenha fazendo a comparação
             * dos campos que foram digitados com os dados cadastrados no
             * Banco de dados Mysql, caso esteja correto abre a próxima tela
             * caso contrario Informe mensagem de erro para o usuário do sistema
             */

              try
              {
                  
                  SqlCommand cmd = new SqlCommand("SELECT * FROM usuarioadm WHERE Usuario='" + txtUsuario.Text + "' AND senha='" + txtSenha.Text + "'",cn);
                

                  SqlDataReader rs = cmd.ExecuteReader();
                  string Usuario = txtUsuario.Text;
                  string Senha = txtSenha.Text;
                  cmd.Parameters.Add("Usuario", SqlDbType.Text).Value = txtUsuario.Text;
                  cmd.Parameters.Add("Senha", SqlDbType.Text).Value = txtSenha.Text;
                 
                

              }
              catch (Exception)
              {
                  MessageBox.Show("Não foi possivel realizar a consulta na tabela");
              }



        }
    }
}

poxa vida pessoal, ninguem consegue me responder onde estou errando ai?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Duas coisas...

 

Primeira, nos textbox coloque tratamento para nulo, pois vazio é diferente e nulo, não lembro se rola problema com isso,

 

Segundo

 

Você monta a string e passa o parâmetro,

 

esse trecho

 

 

try

{

SqlCommand cmd = new SqlCommand("SELECT * FROM usuarioadm WHERE Usuario='" + txtUsuario.Text + "' AND senha='" + txtSenha.Text + "'",cn);

SqlDataReader rs = cmd.ExecuteReader();

string Usuario = txtUsuario.Text;

string Senha = txtSenha.Text;

cmd.Parameters.Add("Usuario", SqlDbType.Text).Value = txtUsuario.Text;

cmd.Parameters.Add("Senha", SqlDbType.Text).Value = txtSenha.Text;

}

catch (Exception)

{

MessageBox.Show("Não foi possivel realizar a consulta na tabela");

}

 

tem que ficar assim (a nível de teste)

 

 

 

try

{

 

SqlCommand cmd = new SqlCommand("SELECT * FROM usuarioadm WHERE Usuario=:usuario AND senha= :senha",cn);

 

 

SqlDataReader rs = cmd.ExecuteReader();

string Usuario = txtUsuario.Text;

string Senha = txtSenha.Text;

cmd.Parameters.Add(":usuario", SqlDbType.Text).Value = txtUsuario.Text;

cmd.Parameters.Add(":senha", SqlDbType.Text).Value = txtSenha.Text;

 

 

 

}

catch (Exception)

{

MessageBox.Show("Não foi possivel realizar a consulta na tabela");

}

 

 

Você não precisar montar a concatenando se passa parâmetro, esse que é o legal do parâmetro, no sql server o parâmetro vem com ":" no Sql Server "@", não lembro no OleDB e no Oracle

 

Precisa do identificador para separar as palavras "comuns", dos parâmetros, ok

 

QQ coisa é só postar

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, nao consegui dessa maneira ai em cima nao, aai estou tentando fazer de outra maneira mais tbm esta dando um erro, de uma olhada ai no codigo onde estou errando pq nao sei!!!

 

 

o erro que esta dando e esse Erro:System.Data.SqlClient.SqlException(0x80131904) Invalid object name 'usuarios'

 

a conexao com o banco de daos esta ok e o nome da taleba tbm, o banco é o SQL SERVER 2008

 


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;
using System.Collections;

namespace AdvocaciaOnlineV1._0
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // string de conexão
            string connString = @"server =.\SQLEXPRESS;integrated security = true;";

            // vamos criar a conexão
            SqlConnection conn = new SqlConnection(connString);

            // a conexão foi feita com sucesso?
            try
            {
                // abre a conexão
                conn.Open();
                //MessageBox.Show("A conexão foi efetuada com sucesso.");

               SqlCommand cmd = new SqlCommand("select * from usuarios where Usuario='" + txtUsuario.Text + "' AND Senha='" + txtSenha.Text + "'",conn);
               int Cont = cmd.ExecuteNonQuery();



                if (Cont == 1)
                {
                    MessageBox.Show("OK");
                }
                else
                {

                    MessageBox.Show("Incorreto");
                }

            }
            catch (SqlException sqle)
            {

                MessageBox.Show("Falha ao efetuar a conexão. Erro: " + sqle);
            }
        }
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Respondi no outro post..

 

Mas uma dúvida você usa o SQL Server ou MySQL ??

 

Se for SQL Server substitui ":" por "@" nos parâmetros..

 

Se estiver usando MySQL, não deve usar SQLClient.Data pois isso é do SQL Server..

 

Deve baixar o conector do MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou usando o SQL SERVER mesmo, na hira de digitar eu escrevi errado, pq tambem uso mysql para outras aplicações, vou tentar aqui desta maneira que me falou, vamos ver o que dá, valeuuuu!! qualquer coisa eu posto aqui

 

fera, ve se estou fazendo da maneira correta, a passagem de parametros no SELECT esta assim

 

SqlCommand cmd = new SqlCommand("select * usuarios where Usuario='" + @user + "' AND Senha='" + @pass + "'",conn);

 

foi isso que vou quis me dizer? se nao, me mostra ai por favor!!!

 

 

abraço

 

Respondi no outro post..

 

Mas uma dúvida você usa o SQL Server ou MySQL ??

 

Se for SQL Server substitui ":" por "@" nos parâmetros..

 

Se estiver usando MySQL, não deve usar SQLClient.Data pois isso é do SQL Server..

 

Deve baixar o conector do MySQL

 

 

 

fera, ve se estou fazendo da maneira correta, a passagem de parametros no SELECT esta assim

 

SqlCommand cmd = new SqlCommand("select * usuarios where Usuario='" + @user + "' AND Senha='" + @pass + "'",conn);

 

foi isso que vou quis me dizer? se nao, me mostra ai por favor!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou usando o SQL SERVER mesmo, na hira de digitar eu escrevi errado, pq tambem uso mysql para outras aplicações, vou tentar aqui desta maneira que me falou, vamos ver o que dá, valeuuuu!! qualquer coisa eu posto aqui

 

fera, ve se estou fazendo da maneira correta, a passagem de parametros no SELECT esta assim

 

SqlCommand cmd = new SqlCommand("select * usuarios where Usuario='" + @user + "' AND Senha='" + @pass + "'",conn);

 

foi isso que vou quis me dizer? se nao, me mostra ai por favor!!!

 

 

abraço

 

 

Respondi no outro post..

 

Mas uma dúvida você usa o SQL Server ou MySQL ??

 

Se for SQL Server substitui ":" por "@" nos parâmetros..

 

Se estiver usando MySQL, não deve usar SQLClient.Data pois isso é do SQL Server..

 

Deve baixar o conector do MySQL

 

 

 

fera, ve se estou fazendo da maneira correta, a passagem de parametros no SELECT esta assim

 

SqlCommand cmd = new SqlCommand("select * usuarios where Usuario='" + @user + "' AND Senha='" + @pass + "'",conn);

 

foi isso que vou quis me dizer? se nao, me mostra ai por favor!!!

 

 

 

Não é...

 

O parâmetro remove a necessidade de concatenação

 

Se não errei nada fica como está abaixo

 

Atenção para :

 

 

 

string connString = @"server =.\SQLEXPRESS;integrated security = true;[color="#FF0000"][b]InicialCatalog = SeuBanco[/b][/color]";

e também em

 

Repare que o parâmetro deve vir dentro da string precedido de "@" o SQL Server reconhece o parâmentro quando está precedido por "@"

 

SqlCommand cmd = new SqlCommand("select * from esquema.usuarios where Usuario=@usuario AND Senha= @senha" ,conn);

 

 

Você deve colocar qual o banco de dados

 

 


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;
using System.Collections;

namespace AdvocaciaOnlineV1._0
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // string de conexão
            string connString = @"server =.\SQLEXPRESS;integrated security = true;[color="#FF0000"][b]InicialCatalog = SeuBanco[/b][/color]";

            // vamos criar a conexão
            SqlConnection conn = new SqlConnection(connString);

            // a conexão foi feita com sucesso?
            try
            {
                // abre a conexão
                conn.Open();
                //MessageBox.Show("A conexão foi efetuada com sucesso.");

           	SqlCommand cmd = new SqlCommand("select * from [color="#FF0000"][b]esquema[/b].[/color]usuarios where Usuario=[color="#FF0000"]@usuario[/color] AND Senha= [color="#FF0000"]@senha[/color]" ,conn);
           	



		cmd.Parameters.Add("[color=#FF0000]@usuario[/color]", SqlDbType.Text).Value = txtUsuario.Text;
		cmd.Parameters.Add("[color=#FF0000]@senha[/color]", SqlDbType.Text).Value = txtSenha.Text;

		int Cont = cmd.ExecuteNonQuery();



                if (Cont == 1)
                {
                    MessageBox.Show("OK");
                }
                else
                {

                    MessageBox.Show("Incorreto");
                }

            }
            catch (SqlException sqle)
            {

                MessageBox.Show("Falha ao efetuar a conexão. Erro: " + sqle);
            }
        }
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa vou tentar aqui cara, vi agora q voce postou hehehe], valeuuuuu

 

Ficaria desta forma? Pois ainda esta dando o erro!!!

Sou bem leigo em c# rs!!!

 

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;
using System.Collections;

namespace AdvocaciaOnlineV1._0
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // string de conexão

            string connString = @"Data Source=.\SQLEXPRESS;database=Banco;User Id=sqlserver;Password=senha;";
            // vamos criar a conexão
            SqlConnection conn = new SqlConnection(connString);

            // a conexão foi feita com sucesso?
            try
            {
                // abre a conexão
                conn.Open();
               // MessageBox.Show("A conexão foi efetuada com sucesso.");


                SqlCommand cmd = new SqlCommand("select * dbo.usuarios where Usuario=@usuario AND Senha=@senha", conn);
                cmd.Parameters.Add("@usuario", SqlDbType.Text).Value = txtUsuario.Text;
                cmd.Parameters.Add("@senha", SqlDbType.Text).Value = txtSenha.Text;

                int Cont = cmd.ExecuteNonQuery();


                if (Cont == 1)
                {
                    MessageBox.Show("OK");
                }
                else
                {

                    MessageBox.Show("Incorreto");
                }

            }
            catch (SqlException sqle)
            {

                MessageBox.Show("Falha ao efetuar a conexão. Erro: " + sqle);
            }
        }
    }
}

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.