Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   como validar el ingreso de datos en una BD??? (https://www.clubdelphi.com/foros/showthread.php?t=73770)

ezequiel913 16-05-2011 03:12:11

como validar el ingreso de datos en una BD???
 
hola gente!!!
los molesto por 2 preguntas:

1ra:

estoy haciendo un ABM en delphi 7 y quiero saber como validar para que no ingrese un codigo que ya existe en la base de datos, este codigo lo uso como clave principal. tengo una tabla localidades que tiene los atributos codigo postal, localidad y provincia, entonces quiero validar que no ingrese un codigo postal que ya existe en la base de datos,

el codigo de ingreso de datos en delphi es este:

ADOCn.Open;

CP:= EditPostal.Text;
LOCALIDAD:= (AnsiUppercase (EditLocal.Text));
PROVINCIA:= EditProv.Text;

ADOCn.BeginTrans;
ADOCn.Execute('INSERT INTO DBO.Localidades values(' +chr(39)+CP+chr(39)+','+chr(39)+LOCALIDAD+chr(39)+','+chr(39)+PROVINCIA+chr(39)+')');
ADOCn.CommitTrans;

osea se que lo tengo que hacer antes del INSERT pero nose como se hace.

2da:

la otra pregunta es como hago para que antes de ingresar los datos en la base de datos le pregunte a la persona si esta seguro de guardar los datos, y que le de la posibilidad de ACEPTAR y CANCELAR. osea como una ventanita emergente que pregunte si esta seguro de guardar los datos.

bue eso es todo. seria de gran ayuda si me responden estas 2 preguntas.

saludos!!!

oscarac 16-05-2011 03:22:03

buenas noches
dale una revisadita a OnValidate en los campos de la tabla
ahi podrias crear una rutina que te verifique si el campo ingresdo existe o no

yo hago mas o menos asi

tengo un DataModulo donde tengo querys para verificar la existencia o no de determinados registros

entonces en el OnValidate hago mas o menos asi

Código Delphi [-]
 
procedure TfrmCatalogoHorario.qryHorarioTIPOValidate(Sender: TField);
begin
  dmComedor.qryVerificaKodHorario.Parameters.ParamByName('Kod').Value := Sender.Value;
  dmComedor.qryVerificaKodHorario.Open;
  if not dmComedor.qryVerificaKodHorario.IsEmpty then
  begin
    MessageDlg('Código ya creado', mtError, [mbAbort], 0);
    dmComedor.qryVerificaKodHorario.Close;
    Abort;
  end;
  dmComedor.qryVerificaKodHorario.Close;
end;

y en el datamodulo hay algo parecido a esto

Código Delphi [-]
 
Select *
from TblHorario
where Tipo like :Kod

espero te sirva
saludos

oscarac 16-05-2011 03:23:30

P.D.
seria bueno que menciones tambien que Motor de base de datos estas utilizando

ezequiel913 16-05-2011 21:13:13

el Motor de Base de Datos que uso es SQL SERVER 2000. ah y la rutina que me pasaste la voy a probar. salugos, gracias!!!

Casimiro Notevi 16-05-2011 22:16:57

Bienvenido a clubdelphi, ezequiel913, por favor, no olvides leer nuestra guía de estilo, muchas gracias por tu colaboración.


La franja horaria es GMT +2. Ahora son las 03:35:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi