Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   insertar n registros en una tabla automaticamente (https://www.clubdelphi.com/foros/showthread.php?t=40140)

zcatzz 08-02-2007 03:11:17

insertar n registros en una tabla automaticamente
 
Hola Buenas tardes a todos los del foro aqui estoy nuevamente para ver si me pueden ilumniar con sus conocimientos jeje.

Uso Delphi 5 y mysql

Fijense que mi caso es este, en la forma el usuario dice que quiere:

Fichas: N
Costo de Fichas : C

y entonces yo debo de generar estas fichas automaticamente...


en mi base de datos yo tengo 2 tablas

la tabla FICHAS, en la que guardo los campos de la ficha es decir, el costo de la ficha, id, horario etc...

la otra tabla se llama FICHASGENERADAS ahi es donde debo de insertar la cantidad de fichas que me haya pedido el usuario.

El problema que tengo es que me marca un error cuando "corro" el sig. codigo


DModulo.QInsertF.Active:=false;
DModulo.QInsertF.SQL.Clear;
DModulo.QInsertF.SQL.Text:='insert into fichas values(0,:periodo,:curso,:horario,:fecha,:hora,:salon,:costo,:idmpio,:total)';
DModulo.QInsertF.Parameters.ParamByName('periodo').Value:=idperiodo.Text;
DModulo.QInsertF.Parameters.ParamByName('curso').Value:=dbid.Text;
DModulo.QInsertF.Parameters.ParamByName('horario').Value:=horario.Text;
DModulo.QInsertF.Parameters.ParamByName('fecha').Value:=inicio + ' 00:00:00';
DModulo.QInsertF.Parameters.ParamByName('hora').Value:=inicio + ' '+ Horaexamen.text + ':00';
DModulo.QInsertF.Parameters.ParamByName('salon').Value:=salonexamen.Text;
DModulo.QInsertF.Parameters.ParamByName('costo').Value:=costofichas.Text;
DModulo.QInsertF.Parameters.ParamByName('idmpio').Value:=fidio001.municipio.text;
DModulo.QInsertF.Parameters.ParamByName('total').Value:=totalfichas.Text;
DModulo.QInsertF.ExecSQL;
DModulo.Tfichas.Close;
dmodulo.Tfichas.Open;
dmodulo.Tfichas.Last;

cont:=1;
totalF:=strtoint(totalfichas.Text);
while cont<=totalF do
begin

DModulo.QInsertFG.Active:=false;
DModulo.QInsertFG.SQL.Clear;
DModulo.QInsertFG.SQL.Text:='insert into fichasgeneradas values(0,:idficha)';
DModulo.QInsertFG.Parameters.ParamByName('idficha').Value:= 4;//dbidficha.text;
DModulo.QInsertFG.ExecSQL;
cont:=cont + 1;
end;
application.MessageBox('Fichas Generadas con exito','Fichas',mb_ok)


ERROR:

Código Delphi [-]Column Count Doesn't match value count at row 1


y se queda en la linea:

Código Delphi [-] DModulo.QInsertFG.ExecSQL;

que es lo que estoy haciendo mal?

AzidRain 08-02-2007 03:20:34

Código:

Código Delphi [-]Column Count Doesn't match value count at row 1
Esta muy claro el mensaje:
El numero de columnas no corresponde con el numero de valores

Es decir, en el dato Values( deben de ir el numero exacto de valores que correspondan con las columnas de la tabla dado que no indicaste en el query que columnas se van actualizar rl motor supone que todas.

Lo mas seguro es que te falten valores para alguna columna

zcatzz 08-02-2007 03:42:04

si funciono
 
:p es cierto , de verdad que a veces uno se anda rompiendo la cabeza y son detalles pequenos.

ya nada mas agregue las columnas que iba a modificar y se arreglo el asunto:)


La franja horaria es GMT +2. Ahora son las 09:20:43.

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