Bom Dia Pessoal!
Estaremos desenvolvendo agora a Tela de Login e vai arrebentar.
Tela de Login
Clique no formulário frmLogin.cs e mude as propriedades a seguir:
Propriedade | Valores |
Name | frmLogin |
FormBorderStyle | FixedSingle |
Icon | Selecione o icone |
MaximizeBox | False |
MinimizeBox | False |
Size | 458; 229 |
StartPosition | CenterScreen |
Text | Tela de Login |
Clique na Paleta ToolBox > Common Controls > PictureBox e mude as propriedades a seguir:
Propriedade | Valores |
Name | bannerTelaLogin |
Image | Selecione a imagem |
Location | 0;0 |
Size | 458; 87 |
Devera ficar assim o bannerTelaLogin:
Clique na paleta ToolBox > Containers> GroupBox e mude as propriedades:
Propriedade | Valor |
Location | 37; 93 |
Size | 377; 160 |
Text | Insira o Login: |
Devera ficar assim:
Na Paleta Data Sources(SHIFT + Alt + D) clique no sinal +:
Observe que os campos estão com o tipo TextBox, precisamos mudar os campos usuário e nivelAcesso para ComboBox da seguinte forma:
Selecione o campo usuário clique na seta para baixo e selecione ComboBox, faça isso com o campo nivelAcesso:
Observe que mudou as imagens dos campos:
Arraste os campos (usuário, nivelAcesso e senha) para a GroupBox e adicione dois botões embaixo deles:
Observe que ele inseriu automaticamente uma barra e os componentes dela, remova todos.
Mude os names dos botões para btnConectar e btnSair com os textos Conectar e Sair:
A ComboBox usuário (usuarioComboBox) fica responsável por mostrar todos os usuários cadastrados no sistema para fazer isso segue o passo a passo:
Clique apenas uma vez no campo > Clique na seta superior a direita que ira aparecer > Marque a opção “Use data bound items” como na imagem:
No Display Member > Selecione o que será visto pelo Usuário que é a coluna usuário. Como na imagem:
No Value Display > Selecione a coluna que equivale ao Display Member. Como na imagem:
Modifique as propriedades a seguir:
Propriedades | Valores |
AutoCompleteSOurce | ListItems |
DropDownStyle | DropDownList |
Size | 121; 21 |
Na ComboBox Nível de Acesso clique uma vez > Clique na seta > Edit Items >
Deixe a primeira Linha vazia e digite Administrador e Operador em cada linha. Como na imagem:
Modifique as propriedades da ComBoBox nivelAcesso a seguir:
Propriedades | Valores |
AutoCompleteSOurce | ListItems |
DropDownStyle | DropDownList |
Size | 121; 21 |
Na TextBox Senha modifique as propriedades a seguir:
Propriedades | Valores |
PasswordChar | ● |
Clique duas vezes no botão Sair e digite o código a seguir:
Application.Exit() //Para Fechar Toda a Aplicação
No topo da pagina digite o namespace a seguir:
using System.Data.SqlClient; //Classe Responsável pela Conexão com o SQL Server
Declare duas variáveis depois do public partial class frmLogin : Form
{
//Responsavel pelo Nivel de Acesso
public static string NivelAcesso;
//Responsavel por mostrar quem esta conectado no sistema
public static string usuarioConectado;
Como na imagem:
Volte para o Desing(F7), clique duas vezes no botão Conectar e digite o código:
try { //Verificar ser os campos estão preenchidos if ((usuarioComboBox.Text != "") && (nivelAcessoComboBox.Text != "") && (senhaTextBox.Text != "")) { //Responsavel pelo Comando Sql SqlCommand comm = new SqlCommand("Select * From tbUsuario Where usuario = @usuario and " + "senha = @senha and nivelAcesso=@nivel", conn); //Parametizar os codigos comm.Parameters.Add("@usuario", SqlDbType.VarChar).Value = usuarioComboBox.Text; comm.Parameters.Add("@senha", SqlDbType.VarChar).Value = senhaTextBox.Text; comm.Parameters.Add("@nivel", SqlDbType.VarChar).Value = nivelAcessoComboBox.Text; //Abre a conexão conn.Open(); SqlDataReader reader = null; //lê as linhas de uma base de dados SQL Server reader = comm.ExecuteReader(); //Se tiver coisa pra lê faça: if (reader.Read()) { //Variaveil usuarioConectado recebe campo usuarioComboBox.Text usuarioConectado = usuarioComboBox.Text; //Variavei nivelAcesso recebe o campo nivelAcessoComboBox.Text NivelAcesso = nivelAcessoComboBox.Text; //Declara a variavel que recebe o formulario frmTelaPrinciapal frmTelaPrincipal p = new frmTelaPrincipal(); //Esconde o formulario Tela de Login this.Hide(); //Mostrar o formulario frmTelaPrinciapl p.Show(); } else { MessageBox.Show("Usuário e/ou senha incorretas", "Aviso de Segurança", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("Todos os Campos são obrigatórios", "Aviso de Segurança", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { //Gerar a exceção MessageBox.Show(ex.Message); } finally { //Finalizar tarefa conn.Close(); } |
Insira no evento Load do Fomulario frmLogin o código a seguir:
//Limpar a ComboBox usuarioComboBox.SelectedIndex = -1; |
Entre no event (Ícone do Raio) do Formulario Tela de Login e clique na propriedade FormClosed e adicione o código a seguir:
Application.Exit(); |
By: Natanael
conn.Open(); e conn.Close(); está dando erro no visual studio 2010
ResponderExcluirDeclare o SqlConnection.
ResponderExcluirBoa Tarde,
ResponderExcluirquando eu inicialiso o programa, o campo usuarioComboBox não aparece o Usuario Cadastrados, já fiz o procedimento que foi descrito acima.?
Tem algum usuário cadastrado no sistema?
ResponderExcluirBy Natanael.
sim eu entrei no banco de dados e add manualmente.
ResponderExcluirvc falou para para a combobox user para ela recebe os nomes no banco de dados?
ResponderExcluirBy Natanael.
tenho quase certesa que não.
ResponderExcluirmais como faço?
por gentileza.
Hey natan ótimo tutorial... mas velho só uma duvida: na parte do login, quando eu escolho o usuario e digito a senha ta funfando beleza. Porém para se logar eu tenho que clicar no botão. Como eu faria para ao digitar a senha e apertar enter ele já entrar direto? abraço!
ResponderExcluirNo evento(icone do raio) da textbox(senha) clique na proprieade KeyDown e insira o código a seguir>
ResponderExcluirif(e.KeyCode == Keys.Enter)
{
//Nesta parte insira o evento do botao
exemplo
btnconectar.Click(sender,e);
}
By: Natanael
hmm rapaz eu fiz desta forma:
ResponderExcluirNo evento "click" do textBox senha eu adicionei:
this.AcceptButton = nomeDoBotao;
Funfou legal. Fica a dica pro pessoal.
Opa. Blz
ResponderExcluirBy Natanael
Este comentário foi removido pelo autor.
ResponderExcluirEi Natanael estou fazendo este formulario de Ordem de Serviço.
ResponderExcluirMas da um error assim:
conn.Open(); e conn.Close(); está dando erro no visual studio 2010
Eu sei que tenho que delarar o SqlConnection mas como é esse codigo.
Me ajude.
Não precisa mais eu já aprendi.
ResponderExcluirBom dia natanael
ResponderExcluirEstou com problemas ao inserir o código
frmTelaPrincipal p = new frmTelaPrincipal();
Eu criei o frmTelaPrincipal com este nome dentro da pasta formularios, mais quando começo a digitar o comando pra chamada do formulario ele não aparece na lista.
Por favor de uma força ai.
frmTelaPrincipal p = new formularios.frmTelaPrincipal();
ResponderExcluirve se isso resolve
Assim
ResponderExcluirformularios.frmTelaPrincipal p = new formularios.frmTelaPrincipal();
Bom dia Natanael,
ResponderExcluircomo faço para delarar o SqlConnection?
grata
Primeiro declara o namespace
ResponderExcluirusing System.Data.SqlClient
depois como ser fosse uma variavel
SqlConnection nomeConexao = new SqlConnection(String de Conexao);
exemplo
SqlConnection cnn = new SqlConnection(Properties.Settings.DBConexao);
Espero ter ajudador
Eu nao consegui
ExcluirAjudou sim. Obrigada
ResponderExcluirBoa tarde consegue me passar o codigo fonte do programa ou o programa em si?
ExcluirBoa tarde, cara muito legal sua iniciativa, sou iniciante, fiz todo o tutorial, o sistema executa a tela de login mas não aparece os usuários que estão cadastros (add manualmente sql) no combo box, se tiver alguma idéia, me informa ae, vlw. Reuben.
ResponderExcluirBoa Reuben, Seja bem vindo ao blog ns tutoriais. Os dados que voce cadastrou não apareceu pq vc esta no ambiente de desenvolvimento ou seja, esta desenvolvendo, para vc ir ao ambiente de produção, ou seja, o ambiente real, clique no executavel do sistema que vc criou, geralmente ficar na pasta debug/nomeSistema.exe
ResponderExcluirBoa tarde,
ResponderExcluirestou fazendo o tutorial com a unica diferença é que estou usando Oralce 11g. Acontece que quando coloco o login e senha aparece o erro: ORA-000936: expressão não encontrada.
Abaixo segue trechos do código de conexão e comando SQL...
// String de conexão
OracleConnection conn = new OracleConnection (Properties.Settings.Default.ConnectionStringOrdemServico);
// responsavel pelo comando SQL
OracleCommand comm = new OracleCommand("select * from tbusuario where usuario = :usuario and,"+" senha = :senha and"+" nivelAcesso = :nivel", conn);
// parametrizar os codigos
comm.Parameters.Add("usuario", OracleType.VarChar).Value = uSUARIOComboBox.Text;
comm.Parameters.Add("senha", OracleType.VarChar).Value = sENHATextBox.Text;
comm.Parameters.Add("nivel", OracleType.VarChar).Value = nIVELACESSOComboBox.Text;
this.tBUSUARIOTableAdapter.Fill(this.dataSetOrdemServico.TBUSUARIO);
poderia me ajudar a entender o que está ocorrendo?
Bom dia Natanael !
ResponderExcluirNão consigo achar este caminho descrito abaico
Entre no event (Ícone do Raio) do Formulario Tela de Login e clique na propriedade FormClosed e adicione o código a seguir:
Application.Exit();
Clique no form principal, no lado inferior clique no evento(uma imagem de raio) clique duas vezes na propriedade FormClosed e insira o codigo a seguir:
ResponderExcluirApplication.Exit();
Da erro ao inserir esse comando!
ExcluirNatanael, declarei o SqlConnection mas o conn e o tableAdapterManager
ResponderExcluirestão dando erro
Boa tarde Natael, gostaria de agradecer pela força no desenvolvimento deste tutorial, estou acompanhando so que não tenho imagens e icones na minha maquina para adicionar a aplicação, você poderia me indicar um site, onde posso baixa-las?
ResponderExcluirMuito obrigado Cesar! olha eu geralmente pesquiso no google imagens. Faço da seguinte forma quero uma imagem que representa um cliente então pesquiso cliente.png e logo embaixo no lado esquerdo dimensiono em 16x16, dependo do que eu quero. A segunda coisa que faço e baixar em pacote de formato png, nesse site tem vários pacotes: http://www.iconspedia.com/
ResponderExcluirEspero ter ajudado.
Boa Noite Cesar!
Este comentário foi removido pelo autor.
ResponderExcluirPara resolver o problema do conn
ResponderExcluirinsira
SqlConnection conn = new SqlConnection(Properties.Settings.Default.ServicoConnectionString);
E ai natanael
ResponderExcluirestou com um problema, qdo executo a aplicação, aparece um erro no seguiinte trecho
private void frmLogin_Load(object sender, EventArgs e)
{
//Limpar a ComboBox
usuarioComboBox.SelectedIndex = -1;
// TODO: This line of code loads data into the 'servicosDataSet.tbUsuario' table. You can move, or remove it, as needed.
this.tbUsuarioTableAdapter.Fill(this.servicosDataSet.tbUsuario);
}
mais precisamente na linha this.tbUsuarioTableAdapter.Fill(this.servicosDataSet.tbUsuario);
meu banco chama servicos e o DataSet ServicosDataSet
como resolvo este problema
Att,
Qual e o nome do erro?
ResponderExcluirNatanael, descartei este projeto, troquei o banco de dados, e estou modificando nos formularios, ai vou ver se continua dando erro nesta linha.
ResponderExcluiro erro falava que nao poderia ter um valor nulo no banco de dados.
Desde ja Grato pela atenção.
Boa tarde Natanael!
ResponderExcluirSou iniciante em SQL e C# porem estou com uma certa dificuldade na conexão, o que esta ocorrendo com o a tela de login é que ela não esta entrando no IF do READER que chama o Formulario principal, alem disso quando dou START na Aplicação na tela de login os campos ComboBox ja vem preenchido com o nome do usuario, nivel de serviço e senha e não dá a opção de escolher os outros usuarios cadastrados com login e senha, como posso solucionar esse problema?
estou enroscado na tela de login, fiz tudo certinho como mostra o tutorial, e tambem adicionei um usuario manualmente no sql server 2008 porem quando eu debugo o app não me trás nenhum usuario na combobox usuario, o que mais devo fazer ?
ResponderExcluirKrystian Ludwing, também estou com esse mesmo problema, alguem sabe como resolver? :(
ResponderExcluirBoa tarde Natanael!
ResponderExcluirSou iniciante em programação e gostei muito do seu trabalho !!
Nesse sistema de controle de usuário fico muito legal
e gostaria de sua ajuda se for possível, gostaria de fazer o login com o email do usuário e na tela de principal mostrar o nome do usuário, porem estou com essa dificuldade para fazer, poderia me ajudar!?
Gostaria de fazer também para mostar qual foi a ultimo login feito pelo usuário.
Desde ja agradeço.
meu email é claudio.petez@terra.com.br
Boa Noite, Natanael!
ResponderExcluirEstou com um erro nesse código da tela de login:
private void tbUsuarioBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.tbUsuarioBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.servicoDataSet); (está linha está com erro.)
}
Apresenta a seguinte mensagem: Erro 1 'SISistema.frmLogin' não contém uma definição para 'tableAdapterManager' e nenhum método de extensão 'tableAdapterManager' aceita que um primeiro argumento de tipo 'SISistema.frmLogin' seja encontrado (você não está usando uma diretriz ou referência de assembly?)
Se eu comentar a linha o sistema é executado normalmente,
Eu gostaria de saber como solucionar esse erro.
Desde já agradeço!
Bom dia,
ResponderExcluirEstou tendo problemas com o ComboBox do Usuário, fiz insert no BD manualmente, dei as devidas permissões de acesso, porem ele não está listando nem na plataforma de desenvolvedor e nem na plataforma de produção (.exe).
Pode dar uma ajuda ?
No aguardo,
Obrigado.
to fazendo esse tutorial só que fica dando erro na parte this.tableAdapterManager.UpdateAll(this.servicoDataSet);
ResponderExcluirlogo no inicio do form login e não sei como corrigi-lo gostaria de sua ajuda.
Olá,
ResponderExcluirParabéns pelo tutorial e pelo blog Natanael, realmente com bom conteúdo,
estou com o mesmo problema comentado pelo amigo acima"this.tableAdapterManager.UpdateAll(this.servicoDataSet);", nesta linha é apresentado um erro de conexão, poderia me ajudar?
Boa tarde o sistema parecer ser bom mas seguimos o seu tutorial e encontramos muitos erros e estranho que copiamos e colamos de acordo com que você auxilia, e quando perguntamos sobre o erro as vezes não nos respondem seria ideal fazer tutorial em (videos) de cada passo do que em pdf amigo...Abraços
ResponderExcluir