Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Tablas con campos autoincrementales (https://www.clubdelphi.com/foros/showthread.php?t=30679)

Sito 13-04-2006 20:16:08

Tablas con campos autoincrementales
 
Hola os expongo mi problema:

Tengo una tabla con un campo autoincremental, que utilizo como indice de la tabla, mi problema biene cuando quiero añadir una linea a esa tabla mediante un formulario, ya que no consigo que se autoincremente.

yo lo intentaba de esta forma:

Cita:

ModuloDatos.TbTabla.AppendRecord([Id_tabla,Edit1.Text,Memo1.Text]);
lo he intentado hacer sin poner el campo Id_tabla pero no hace el incremento por si solo.

GRacias de ante mano.

Sotrono 13-04-2006 20:25:50

Hola, no decís ni el motor de la BD, ni los componentes que usas.
Cuando añadis datos a una tabla que tiene un campo autoincrementable, no tenes que insertar algun dato en ese campo, porque de eso se encarga el motor de la base de datos.

Bytes...

Sito 14-04-2006 00:15:44

Intentaré explicarme mejor:

Utilizo paradox7,
Tengo una tabla con varios campos uno de ellos autoincremental.
Utilizo un formulario para introducir los datos que el usuario estime oportuno en ella, con unos EDITS.

Para intentar meter los datos en la tabla hago esto:
ModuloDatos.TbTabla.AppendRecord([Id_tabla,Edit1.Text,Memo1.Text]);
tambien lo he intentado con:
ModuloDatos.TbTabla.InsertRecord([Id_tabla,Edit1.Text,Memo1.Text]);


Lo que esta surallado no lo pongo en mi codigo ya que es lo que el programa deberia autoincrementar y yo no debo insertar el valor.

Lo curioso es que si lo hago con un navigator al darle al boton de insertar si lo hace de maravilla. :(

Sotrono 14-04-2006 04:28:52

Mira, haciendolo de esta forma no tenes problemas:

Código Delphi [-]
with Table1 do begin
  Insert; //Inserta un nuevo registro
  FieldByName('Campo1').AsString:= Edit1.Text; 
  FieldByName('Campo2').AsInteger:= 314;
  Post; //Guarda los cambios en la Tabla
end;

Bytes...

reevil 14-04-2006 05:39:46

lo mismo
 
y para hacer lo mismo utilizando mysql y TTable ?? (no TQuery)

Sotrono 14-04-2006 06:24:10

Cita:

Empezado por reevil
y para hacer lo mismo utilizando mysql y TTable ?? (no TQuery)

Hola, el ejemplo anterior funciona tanto con TQuery como con TTable.

Sito 14-04-2006 13:01:03

Gracias por vuestras respuestas, me va de escandalo, por cierto tambien he conseguido otra forma diferente, con la palagra nil

ModuloDatos.TbTabla.AppendRecord([nil,Edit1.Text,Memo1.Text]);

De esta forma tambien lo hace sin problemas


La franja horaria es GMT +2. Ahora son las 05:02:28.

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