![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola
Quiero aportar mi experiencia con campos autoincrementales. En una aplicación usada simultaneamente por ocho PC, donde todas leen y escriben en la misma base de datos puesta en una de las PC, uso este tipo de campos en todas las tablas y no he tenido problemas (hasta ahora gracias a Dios). He sentido críticas sobre Paradox y algunas las comparto, pero sobre los campos autoincrementales no. |
|
#2
|
||||
|
||||
|
Yo lo digo por mi propia experiencia, al principio los cree, pero por el poco control que tenia sobre ellos no me quedo otra que no usarlos, la mayoria de las fallas eran de diseño pero me encontre en un dilema, o cambiar el diseño o cambiar el tipo de campo, asi que opte por un campo que pudiera controlar
![]()
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
|
#3
|
|||
|
|||
|
Hola,
Muchas gracias por los comentarios, el campo Autoincremental ya lo he utilizado en otras tablas, pero para el proceso que estoy haciendo no me es funcional, ya que puede haber dos renglones o mas de mi tabla con el mismo id que viendo lo bien talvez ya no es tan correcto llamarlo id, pues se repite Una duda Eduardo, cuando en tip que me diste mencionas: Paso 2) Asignar el correlativo. Significa que debo hacer a) Insertarlo en la tabla en la que voy a guardar los datos?? b) asignarlo a una variable, que utilizaría posteriormente en el Insert?? Disculpa mi ignorancia, pero ahí no me queda claro que hacer Buen día Chicos Ana ![]()
__________________
Ana |
|
#4
|
||||
|
||||
|
Pues como dices que varios registros deben llevar ese campo lo deberias colocar en una variable y leerlo desde alli, porq si lo lees desde donde lo tienes guardado de nuevo no te va a servir porq ya estaria incrementado
La mejor solucion es antes de Darle el post, leerlo asignarlo a los distintos registros e incrementarlo Espero me entiendas ![]()
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
|
#5
|
|||
|
|||
|
Campos Autoincrementables en Paradox
Hola!,
El problema presentado es más frecuente de lo que parece!. Yo mismo lo he sufrido en mis carnes en una aplicación realizada en Delphi con Paradox 7 que corre en red, tardo dos años en corromper los indices, pero al final lo hizo, que nadie se confie!!. Utilizaba un campo <codigo> como clave primaria autoincrementable y en cierto momento aperecio el mensaje "key violation", la solución es utilizar como clave primaria un campo gestionado por uno mismo y aumentarlo antes del BeforePost en una tabla a parte..., esto ya lo han explicado claramente en los mensajes previos. Si alguien tiene ese problema y tiene el campo enlazado con otras bases de datos y por tanto quiere conservar el indice para no destruir la integridad referencial, puede añadir un nuevo campo indice a la tabla de tipo Long Integer con el programa Database Desktop y ejecutar la siguiente consulta SQL: UPDATE tabla_La_que_sea SET Nuevo_Indice = Codigo (el que estaba corrupto). Después evidentemente habra que cambiar el codigo fuente para utilizar el nuevo indice, gestionado esta vez por nosotros mismos. Mi consejo es que nadie utilice campos autoincrementables en paradox si no quiere tener un disgusto cuando menos los espere!!!. Silvestre. |
|
#6
|
||||
|
||||
|
Ignacio esto se debe a la forma de trabajar en esa "empresa", basta con que dos usuario se pongan a crear albaranes a la misma vez para que te salte el error de clave duplicada.
Es mas simple de lo que parece. Usuario A da a Insertar un registro, en este punto Usuario B hace lo mismo (como el A todavía no ha guardado, el albaran de B tendrá el mismo número que el de A); En este momento el segundo que le dé a guardar obtiene el precioso mensaje de Clave Duplicada. Si se opta porque al insertar un registro, se haga un post automático; en el ejemplo anterior no habría problemas, salvo que el usuario A cambie de parecer y anule el albaran, en este caso, se produce un salto, ya no son correlativos. Solución: La del primer mensaje propuesto por Anabel y repetir el proceso en el evento BeforePost. (para arreglar todo lo dicho en este mensaje). Por supuesto, la óptima solución es usar una verdadera BBDD cliente-servidor como Firebird. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#7
|
||||
|
||||
Y ya podemos usar nuestra rutina para todas las tablas que queramos. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#8
|
||||
|
||||
|
Cita:
Cita:
// Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|