PDA

Ver la Versión Completa : Porque no me deja modificar?


judoboy
09-05-2003, 16:17:13
Pues, eso tengo una tabla donde la clave primaria es de tipo varchar.

Y me pasa lo siguiente, si creo registros donde la clave primaria son solo números. Todo funciona correctamente.

Ahora cuando creo registros donde la clave primaria, esta compuesta solo por caracteres alfabéticos, cuando quiero modificar ese registro me muestra el siguiente mensaje.

Record/Key Deleted

Sin embargo si cojo la misma clave primaria pero por ejemplo le introduzco un número al principio, ya no me da error.

¿Por que pasa esto?

¿Como se puede solucionar?

kinobi
09-05-2003, 19:11:15
Hola,

Posteado originalmente por judoboy
¿Por que pasa esto?
¿Como se puede solucionar?

Ayudaría conocer:

1. Declaración de la tabla. Especialmente la de las columnas que forman parte de la clave primaria, y la misma declaración PRIMARY KEY.

2. Si existen triggers (BEFORE o AFTER INSERT) que "toquen" la clave primaria.

3. Bajo que condiciones se produce: ¿utilizando componentes de acceso (tipo BDE, IBX, DBX, ...) o enviando directamente una sentencia (SQL) INSERT ... al servidor?.

Saludos.

judoboy
10-05-2003, 01:10:37
1. la PRIMARY KEY esta formado por un único campo que CODIGO de tipo VARCHAR(30).

2.No existen triggers.

3.Utilizo componentes BDE. Y me da el error cuando quiero modificar haciendo un Edit de la tabla
Table.Edit>> Fallo

kinobi
10-05-2003, 11:04:07
Hola,

pues no parece que haya nada extraño. Sólo se me ocurre que tal vez pueda ser un bug de tu versión del BDE. Yo probaría una actualización del BDE, sobre todo para descartar posibilidades. La página de actualizaciones es ...

http://info.borland.com/devsupport/bde/bdeupdate.html

Saludos.

judoboy
13-05-2003, 08:36:43
Me he bajado la última versión del BDE y sigue pasando lo mismo

Angel
13-05-2003, 09:38:07
No sé si tendrá algo que ver, pero comprueba como tienes el collate y el charset, y prueba a ponerlos a NONE los dos

judoboy
13-05-2003, 11:31:03
Comorl?

No se que quieres decirme :confused: El charset he visto que es una propiedad de FONT pero no tiene valor NONE, ahora esta en Default_CharSet.

Y el Collate ni p*** idea.

kinobi
13-05-2003, 12:24:00
Hola,

el mensaje "Record/Key Deleted" lo genera el BDE, no el servidor InterBase, y se produce cuando el conjunto de datos que mantiene el DataSet no coincide con la información real que almacena la base de datos; de ahí que avise que o bien el registro ha sido eliminado en la base de datos, o la clave principal ha sido cambiada y por tanto no tiene forma (el DataSet) de volver a localizar el registro para aplicar los cambios.

Si, como comentas, no hay triggers que modifiquen la clave principal una vez que se "postea" el registro (o que eliminen el mismo), el problema está en el lado cliente ... ¿algún evento AfterPost quizas?, ¿algún evento OnCalcFields? ... :?

Saludos.

judoboy
13-05-2003, 13:11:32
Nada absolutamente, despues del Post no se genera nada, que yo sepa.

Y como te comentaba, si pongo primero un dígito no hay problema.

¿Qué cosas más raras?

kinobi
13-05-2003, 22:26:10
Hola,

por descartar opciones: si haces un INSERT o UPDATE desde ISQL o IBCONSOLE (o similares), ¿tienes algún problema?.

Saludos.

judoboy
14-05-2003, 12:32:26
Ahora esto si que es raro, he entrado 4 veces desde a la aplicación y he probado y una ha fallado pero las otras tres ha ido bien.

Que cosas