Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-07-2007
tenporal tenporal is offline
Miembro
 
Registrado: may 2007
Posts: 28
Poder: 0
tenporal Va por buen camino
Mas opciones para buscar

Gracias por responder a este hilo, mas que nada el codigo que coloque al inicio del hilo, era para conocer si habia mas formas de validar cuando se esta insertando en una tabla que tiene un indice primario y que muestra la informacion en un campo dbedit, ya que si se trata de agregar una clave que ya existe en la tabla, manda un mensaje de error.

Caral, a lo mejor no me explique bien cuando puse codigo, se supone que tienes un boton para agregar un nuevo registro, pero antes de darle el
Código Delphi [-]
 adotable1.insert
Ya que inserta un registro en blanco y luego manda el error de excepcion, por eso debo verificar antes en la tabla si no existe una clave igual que la que se quiere introducir en ese momento, lo que se dice validar la insercion.

En alguna parte vi que se podia utilizar la funcion SEEK, pero no se como se utiliza en delphi con los ADOTABLE.

De antemano gracias por su ayuda.
Responder Con Cita
  #2  
Antiguo 18-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si quieres verificar la existencia de una clave antes de la inserción, quizá lo más adecuado sería una consulta SQL del estilo:

Código SQL [-]
select count(clave) from tabla
where clave = clave_a_buscar

y examinar si el valor del registro que te regresa es mayor que cero. Por otra parte, quizá quieras considerar que el error que obtienes no es "malo", a fin de cuentas es otra manera de verificar lo mismo, sólo que lo hace a posteriori.

Como lo propones es:

Código:
IF ExisteRegistro THEN
  MuestraError
ELSE
  InsertaRegistro
De la otra forma es:

Código:
InsertaRegistro;
IF RegistroDuplicado THEN
  MuestraError;
O sea, virtualmente es lo mismo, lo que cambia es el momento en que se controla el error. Además, en este caso, quien hace la verificación es el servidor, y normalmente será más eficiente.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
SQL utilizando parametros gaps2k SQL 5 28-05-2007 20:31:35
Utilizando el locate alcides Varios 2 06-09-2006 23:41:22
Error utilizando DataSet Coco_jac Conexión con bases de datos 2 13-04-2006 00:12:35
Utilizando un Actionlist Carlos Arevalo OOP 5 13-09-2003 22:14:56
Utilizando InstallShield... apunto Conexión con bases de datos 1 29-05-2003 22:46:33


La franja horaria es GMT +2. Ahora son las 11:12:45.


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
Copyright 1996-2007 Club Delphi