Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Modificar datos de una grid (https://www.clubdelphi.com/foros/showthread.php?t=10496)

gescoto99 20-05-2004 19:48:11

Modificar datos de una grid
 
Hola:

Tengo TDbgrid enlazado a un Tibquery a traves de un Datasource, lo que quiero es que el resultado de la query que se visualiza en el dbgrid, lo pueda modificar, ya active propiedad readonly del dbgrid a false pero no encuentro que otra propiedad pueda estarme afectando..

Espero puedan apoyarme.

Saludos

roman 20-05-2004 19:57:40

De la ayuda de Delphi:

Cita:

Use TIBQuery to access one or more tables in a database using SQL statements. The TIBQuery component provides a read-only dataset, and adapts well to the InterBase client/server environment. To update the result set that TIBQuery represents, use this component in conjunction with a TIBUpdateSQL component.
Por cierto, este hilo no corresponde a OOP sino a Conexión con bases de datos y para allá lo muevo.

gescoto99 20-05-2004 20:05:50

Una duda +
 
Roman:

De antemano gracias por la ayuda, disculpa por mi poco conocimiento con el objeto TIBUPDATESQL pero como enlazo ese objeto para que pueda modificar las celdas de el Tdbgrid ?

Gracias

roman 20-05-2004 20:17:18

Cita:

Empezado por gescoto99
como enlazo ese objeto para que pueda modificar las celdas de el Tdbgrid ?

De la ayuda de Delphi:

Cita:

In practical application, a TIBUpdateSQL object is placed on a data module or form, and linked to a TIBQuery component through that component’s UpdateObject property. If the UpdateObject property points to a valid TIBUpdateSQL object, the SQL statements belonging to the update object are automatically applied when cached updates are applied.
En tu caso usarías la propiedad ModifySQL del objeto TIBUpdateSQL.

De la ayuda de Delphi:

Cita:

Set ModifySQL to the SQL UPDATE statement to use when applying an updated record to a dataset. Statements can be parameterized queries. To create a UPDATE statement at design time, use the UpdateSQL editor to create statements, such as:

update Employee
set Last_Name = :Last_Name
where Emp_No = :OLD_Emp_No

At run time, an application can write a statement directly to this property to set or change the UPDATE statement.

Note: As the example illustrates, ModifySQL supports an extension to normal parameter binding. To retrieve the value of a field as it exists prior to application of cached updates, the field name with ‘OLD_’. This is especially useful when doing field comparisons in the WHERE clause of the statement.
Observación: yo tampoco conozco las componentes IB, simplemente estoy buscando en la ayuda de Delphi, cosa que te invito a hacer tú mismo.

// Saludos

gescoto99 20-05-2004 20:29:13

Duda adicional
 
Roman Gracias

A alguien mas ... Ya me mostraron como ligar el TIBQUERY, TIBUPDATESQL Y EL DBGRID, veo que en la propiedad MODIFYSQL del objeto TIBUPDATESQL debo de poner la sentencia de SQL que desee como por ejemplo:

Update recibos
set importe = ?
where id= ?

Mi duda es... En el grid muestro mas de 40 columnas (campos) de la tabla recibos, como voy a saber que columna esta modificando el usuario ? por que de ahi depende los campos que ingrese en el SET y asi mismo en el where que condiciono si pudiera cambiar la misma columna ID.
Es decir necesito algo mas interactivo hacia el dbgrid ya que no es fijo los campos a modificar.

Espero haber sido claro.

De antemano gracias

sanxpue 20-05-2004 23:06:01

Haber haber...
 
Por que no en lugar de unTIBQuery usas un TIBDataSet..

LLenas todos los SQL que te pide el TIBDataSet
esta liga te ayudara mucho :

www.firebird.com.mx

Conectas el DBGrid --> dataSource --> Dataset y ya

no hay nada mas con eso lo logras :p

__cadetill 21-05-2004 00:52:42

Cita:

Empezado por sanxpue

Suerte que has puesto la dirección escrita, porque...... :rolleyes:

:D

De todas maneras, en los foros también se ha tratado el tema en varias ocasiones. Aquí dejo un enlace a un mensaje con varios enlaces ;)
http://www.clubdelphi.com/foros/show...42&postcount=4

sanxpue 21-05-2004 03:02:26

Ya ya..
 
Ya la puse como debe de ser ¡¡¡¡


La franja horaria es GMT +2. Ahora son las 11:17:54.

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