PDA

Ver la Versión Completa : como llamar TUPdateSql desde delphi


kryna
11-04-2005, 23:40:15
Hola a todos!!!

Estoy usando delphi 7 y tengo tres tablas en paradox 7...

Quisiera usar TUPdateSql ya que tengo algunos problemas para las modificaciones.. Lo he hecho de una manera que aunque me funciona a medias no me convence....
En fin quisiera aprender a usar el UpdateSQL lo que no entiendo es como lo llamo desde delphi..
Se que tengo que asociarlo a un TQuery en su propiedad UpdateObjet el update sql1, coloco CacheUpdate en true; en la propiedad SQL SELECT *FROM mistablas where t1.Cod_concepto =:codigo, en parametros codigo es integer, en requestlive la paso a true.. al query lo asocie con un DS.

EN el updatesql1 busco mi tabla principal y le doy Generate SQL...

en el codigo sql qse genera me aparecen variable qno conosco como ":OLD_Cod_concepto " este parametro tengo q declararlo en algun sitio?
o delphi lo asume? como hago para decir en delphi que quiero usar la modificacion o insercion, podrian explicarme mejor esta parte q en realidad no la entiendo... si me mandan unos ejemplos mejor

gracias de ante mano
karina

lucasarts_18
12-04-2005, 06:05:39
Hola:

http://www.clubdelphi.com/foros/showthread.php?t=20155

Espero que te sirva

Saludos.
Aaron.

kryna
12-04-2005, 16:13:31
Hola... sera que me puedes explicar mejor lo de TUpdateSql. Es que realmente no lo entiendo.. Lo que quiero saber es


/// en este caso dentro de las comillas no va nada... solo coloco estas lineas y ya?

With UpdateSQL1 DO
Begin
modifySQL.Text:=('');
InsertSQL.Text:=('');
DeleteSQL.text:=('');
end;

/// necesito un query parala insercion. modificacion y delete??
With Query1 DO
Begin
Close;
Unprepare;
SQL.Clear;
SQL.Add('Update empleados_datos Set Nombre= :ParametroNombre ');
SQL.ADD('Where ID= :ParametroID');
ParamByName('ParametroNimbre').AsString:=Edit1.Text;
ParamByName('ParametroID').AsInteger:=StrToInt(Edit2.Text);
Prepare

lucasarts_18
14-04-2005, 05:01:53
Hola Krina:

Cómo te habrás dado cuenta en el mensaje que te envié, yo tampoco me manejo mucho con este componente.
Pero veré si te sirve lo que yo he hecho (un ejemplo sencillo por supuesto)

procedure TForm1.FormActivate(Sender: TObject);
begin
query1.SQL.Add('Select * from productos');
query1.Open;
query1.Active := True;
end

Con este procedimiento activo el TQuery y le agrego una sentencia simple SQL y pasa a hacer solo de lectura.
Éste Query está asignado a un Grid, en el cual se pueden modificar sus campos cuando el usuario edita la grilla, qué realmente este es el fin del TUpdateSQL, poder actualizar un TQuery de solo lectura.

procedure TForm1.Button1Click(Sender: TObject);
begin
UpdateSQL1.ModifySQL.Add('Update Productos set');
UpdateSQL1.ModifySQL.Add('Id_Producto = :Id_Producto');
UpdateSQL1.ModifySQL.Add('Where Id_Producto = :OLD_Id_Producto');
query1.ApplyUpdates;
query1.CommitUpdates;
end;

OLD_Id_Producto, ésta variable vendría siendo el campo del TQuery asociado al TUpdateSQL, de está forma el TUpdateSQL sabe que campo debe actualizar.
Con respecto al Insert o Delete es algo similar.

Espero que te sirva

Saludos
Aarón.