C# - Cadastro Básico com TableAdapter usando os recursos RAD - II
Continuando a primeira parte do artigo vamos criar agora o formulário de login da aplicação. Ele deverá ser exibido tão logo a tela de apresentação seja encerrada.
Esta é a tela de apresentação:
No menu Project clique em Add Windows Form e altere o nome do formulário para frmLogin.cs clicando em Add;
Abra a janela Data Sources e arraste o data source Usuarios para o formulário;
Vamos excluir os objetos usuariosBindingNavigator , os TextBox para Id, login, email e senha conforme mostrado abaixo:
Em seguida a partir da ToolBox inclua os controles : PictureBox, Button no formulário conforme o leiaute da figura a seguir:
No formulário acima incluímos uma imagem na PictureBox na sua propriedade Image. A propriedade SizeMode deve ser igual a StretchImage;
E como vamos exibir este formulário após o encerramento da tela de apresentação ?
Teremos que alterar o código do Program.cs de forma que o formulário de frmLogin() seja executado quando a aplicação iniciar.
using System; using System.Windows.Forms; namespace Cadastro_Basico { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.DoEvents(); Application.Run(new frmLogin()); } } } |
E a tela de apresentação ????
Deixa eu explicar ....
Para mostrar a tela de apresentação eu defini o código conforme mostrado na parte 1 do artigo mas como eu quero exibir o formulário de login após a apresentação vou fazer o seguinte:
1- Eu inicio a aplicação chamando
o formulário de login
2- No seu evento Load eu crio uma instância do formulário
frmSplash() para exibir o formulário frmSplash()
3- Após executar o código no formulário frmSplash() eu libero
o recuso usado e escondo o formulário de apresentação, assim o
formulário de login surge triunfante...
Obs: Existem outras maneiras de obter o mesmo resultado mas creio que essa seja uma das mais fáceis de entender e implementar.
Vejamos o código para isso:
1- Evento Load do formuláro frmLogin:
private void frmLogin_Load(object sender, EventArgs e) { frmSplash f1 = new frmSplash(); //// Mostramos o formulario na forma modal. f1.ShowDialog(this); f1.Dispose(); } |
É tudo isso que precisamos para obter o resultado esperado.
Temos dois botões no formulário de Login : Sair e OK.
Encerrando a aplicação
O botão Sair encerra a aplicação e o código colocado no evento Click deste botão é bem simples:
private void btnSair_Click(object sender, EventArgs e) { Application.Exit(); } |
Este método pára todos os loops de mensagem em execução em todos os tópicos e fecha todas as janelas da aplicação.(Este método não força o aplicativo a sair. )
Autenticando o Usuário
No botão OK temos que efetuar a validação do usuário conferindo seu nome e senha.
Para verificar a senha e o nome do usuário temos que consultar o banco de dados usando o DataSet CadastroDataSet criado.
Para fazer isso temos que criar uma nova consulta no banco de dados para saber se o nome e a senha do usuário existem no banco de dados.
Clique duas vezes no em CadastroDataSet para exibir a janela contendo o DataSet:
Clique com o botão direito sobre UsuariosTableAdapter e a seguir clique em Add Query...
Marque a opção Use SQL Statements (ela já vem marcada) e clique em Next>;
Marque a opção SELECT which returns rows (também ja vem marcada) pois queremos retornar um resultado obtido e clique em Next>;
Defina a seguinte consulta SQL : SELECT id, login, senha FROM dbo.Usuarios WHERE ( login = @login AND senha= @senha)
Clique em Next>;
Informe o nome para a consulta criada conforme a figura abaixo:
Clique em Finish;
Pronto já criamos a consulta SQL para autenticar o usuário no banco de dados. Vamos ver como podemos usar a consulta no formulário de login.
Defina no formulário os seguintes namespaces:
using
System;
using System.Windows.Forms;
using Cadastro_Basico.CadastroDataSetTableAdapters;
No evento Click do botão OK vamos incluir o código abaixo:
private void btnOK_Click(object sender, EventArgs e) { int resultado = usuariosTableAdapter.FillByUsuarioLogin(cadastroDataSet.Usuarios, txtLogin.Text, txtSenha.Text); if (resultado == 1) { frmCadastro fc = new frmCadastro(); this.Hide(); fc.ShowDialog(); fc.Dispose(); } else { MessageBox.Show("Usuário/Senha inválido(s) !", "Erro Login", MessageBoxButtons.OK, MessageBoxIcon.Information); } } |
Vamos entender...
A linha de código:
int resultado = usuariosTableAdapter.FillByUsuarioLogin(cadastroDataSet.Usuarios, txtLogin.Text, txtSenha.Text);
Usa a consulta FillByUsuarioLogin que criamos no TableAdapter usuariosTableAdapter passando o DataSet e os valores para login e senha informados pelo usuário;
O resultado obtido será armazenada na variável resultado.
A seguir verificamos qual foi o resultado:
if
(resultado == 1)
{
frmCadastro fc = new frmCadastro();
this.Hide();
fc.ShowDialog();
fc.Dispose();
}
else
{
MessageBox.Show("Usuário/Senha
inválido(s) !", "Erro Login",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Se o resultado for igual a 1 significa que foi encontrado uma linha na tabela cujo nome e senha coincidem com o informado pelo usuário no formulário:
Neste caso criamos uma instância do formulário de cadastro frmCadastro, escondemos o formulário de login e exibimos o formulário principal da aplicação que é o formulário de cadastro; Se o resultado for diferente de 1 então exibimos uma mensagem ao usuário.
Criando o formulário de Cadastro
No menu Project clique em Add Windows Forms e informe o nome frmCadastro.cs.
A seguir a partir da ToolBox inclua um controle TabControl no formulário e inclua duas TabPages :
Ative a tabPage1 e inclua nela um controle Panel.
Agora a partir da janela Data Source defina o dataset Alunos como Details e altere o modo de exibição dos campos cursoid e sexo para Combobox;
A seguir arraste o DataSet para o interior do Panel na tabPage1(Cadastrar Alunos); Inclua também um controle PictureBox e um controle Button;
A seguir arraste o dataset Cursos a partir da janela Data Sources para a combobox relativa aos cursos no formulário;
Na janela de propriedades selecione a propriedade Items da combobox para sexo e defina os valores : M e F;
De forma que o leiaute da tabPage1 do formulário frmCadastro fique conforme a figura abaixo:
Ative a tabPage2 e na janela Data Sources altere o modo de exibição do dataset alunos para DataGridView e arraste-o para o interior da tabPage2(Consultar Alunos):
A seguir inclua um controle Label, um controle TextBox e um controle Button definindo o leiaute conforme a figura a seguir:
Dessa forma definimos a interface do formulário frmCadastro onde poderemos cadastrar , alterar e modificar os dados dos alunos bem como imprimir um relatórios das informações.
Aguarde a continuação onde definiremos o código do formulário frmCadastro para manutenção e consulta dos dados.
Acompanhe a terceira parte aqui: C# - Cadastro Básico com TableAdapter usando os recursos RAD - III
1Pedro 2:11
Amados, exorto-vos, como a peregrinos e forasteiros, que vos abstenhais das concupiscências da carne, as quais combatem contra a alma;Referências: