![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
¿Como Guardar un "RECORD" en un campo BLOB?
Tengo una aplicación en la que debo guardar un grupo de totales en una base de datos (en realidad no es mas que un arreglo dinamico) y estoy tratando de usar un unico campo blob para almacenar todos los datos. Pero no se como asignar mi variable al contenido del campo memo.
Algo así: Código:
Type tRsm = Record Exe : Currency; Imp : Array [1..3,1..2] of Currency; Nac : Array [1..3,1..2] of Currency; Ret : Array [1..3] of Currency; tDedu : Currency; Aju : Currency; End; // Defino una variable Var rsm : tRsm; // Pero como la guardo Begin db.edit // db.Rsm.Assign(rsm); // No Funciono // db.Rsm.asVariant := rsm; // Menos db.post; End;
__________________
Sitrico |
#2
|
||||
|
||||
Tratándose de un record de tamaño fijo, primero no utilizaría un campo BLOB ya que esta información cave en 144 bytes, por otro lado, tienes muchas formas de hacerlo, por ejemplo copiando el fragmento de memoria que ocupa el stream en un string, o bien utilizando registros mixtos:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. ![]() |
#3
|
||||
|
||||
Gracias por la sugerencia, pero muy a mi pesar el registro no siempre será el mismo y menos del mismo tamaño por eso opté por complicarme la vida con los campos blob. Pero en cuanto a la segunda opción como copio la memoria ocupada por una variable (o arreglo) a un stream. estoy usando:
Pero no funciona la lectura porque se me genera una "EReadError"
__________________
Sitrico Última edición por sitrico fecha: 28-06-2004 a las 23:20:13. |
#4
|
||||
|
||||
![]() Cita:
m.seek(0, soFromBeginning); antes de la llamada a ReadBuffer. Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
||||
|
||||
Cita:
¿No prefieres tener tablas para cada tipo de registro, y guardar los datos en campos?
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. ![]() |
#6
|
||||
|
||||
Gracias a ambos, lo del campo con el identificador para el tipo de datos ya lo tenia previsto. En cuanto a la lectura, efectivamente faltaba el "m.seek" la rutina quedo así:
Con estos procedimientos creo que se puede leer y/o guardar cualquier buffer de memoria en un campo blob (ajustando el tipo del parametro del procedimiento).
__________________
Sitrico |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
|