Ver Mensaje Individual
  #13  
Antiguo 13-07-2017
cvlaso77 cvlaso77 is offline
Miembro
NULL
 
Registrado: ago 2011
Posts: 14
Reputación: 0
cvlaso77 Va por buen camino
Query no reconoce los parametros

Hola, gracias de nuevo por sus respuestas, he seguido probando alguna solución y el problema persiste, aislé el código a una sola form con la misma sintaxis ya que mi programa tiene muchos query. Los efectos son los mismos, esto es, la primera y segunda vez que el programa ejectua el query lo hace sin errores pero la tercera vez arroja el error maldito y lo hace con las sentencias select y las update.
Estoy trabajando en Windows 10 y me arroja un error al abrir Delphi, sin embargo todo anda bien salo el BDE que aparece con unos botones desactivados, esto lo salvé creando mis tablas con sentencias SQL, no creo que mi problema sea con windows?, que opinan?

Les dejo el código que estoy usando para tratar de encontrar el problema, eliminé las sentencias with, apliqué el query.prepare, y nada.
El código lo ejecuto desde un botón y al primer click, todo ok, al segundo igual , pero al tercero aparece el mensaje "parameter 'fe_ent_adm' not found.
Mi programa debe usar esta procedimiento n veces, si no arreglo esto estoy frito.
pensaba que el asunto andaba por los tipos "as.datetime" o "as.time", etc pero no me dio resultado.

Mucha Gracias de nuevo
perdonen no sé como insertar el código en la ventana.



procedure TForm5.Button1Click(Sender: TObject);
var
Fecha_temp:TDateTime;
Hora_temp:TDateTime;
ruta_q2:string;
numer_cab:Integer;

begin
Table2.Open;
Table1.Open;

ruta_q2:=TRIM(Table2.fieldbyname('RUTA_DATOS').value);
ruta_q2:=ruta_q2 + '\REG_CALC1_ABTOS.DB'; //TABLE 1

Fecha_temp:= StrToDate('01-05-2017');
Hora_temp:= StrToTime('22:10:00');
numer_cab:=26;

query1.Close;
query1.SQL.Clear;
query1.Params.Clear;

query1.SQL.Text:= 'UPDATE "'+ruta_q2+'" SET FE_ENT_ADM = :fe_ent_adm, HR_ENT_ADM = :hr_ent_adm WHERE NUM_CAB_HAB = :n9_cab';
query1.Parambyname('fe_ent_adm').AsDateTime := Fecha_temp;
query1.Parambyname('hr_ent_adm').AsTime := Hora_temp;
query1.Parambyname('n9_cab').AsInteger := numer_cab;
query1.SQL.EndUpdate;
query1.ExecSQL;


DBGrid1.DataSource:=Datasource1;
Table1.Close;
Table2.Close;
end;

end.
Responder Con Cita