Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   campo en memoria para grid (https://www.clubdelphi.com/foros/showthread.php?t=73883)

Rofocale 22-05-2011 01:29:53

campo en memoria para grid
 
Buenas de esta sentencia en una tabla compras no tengo agregado el campo subtotal en la tabla se puede agregar este campo en memoria sin crearlo en la tabla ? para poder agregar dicho campo en un grid y me lo muestre temporal los valores que se deberia de mostrar que es la resta entre total e iva

Código Delphi [-]
SELECT clave, caja, documento, fecha, estatus, total-iva AS subtotal from compras

uso un query un dataset provider un clientdataset y un data source

he agregado el campo subtotal en el clientdataset como internalclac lo he agregado a mi grid el campo pero al mostrar los datos en el grid este campo no muestra nada sale vacio

por eso quisiera que me expliquen si se puede o no y como lo hago
muchas gracias

Caral 22-05-2011 01:45:55

Hola
El DBGrid esta ligado al query?.
Saludos

Rofocale 22-05-2011 01:53:40

si caral esta ligado al query me muestra todos los datos que estan en la tabla menos el subtotal a pesa que lo he creado como lo menciono.. me sale en blanco en el grid ese campo

Caral 22-05-2011 01:58:16

Hola
Si tienes ligado el dbgrid al query, el nombre del campo sera subtotal, que es el que pusiste.
Si colocas en el dataset otro nombre no lo mostrara.
1- Coloca en el string del query la sentencia que usas:
Código SQL [-]
SELECT clave, caja, documento, fecha, estatus, total-iva AS subtotal from compras
2-Coloca en el dbgrid el campo subtotal que saldra.
3- Ejecuta el programa
Saludos

Rofocale 22-05-2011 02:06:24

lo tengo ligado y subtotal tmb esta enlazado en el grid pero no sale nada.. una cosa solo tengo que crear el campo en el clientdata set o tambien tengo que crearlo en el ibquery ?

Caral 22-05-2011 02:08:17

Hola
O una u otra.
No entiendo la necesidad del cliente dataset y ademas el query, como digo, o una u otra.
Para mi el cliente sobra, yo lo haria todo con el query.
Saludos

Rofocale 22-05-2011 02:17:46

caral si borro el campo del clientdataset y lo hago todo en el query como hago para agregar al dbgrid los campos ? ya que el campo subtotal desaparece y ya no lo puedo agregar :s

Rofocale 22-05-2011 02:19:45

tengo ligado el datasource -> clientdataset -> datasetprovider -> ibquery

Caral 22-05-2011 02:22:21

Hola
Un dataset y un query son casi lo mismo.
Coloca la sentencia sql en el string del query.
Revisa que el datasource este ligado al query.
Revisa que el dbgrid este ligado al datasource que apunta al query
Dale doble click al dbgrid y coloca los campos que necesites
Listo.
Saludos

Caral 22-05-2011 02:24:51

Hola
Para que tantas cosas??????:
Saludos

Caral 22-05-2011 02:28:09

Hola
Conexion con firebird:
1- IBDatabase
2- IBTransaction
3- IBQuery o IBTable.
4- Datasource.
5- Los demas componentes (dbgrid, dbedit, dbnavigator etc., etc....)
Saludos

Al González 22-05-2011 09:36:43

Hola.

Cita:

Empezado por Rofocale (Mensaje 400892)
tengo ligado el datasource -> clientdataset -> datasetprovider -> ibquery

Este enlace de componentes está bien cuando deseas estructurar en capas tu aplicación, aprovechar todas las ventajas de TClientDataSet, o ambas cosas. :)

El campo lo puedes definir como "columna calculada" (desde la misma sentencia SQL Select), como te sugiere Caral. Y el campo debe estar presente en ambos conjuntos de datos (en el IBQuery y en el ClientDataSet).

Al estar usando Firebird / InterBase, también tienes la opción de emplear los componentes de acceso a datos que te sugiere Caral.

Algo a tener en cuenta es que los componentes IBX (como el IBQuery) empiezan a dejar de ser compatibles con las versiones más recientes de Firebird. Considera utilizar dbExpress o algún otro en caso de que estés manejando alguna versión de este motor superior a la 1.5.

Saludos.

Al González. :)


La franja horaria es GMT +2. Ahora son las 04:50:45.

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