para expertos en querys
Publicado por Armando (28 intervenciones) el 12/02/2003 19:34:22
hola a todos, tengo un problema con un TQuery y un TUpdateSql, las propiedades que configure del TQuery son las siguientes:
DataBaseName = C:\datos
SQL = SELECT * FROM Recibos ORDER BY Servicio ASC
UpdateObject = UpdateSQL1
RequestLive = True
AutoRefresh = True
Active = True
En el evento OnClick de un TButton puse lo siguiente:
begin
UpdateSQL1.Query[ukInsert].Add('INSERT INTO RECIBOS');
UpdateSQL1.Query[ukInsert].Add('(Servicio,Contrato,Tipo,PagaDAP)');
UpdateSQL1.Query[ukInsert].Add('VALUES(:Ser,:Con,:Tipo,:Paga)');
UpdateSQL1.Query[ukInsert].ParamByName('Ser').AsFloat:=StrToFloat(Edit1.Text);
UpdateSQL1.Query[ukInsert].ParamByName('Con').AsString:=Edit2.Text;
UpdateSQL1.Query[ukInsert].ParamByName('Tipo').AsString:=ComboBox1.Text;
UpdateSQL1.Query[ukInsert].ParamaByName('Paga').AsBoolean:=CheckBox1.Checked;
UpdateSQL1.ExecSQL;
end;
pero no ocurre nada, aparentemente, porque al volver a inciar la aplicacion si aparece el registro nuevo, pero acaso no hay manera de que este cambio se efectue de manera instantantea, lo mismo me ocurre al hacerlo con un DELETE o UPDATE, trate de hacerlo cambiando la propiedad CacheUpdates del TQuery a True y cambiando la ultima linea del vento OnCick (ExecSQL) por ApplyUpdates, pero nada.
Si alguien me pudiera ayudar estaria muy agradecido.
Saludos
DataBaseName = C:\datos
SQL = SELECT * FROM Recibos ORDER BY Servicio ASC
UpdateObject = UpdateSQL1
RequestLive = True
AutoRefresh = True
Active = True
En el evento OnClick de un TButton puse lo siguiente:
begin
UpdateSQL1.Query[ukInsert].Add('INSERT INTO RECIBOS');
UpdateSQL1.Query[ukInsert].Add('(Servicio,Contrato,Tipo,PagaDAP)');
UpdateSQL1.Query[ukInsert].Add('VALUES(:Ser,:Con,:Tipo,:Paga)');
UpdateSQL1.Query[ukInsert].ParamByName('Ser').AsFloat:=StrToFloat(Edit1.Text);
UpdateSQL1.Query[ukInsert].ParamByName('Con').AsString:=Edit2.Text;
UpdateSQL1.Query[ukInsert].ParamByName('Tipo').AsString:=ComboBox1.Text;
UpdateSQL1.Query[ukInsert].ParamaByName('Paga').AsBoolean:=CheckBox1.Checked;
UpdateSQL1.ExecSQL;
end;
pero no ocurre nada, aparentemente, porque al volver a inciar la aplicacion si aparece el registro nuevo, pero acaso no hay manera de que este cambio se efectue de manera instantantea, lo mismo me ocurre al hacerlo con un DELETE o UPDATE, trate de hacerlo cambiando la propiedad CacheUpdates del TQuery a True y cambiando la ultima linea del vento OnCick (ExecSQL) por ApplyUpdates, pero nada.
Si alguien me pudiera ayudar estaria muy agradecido.
Saludos
Valora esta pregunta


0