Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Problema al insertar un registro a una tabla (https://www.clubdelphi.com/foros/showthread.php?t=58992)

egostar 08-08-2008 17:22:59

Problema al insertar un registro a una tabla
 
Hola

Antes que nada sabia donde colocar esta pregunta, no hay un foro de expedientes X, :D

Bien, pues trataré de ser objetivo y claro "al decir lo que voy a decir" :rolleyes:

Resulta que tengo una tabla de nombre Proyectos, éste es su DDL....

Código SQL [-]
/******************************************************************************/
/***               Generated by IBExpert 08/08/2008 11:12:33                ***/
/******************************************************************************/
SET SQL DIALECT 3;

SET NAMES NONE;
/******************************************************************************/
/***                                 Tables                                 ***/
/******************************************************************************/
CREATE TABLE PROYECTOS (
    INDICE       INTEGER NOT NULL,
    PROYECTO_ID  VARCHAR(15),
    RESPONSABLE  VARCHAR(100)
);

/******************************************************************************/
/***                              Primary Keys                              ***/
/******************************************************************************/
ALTER TABLE PROYECTOS ADD CONSTRAINT PK_PROYECTOS PRIMARY KEY (INDICE);

/******************************************************************************/
/***                               Privileges                               ***/
/******************************************************************************/

Como ven, nada del otro mundo.

Bien, pues hice una pequeña aplicación "ABM" y todo funciona correctamente hasta llegar al registro 117, resulta que después de ese registro número 117 no puedo agregar mas registros.

Trataré de ejemplificar este asunto

Tengo la siguiente serie:
....
115
116
117

Aquí no puedo agregar mas registros.

Borro el registro 117 y si puedo volver a agregarlo, sin embargo ya no puedo agregar mas registros

Bueno, me voy por la libre, agrego directamente a la base (sin el programa) el registro 118 y todo regresa a la normalidad :eek:

....
115
116
117
118

Ahora, pensando que la direccion del registro 117 tuviese problemas, borre el registro 117 y deje la base así

....
115
116
118

Y funciona sin problemas, puedo agregar mas registros :eek:

Alguien me puede decir que está pasando ?????

El número 117 es cabalistico ?????

Será que debo hablar a Mulder y a Scully ????

Changos, ya me esta dando miedo :D:D:D

Salud OS

poliburro 08-08-2008 17:27:29

De que manera realizas la inserción de nuevos registros?

una consulta?
un TTable?

egostar 08-08-2008 17:37:26

Cita:

Empezado por poliburro (Mensaje 306569)
De que manera realizas la inserción de nuevos registros?

una consulta?
un TTable?

Lo hago con un TTable y un DBNavigator.

El valor lo incremento leyendo el último registro y sumandole uno.

Ya hice otra prueba, pensando en tu pregunta, borre varios registros, vuelvo a dar de alta los registros y en el 117 ya no puedo agregar mas.

Voy a cambiarlo por un Query a ver que hace......

Salud OS

felipe88 08-08-2008 18:06:17

Eso es mas raro que un perro a cuadros...:eek: ¿pero solo te pasa si lo intentas insertar desde tu aplicacion o tambien desde el ibexpert ?... de igual modo ya encontre al agente Mulder :D

egostar 08-08-2008 18:13:36

Cita:

Empezado por felipe88 (Mensaje 306583)
Eso es mas raro que un perro a cuadros...:eek: ¿pero solo te pasa si lo intentas insertar desde tu aplicacion o tambien desde el ibexpert ?... de igual modo ya encontre al agente Mulder :D

Solo desde la aplicación, es obvio que donde tengo el problema es en la aplicación, el punto es donde carajos.......... :D:D:D

De cualquier forma estoy cambiando el IBTable por un IBDataSet, no se donde carajos tenia la mente que estoy usando una tabla :D

Salud OS

Delphius 08-08-2008 18:15:35

¿TTable? ¿DBE?
¿Es Firebird o Interbase?

Me parece raro amigo que haga eso.

Saludos,

felipe88 08-08-2008 18:24:12

Cita:

Empezado por egostar (Mensaje 306586)
Solo desde la aplicación, es obvio que donde tengo el problema es en la aplicación, el punto es donde carajos.......... :D:D

Jejeje:D:D... claro :rolleyes:... entonces porque no lo creas de nuevo sin necesidad de cambiarlo...

egostar 08-08-2008 21:04:09

Cita:

Empezado por felipe88 (Mensaje 306588)
Jejeje:D:D... claro :rolleyes:... entonces porque no lo creas de nuevo sin necesidad de cambiarlo...

Pues aunque lo dudes, lo mejor es hacer algo nuevo y pues lo hice todo nuevo :D:D:D

Use un IBDataSet para realizar todas las funciones del ABM.

En el evento OnNewRecord obtuve el valor del consecutivo y en un botón hice esto:

Código Delphi [-]
  IBDataSet1.Append;
  IBDataSet1.FieldByName('INDICE').Value := Indice;
  DBEdit2.SetFocus;

Y bueno pues asunto terminado.

Gracias a todos por hacerme ver lo tonto que soy :o:D:D:D y muy buen consejo amigo [poliburro] todo por usar lo que normalmente no uso, además de que seguramente habia algo que provocaba este fallo tan latoso.

Salud OS y gracias nuevamente

felipe88 09-08-2008 01:34:29

Cita:

Empezado por egostar (Mensaje 306612)
Pues aunque lo dudes, lo mejor es hacer algo nuevo y pues lo hice todo nuevo :D:D:D

Bueno no lo dudaba :rolleyes:, creo que era lo mas correcto teniendo en cuenta lo de la tabla, pero bueno que lo solucionaste ;)...


La franja horaria es GMT +2. Ahora son las 16:41:56.

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