Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-04-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Question parametros en TUpdateSQl

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.
Responder Con Cita
  #2  
Antiguo 07-04-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
Cita:
Empezado por lucasarts_18
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:
Código Delphi [-]
  With UpdateSQL1 DO
  Begin
  modifySQL.Text:=('');
  InsertSQL.Text:=('');
  DeleteSQL.text:=('');
  end;

Cita:
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:

Código Delphi [-]
 
  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:
Código Delphi [-]
 Query1.ApplyUpdates;
 Query1.CommitUpdates;

salu2.
Responder Con Cita
  #3  
Antiguo 08-04-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 08-04-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
Cita:
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.

Cita:
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.
Responder Con Cita
  #5  
Antiguo 08-04-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Unhappy

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é ?


Saludos.
Aaron.
Responder Con Cita
  #6  
Antiguo 09-04-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
Fuente: Ayuda de Delphi
Cita:
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:

Código Delphi [-]
 Query1.ApplyUpdates;
 Query1.CommitUpdates;

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

salu2.
Responder Con Cita
  #7  
Antiguo 11-04-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
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.
Responder Con Cita
  #8  
Antiguo 11-04-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
Y ya le asignaste, la sentencia SQL al UpdatSQL?

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

salu2.
Responder Con Cita
  #9  
Antiguo 12-04-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

Ahora me resulta, gracias por todo MasterXP

Saludos.
Aarón.
Responder Con Cita
  #10  
Antiguo 09-11-2007
Puberta Puberta is offline
Miembro
 
Registrado: oct 2007
Ubicación: Estado de México
Posts: 47
Poder: 0
Puberta Va por buen camino
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é.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 19:11:04.


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