PDA

Ver la Versión Completa : Tablas con campos autoincrementales


Sito
13-04-2006, 20:16:08
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:

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:


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
y para hacer lo mismo utilizando mysql y TTable ?? (no TQuery)

Sotrono
14-04-2006, 06:24:10
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