FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Crear tabla Auxiliar
Hola.-
Programando en Intraweb necesito crearme una tabla auxiliar en memoria para que temporalmente se me vayan almacenando los datos hasta que se le de al botón aceptar y se almacenen definitivamente en la base de datos. Algo así como.- public tablaAux: TADOTable; campo: TField; end; ... tablaAux:=TADOTable.Create(Nil); tablaAux.Name:='prueba'; campo:=TField.Create(Nil); campo.fieldKind:=(fkData); campo:=TIntegerField.Create(Nil); campo.FieldName:='ID_ART'; campo.Name:='ID_ART'; campo.DataSet:=prueba; tablaAux.Open; tablaAux.Insert; Haciendo una traza al llegar a la instrucción tablaAux.Open me da el error de Missing Connection, pero ¿Para que necesito crearme una conexión que apunte a una BD si lo que quiero es simplemente crearme una tabla en memoria? Muchas gracias |
#2
|
||||
|
||||
Es que la TADOTable no está pensada para crear tablas en memoria, sinó a través de una conexión. Prueba con TClientDataSet o con TRxMemoryTable, de las rusas.
__________________
E pur si muove |
#3
|
|||
|
|||
Con el TClientDataSet tampoco funciona. Respecto a TRxMemoryTable no encuentro ese componente, supongo que habrá que crearlo dinamicamente, ¿Cual es la forma de crearlo y almacenar información en él?
Gracias. |
#4
|
|||
|
|||
Estoy intentando con diversos componentes intentar simular una tabla, creo que se podría hacer con un TIWList, asignandole un identificador que identifique el campo y luego el valor (y futuros valores) que contendrá.
Algo así como.- lista.Items.Create; lista.Items.Insert(1,'valor del campo1'); lista.Items.Insert(2,'valor del campo2'); Me da error el error al insertar: "Intervalor fuera de rango". En todas las propiedades de TIWList no identifico cual es la que me permite "reservar" espacio de rango. ¿Existe esa propiedad o hay que hacerlo de otra manera? |
#5
|
||||
|
||||
¿Por qué descartaste tan rápido lo de ClientDataSets? No indicaste por qué no te funcionó pero pienso que si los puedes usar:
Usas FieldDefs para crear la estructura de campos y CreateDataSet para crear la tabla en memoria. // Saludos |
#6
|
||||
|
||||
Ups. Ahora que lo veo con más detenimiento, tampoco sé por qué descartaste ADO. Puedes usar AdoDataSet. Mira este enlace:
http://groups.google.com.mx/groups?h...ublic.delphi.* de los grupos de noticias de Borland. En el último mensaje viene incluso un ejemplo. // Saludos |
#7
|
||||
|
||||
Hilo movido desde internet a conexión con bases de datos.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#8
|
|||
|
|||
Al final lo he hecho con RxMemoryData y va perfectamente, salvo en una cosa, quisiera asociar los datos de ese RxMemoryData a un grid, para ello me creo el grid y un datasource.
El codigo que pongo es.- RXMemoryData1.Active:=True; RxMemoryData1.Open; gridAddPedido.DataSource:=DataSource1; Pero el grid ni se inmuta, a pesar de que compruebo que hay datos, pero el grid sale totalmente vacio. ¿Qué me falta para poder conectarlo correctamente al grid? Gracias. |
#9
|
||||
|
||||
Y has establecido la propiedad DataSet del DataSource??
no conozco el rxMemoryData... pero que no hacer rxmem.Active := True es lo mismo que rxmem.Open realmente es necesario esto?? Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#10
|
|||
|
|||
Si, por supuesto, el Dataset del datasource apunta al RxMemory Data, pero no muestra nada.
¿Qué podrá ser? |
|
|
|