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)
-   -   insersion en una base de datos (https://www.clubdelphi.com/foros/showthread.php?t=29603)

alfil123 26-01-2006 18:10:07

insersion en una base de datos
 
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:

Código:

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:

Código:

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

Cita:

Empezado por pepe2000
hola alfil 123.
si estas utilizando ADOQUERY lo que tienes que usar es:

Código:

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)
Cita:

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

Otra forma de ingresar puede ser utilizando ADOCOMMAND:

Código:

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"
Código Delphi [-]
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
 
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
Código SQL [-]
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


La franja horaria es GMT +2. Ahora son las 05:37:45.

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