Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas me aparece key violation (https://www.clubdelphi.com/foros/showthread.php?t=26040)

zugazua2001 11-10-2005 18:33:59

Problemas me aparece key violation
 
Hola amigos del foro. Quiero saber lo siguiente, yo defini un modulo de datos en donde defini un table para cada tabla que utilizo junto con el dataSet.
Bien una misma tabla fisica, la puedo abrir desde tables diferentes, en muchas ocaciones utilizo la tabla CLIENTES como tabla master y otras tablas como slaves.
Bien al abrir cualquier ficha lo que hago es:
ModuloDatos.DatosClientes1.DataSet.Open;

y al cerrar lo mismo

ModuloDatos.DatosClientes1.DataSet.Close;

es correcto abrir y cerrar cada tabla una vez que abro y cierro un ficha.
Muchas veces me ha aparecido key violation a que se puede deber ?
Otras tantas me ha aparecido loocked tabla, como puedo evitar esto?

Bueno amigos del foro, me encuentro en una situacion complicada porque no le tengo NADA de confianza a mis bases de datos, y el lugar donde tengo que entregar el sistema es un gimnasio muy grande.

Bueno si alguien me da una mano les agradeceria infinitamente.
Mi version de Delphi es la 5 y las bases de datos que utilizo son Paradox.
Gracias por todo.

Lepe 11-10-2005 18:45:35

Si es Correcto.

Pero como todo, depende de como lo hagas, supongo que por "fichas" te refieres a una ventana (formulario), si tienes varios abiertos, y cierra uno de ellos, entonces se cierra la tabla, y los demás formularios se quedan sin acceso a la tabla.

Lo que suele hacerse, es que la tabla que se usa en una sola ventana, se pone directamente sobre el Form, y se abre y cierra junto con éste. Sin embargo, para tablas comunes, se puede usar siempre la del modulo de datos. Para no complicar el diseño, puedes mantener abiertas estas tablas; o bien, crear un contador de Apertura / cierres en el datamodule para cada tabla, con el fin de que no suceda lo comentado en el párrafo anterior.

saludos

zugazua2001 11-10-2005 19:43:31

otra pregunta, sobre lo mismo
 
Hola, te queria preguntar como deslockeo las tablas lockeadas de mi bases de datos. Porque se me tilda la aplicacion ya no puedo acceder a la informacion que tenia. Me aparece key violation.
Me fijo desde el database desktop y mis tablas estan, cuando intento modificar o agregar un registro me aparece "the record is already lookead" o key violation.
Como puedo hacer para deslockear estas tablas.
Muchas gracias por todo

Cita:

Empezado por Lepe
Si es Correcto.

Pero como todo, depende de como lo hagas, supongo que por "fichas" te refieres a una ventana (formulario), si tienes varios abiertos, y cierra uno de ellos, entonces se cierra la tabla, y los demás formularios se quedan sin acceso a la tabla.

Lo que suele hacerse, es que la tabla que se usa en una sola ventana, se pone directamente sobre el Form, y se abre y cierra junto con éste. Sin embargo, para tablas comunes, se puede usar siempre la del modulo de datos. Para no complicar el diseño, puedes mantener abiertas estas tablas; o bien, crear un contador de Apertura / cierres en el datamodule para cada tabla, con el fin de que no suceda lo comentado en el párrafo anterior.

saludos


ContraVeneno 11-10-2005 21:42:43

el key violation aparece cuando quieres grabar y hay un conflicto de llaves iguales. trata de hacer un update en lugar de un insert.

Lepe 12-10-2005 13:03:32

busca en el foro por "ekeyviol", es un tema ya tratado ampliamente.

Tambien debes buscar por "Paradox", hay muchísimo comentado en el foro. Ya sé que tienes prisas, pero tus errores no se pueden solventar con una linea de código, sino con conocimientos y buen temple.

A la izquierda de la web, tienes la sección Columnas y dentro de ella, "Paradox en red"; no comentas si tu aplicación es en red o no, pero creo recordad de otro hilo que sí.

Busca por "netfiledir" es otro tema ampliamente tratado y causa muchos fallos, aquí tienes un hilo de tantos, que me parece interesante, revisalo y máscalo despacio.

buscando por "session paradox" tambien tendrás resultados, y es algo muy importante, si la session no se configura correctamente, el sistema empieza a fallar por todos lados.

saludos


La franja horaria es GMT +2. Ahora son las 23:22:42.

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