ADO.
Net entrada e validação de dados
Nome: Cristiano Pedro Classe: 11 Periodo: Manhã Curso: Informática
Introdução
Este trabalho explora a entrada e validação de dados com ADO.NET, componentes
cruciais para garantir a integridade, segurança e qualidade das informações em aplicações
com bases de dados. A validação previne erros e ataques, como a injeção de SQL.
Interface
A interface de utilizador, onde os dados são inseridos, deve ser clara e intuitiva. Poderíamos
ter campos como caixas de texto para nome e email, um seletor de data para nascimento,
botões de rádio para género e um botão "Salvar". Uma etiqueta para mensagens de erro é
essencial para feedback ao utilizador.
Resumo
A validação de dados em ADO.NET pode ser feita em várias camadas:
1. Interface (Cliente): Para verificações básicas e feedback imediato (ex: campos
obrigatórios, formato de email).
2. Lógica de Negócio (Servidor): Para validações complexas e regras de negócio (ex:
unicidade de email).
3. Base de Dados (Servidor): Como última linha de defesa, com restrições como
chaves primárias e NOT NULL.
O ADO.NET, através de classes como SqlConnection e SqlCommand, permite a inserção segura
de dados usando parâmetros parametrizados, prevenindo a injeção de SQL.
Demonstração Prática (Conceitual)
Imagine uma aplicação de registo de clientes em C# WinForms, com uma tabela Clientes no
SQL Server.
Fluxo:
1. Interface: O utilizador preenche campos como Nome, Email e Data de Nascimento.
2. Validação na Interface: O código verifica se os campos obrigatórios estão
preenchidos e se o email tem um formato básico válido.
3. Validação de Negócio (Exemplo de Email Único): Antes de salvar, o sistema
verifica se o email já existe na base de dados.
4. Persistência com ADO.NET: Se todas as validações passarem, o ADO.NET insere os
dados na tabela Clientes usando um comando INSERT. Parâmetros são usados para
garantir a segurança da operação e evitar SQL Injection.
5. Feedback: Mensagens de sucesso ou erro são exibidas ao utilizador.
Exemplo Simplificado de Código (C# - pseudocódigo):
C#
// No evento do botão Salvar:
// 1. Validação de campos obrigatórios (interface)
if (string.IsNullOrWhiteSpace(txtNome.Text) || string.IsNullOrWhiteSpace(txtEmail.Text)) {
lblMensagemErro.Text = "Nome e Email são obrigatórios.";
return;
}
// 2. Validação de unicidade de Email (simulando lógica de negócio)
if (EmailJaExiste(txtEmail.Text)) {
lblMensagemErro.Text = "Este email já está registado.";
return;
}
// 3. Inserir na base de dados com ADO.NET (parte da DAL)
try {
using (SqlConnection conn = new SqlConnection("SuaStringDeConexao")) {
conn.Open();
string query = "INSERT INTO Clientes (Nome, Email) VALUES (@Nome, @Email)";
using (SqlCommand cmd = new SqlCommand(query, conn)) {
cmd.Parameters.AddWithValue("@Nome", txtNome.Text);
cmd.Parameters.AddWithValue("@Email", txtEmail.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Cliente salvo com sucesso!");
}
}
} catch (Exception ex) {
lblMensagemErro.Text = "Erro ao salvar: " + ex.Message;
}
Este esquema garante que os dados inseridos são corretos e seguros, desde a interface até a
base de dados.