PDA

Ver la Versión Completa : parametros en TUpdateSQl


lucasarts_18
07-04-2005, 05:09:38
Hola a todos:

¿ Cómo puedo utilizar éste componente en tiempo de ejecución (Por código) ?

A través de código se puede utilizar la propiedad InsertSQl, pero no tengo idea como se usa.

Espero una manito de ayuda.
Gracias de antemano.

Atte Aarón García A.

MasterXP
07-04-2005, 05:49:53
Hola a todos:

¿ Cómo puedo utilizar éste componente en tiempo de ejecución (Por código) ? Puedes modificar cada una de sus propiedades, ya sea el insert, update o delete.

ejemplo:

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



A través de código se puede utilizar la propiedad InsertSQl, pero no tengo idea como se usa.

Espero una manito de ayuda.
Gracias de antemano.

Atte Aarón García A. Ya sabes que tienes que tener un UpdateSQL asociado al UpdateObject
de un Tquery, Osea el codigo del insert lo haras con el Tquery. ejemplo:


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;
ExecSQL;


Si activas la propieda CachedUpdate del Tquery, tendras que aplicar:

Query1.ApplyUpdates;
Query1.CommitUpdates;


salu2.

lucasarts_18
08-04-2005, 03:55:19
Hola MasterXP gracias por responder.

Al parecer me sale más fácil insertar datos de ésta forma :
:)

with Modulo.QryVentas do
begin
VarBol := strtoint(edtBoleta.Text);
VarTotal := strtoint(edtTotal.Text);
Close;
SQL.Clear;
SQL.Add ('INSERT INTO Ventas');
SQL.Add ('Values(:Boleta,:Fecha,:Total)');
Params[0].AsInteger := VarBol;
Params[1].AsDatetime := strtodate(edtFecha.Text);
Params[2].AsInteger := VarTotal;
ExecSQL;
end;

Ya que no entiendo muy bien el funcionamiento de TUpdateSQL.
Me gustaría que fueras un poco más explícito.
De antemano gracias.

Saludos.
Aaron.

MasterXP
08-04-2005, 07:41:23
Al parecer me sale más fácil insertar datos de ésta forma : La verdad la unica diferenecia entre tu codeigo y el mio, es que el mio es un Update y el tuyo un Insert.

Ya que no entiendo muy bien el funcionamiento de TUpdateSQL.
Me gustaría que fueras un poco más explícito.
De antemano gracias.
que no entiendes en realidad?

salu2.

lucasarts_18
08-04-2005, 20:14:42
Hola MasterXP :

No entiende el funcionamiento de este componente, a mí entender es para trabajar con los Insert,Delete y Update.
Para que éste componente ? , si todo lo anterior se puede hacer con un TQuery ya sea para un Insert, Delete o Update.

A lo que voy yo, cuando es necesario utilizar el TUpdateSQL y por qué ?
:confused:

Saludos.
Aaron.

MasterXP
09-04-2005, 03:23:34
Fuente: Ayuda de Delphi

When the BDE-enabled dataset represents a stored procedure or a query that is not "live", it is not possible to apply updates directly from the dataset. Such datasets may also cause a problem when you use a client dataset to cache updates. Whether you are using the BDE or a client dataset to cache updates, you can handle these problem datasets by using an update object.

The update object actually encapsulates three TQuery components. Each of these query components perform a single update task. One query component provides an SQL UPDATE statement for modifying existing records; a second query component provides an INSERT statement to add new records to a table; and a third component provides a DELETE statement to remove records from a table.

Espero que entiendas, te explico, por ejemplo si tienes un DBgrid, y actualizas uno o varios de sus campos, lo unico que tendras que hacer para guardar o cancelar los campos sera:


Query1.ApplyUpdates;
Query1.CommitUpdates;


por que el UpdateSQL gracias al cached update del Query, el UpdateSQL actualiza la DB.

salu2.

lucasarts_18
11-04-2005, 04:58:31
Hola Nuevamente:

Ahora te entendí y hice el ejemplo que tú me propones, pero al momento de guardar los cambios con applyUpdates y Commit Updates me manda una excepción de "No SQl Statement Available.

Espero nuevamente tú ayuda.

Saludos
Aaron.

MasterXP
11-04-2005, 06:58:39
Y ya le asignaste, la sentencia SQL al UpdatSQL?

has dobleclick en el UpdateSQL, y llevate del Wizard, en hara todo.

salu2.

lucasarts_18
12-04-2005, 17:07:12
Hola:

Ahora me resulta, gracias por todo MasterXP

Saludos.
Aarón.

Puberta
09-11-2007, 02:24:22
Hola,

yo tengo un DBGrid el cual lleno con una consulta en tiempo de ejecución (pues cambia dependiendo de algunos parámetros)...ya inserte un TUpdateSQL e hice lo que explicaron anteriormente pero no sé si esto implique que pueda escribir automaticamente cobre el DBGrid y si es así....como es que me le indico que me actualice un registro que tengo seleccionado el el DBGrid.

Ojalá me pueda alguien explicar...de una vez gracias.


Es más que obvio que no tengo experiencia y que no conozco Delphi.....pero algún día lo haré.