PDA

Ver la Versión Completa : insersion en una base de datos


alfil123
26-01-2006, 18:10:07
hola amigos, les pido un favor no me acuerdo como insertar a una base de datos.
la forma que usaba no me sirve ahora, bueno estoy usando un adoquery, y necesito insertar 8 campos en una tabla de 9, amigos creo que se ejecuta con ado.sqlexecutq.
les agradesco su comprension y su tiempo

pepe2000
26-01-2006, 18:23:27
hola alfil 123.
si estas utilizando ADOQUERY lo que tienes que usar es:


adoquery.insert;
adoquery.fieldbyname('campoUno').value:=valor1;
adoquery.fieldbyname('campoDos').value:=valor2;
...
adoquery.post;


Logicamente para ingresar 8 registros tendrias que hacer un ciclo while o for.

Otra forma de ingresar puede ser utilizando ADOCOMMAND:


adocommand1.commandtext:='INSERT INTO tabla (campo1, campo2, ..) VALUES (valor1, valor2,...)';
adocommand1.execute;


Espero que te sirva
un saludo.

vtdeleon
26-01-2006, 20:02:20
hola alfil 123.
si estas utilizando ADOQUERY lo que tienes que usar es:


adoquery.insert;
adoquery.fieldbyname('campoUno').value:=valor1;
adoquery.fieldbyname('campoDos').value:=valor2;
...
adoquery.post;
Si es un AdoQuery pues esto podria dar un error de que no es modificable, se necesita tener conectado un TUpdateSQL (lo digo de memoria)

Logicamente para ingresar 8 registros tendrias que hacer un ciclo while o for.

Otra forma de ingresar puede ser utilizando ADOCOMMAND:


adocommand1.commandtext:='INSERT INTO tabla (campo1, campo2, ..) VALUES (valor1, valor2,...)';
adocommand1.execute;
No est "tan"necesario hacer un ciclo, con una simple sentencia se resulve en un "parpadeo"
AdoQuery.SQL.Text:='Insert into Tabla1 (campo1, campo2,...CampoN) '+
'Select top 8 campo1, campo2, campoN fron tabla2';
//El top es opcional, solo para capturar los 1ros 8 registros

alfil123
26-01-2006, 22:34:22
bueno amigos, no entiendo me lo podrian explicarmejor, porfavor, mandemen un ejemplo con una inserccion para access

vtdeleon
26-01-2006, 23:25:29
Saludos

Que no entiendes?

Dijiste que tenias un AdoQuery, pues en su propiedaD SQL pon la sentencia que deseas. Por ejemplo
Insert into Tabla1 (campo1, campo2,...CampoN)/*Insercion*/
Select campo1, campo2, campoN fron tabla2 /*Resultado de una consulta*/

Tabla1: es la tabla destino, es decir, la tabla en donde se agregara o insertara el o los registros.
Tabla2: es la tabla origen; una consulta simple que arrojara un resultado, la cual se insertara en la tabla destino.

La sentencia anterior insertara (en tabla1) los registros que arroje la (consulta de) tabla2

PAra invocar esta sentencia en el AdoQuery solo llama al metodo ExeSQL

Ejemplo: Adoquery1.ExecSQL