Normalmente temos um formulário HTML que chama um programinha (o exemplo está em PHP ) que faz a validação dos dados e, caso esteja tudo de acordo, faz a inclusão no banco de dados.
Com a função abaixo, podemos fazer essa validação utilizando o erro que o banco de dados retorna. Após, faremos a tradução do mesmo e exibiremos para o usuário.
<?php
function ExibirMensagemBanco($erro)
{
if (strchr($erro, "invalid input syntax")) {
$varerro = "Preencha os campos com o tipo de dado correto!";
}
if (strchr($erro, "invalid input syntax for type date")) {
$varerro = "Preencha a data corretamente com '/'";
}
if (strchr($erro, "duplicate key violates")) {
$varerro = "Violação da chave primária!";
}
if (strchr($erro, "value too long")) {
$varerro = "Campo excedeu o tamanho limite!";
}
if (strchr($erro, "violates foreign key constraint")) {
$varerro = "Violação de chave estrangeira";
}
if (!$varerro) {
$varerro = "Ocorreu um erro! Tente novamente!";
}
// o conteúdo da variável $varerro fica a cargo
// do desenvolvedor. Cada um deve transmitir a
// mensagem da forma mais simples para o usuário
return $varerro;
}
?>
|
Podemos utilizar essa função da seguinte forma, usando a biblioteca ADODB nesse caso:
<?php
$conn = &ADONewConnection('mysql');
$conn->Connect("servidor", "usuario", "senha", "basededados");
$query = "INSERT INTO nometabela (campo1, campo2) VALUES ('$campo1', '$campo2')";
$exec = $conn->Execute($query);
if ($conn->ErrorMsg()) {
echo ExibirMensagemBanco($conn->ErrorMsg());
} else {
echo "incluiu com sucesso";
}
?>
|
Bom, essa é somente mais uma forma de validar dados.
Espero ter ajudado,
Henrique Castanon
|