Ver la Versión Completa : Problema al guardar en campo BLOB firebird
saludos.
recurro a uds a ver si me echan una manito ya q tengo problemas al guardar datos en un campo memo de firebird 2.5
tengo este campo en la base de datos:
PRUEBA BLOB SUB_TYPE 1 SEGMENT SIZE 4096
y este codigo
Opciones.Edit;
Opciones.FieldByName('PRUEBA').AsString:='prueba cinco seis';
Opciones.Post;
IBTransaction.CommitRetaining;
pero no se porque desde delphi solo me muestra el primer caracter
y desde IBEXpert me lo muestra asi p r u e b a c i n c o s e i s
y si le doy editar tambien solo me muestra el primer caracter y si lo edito desde alli si funciona bien.
uso delphi 2010 componentes interbase para las tablas el TIBDataset
saludos
celades1
25-06-2013, 08:21:45
hola
prueba con size 80, que es como yo trabajo
CREATE DOMAIN T_MEMO AS
BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET NONE;
si no te carga bien con el asstring deberias hacerlo con loadfromstream.
si tienes problemas te pondre un ejemplo
Saludos
Hola gracias por responder,
Fijate q me fije este post
http://www.clubdelphi.com/foros/showthread.php?t=80380
e ise esto
FileName, FieldName: string;
BLOB:TSTREAM;
STREAM:TSTREAM;
begin
Filename:='D:\AAA.txt';
BLOB:=TFILESTREAM.Create(Filename,FMOPENREAD); //Asignamos el archivo abierto al //stream blob.
Opciones.Edit;; // Insertamos un nuevo registro.
STREAM:=Opciones.CreateBlobStream(Opciones.FieldByName('PRUEBA'), bmWrite); //Preparamos el campo blob para escritura.
STREAM.CopyFrom(BLOB,BLOB.Size); //Copiamos el archivo que hemos abierto al Stream //para que el query lo guarde.
BLOB.DESTROY;
STREAM.DESTROY;
Opciones.Post; //guardo el registro.
IBTransaction.CommitRetaining;
pero me aparecen puros ?????????????????? signos de interrogacion en el campo
tambien e sustituido esta linea
BLOB:=TFILESTREAM.Create(Filename,FMOPENREAD);
por esta otra
BLOB:=TStringStream.Create('uno dos tres');
y pasa lo mismo guarda puros signos de interrogacion???
saludos
Bueno e hecho la prueba asi
Opciones.Edit;
Opciones.FieldByName('PRUEBA').Text:='uno dos tres';
Opciones.Post;
IBTransaction.CommitRetaining;
y funciona bien en una aplicacion delphi estandar, pero yo lo estoy hacien desde un servico delphi y me sigue sin funcionar me lo sigue guardando asi: u n o d o s t r e s y cuando lo edito en IBEXpert se borran todos los caracteres menos el primero
saludos
Casimiro Notevi
25-06-2013, 19:12:01
Recuerda, no somos adivinos ni tenemos bola de cristal, si no pones todo el código de lectura y grabación ¿cómo te ayudamos? ;)
Hola, saludos
el codigo de grabacion son los q e puesto arriba
y para ver lo que se guarda uso el IBEXpert u o un programita delphi con un TDBMemo
Casimiro Notevi
25-06-2013, 19:31:00
Bien, había entendido que te habías fijado en ese código para hacer el tuyo. Bueno, entonces se supone que tienes un campo blob del tipo texto, algo así:
domComentarios blob sub_type text
Y ese campo lo usas para guardar texto normal, ¿es así?
Explica exactamente qué haces o qué quieres hacer, ¿guardar texto que teclea el usuario?, ¿leer texto de un fichero?, ¿ese fichero es texto "plano"?, ¿se lee texto de la memoria?, etc.
correcto es para guardar texto plano generado en el servicio de una variable string, decidi este tipo de datos xq necesito ir guardando alli una especie de observacion y que pueda ir creciendo sin problemas
Casimiro Notevi
25-06-2013, 20:11:21
correcto es para guardar texto plano generado en el servicio de una variable string, decidi este tipo de datos xq necesito ir guardando alli una especie de observacion y que pueda ir creciendo sin problemas
Pero con "creciendo" ¿qué quieres decir?, ¿muchos registros?, ¿un registro que va ampliándose?
si, un registro que va ampliándose
Casimiro Notevi
25-06-2013, 20:41:13
Entonces olvídate de stream y todo eso, trátalo como un campo de texto normal.
Casimiro Notevi
03-10-2015, 00:15:36
Tengo una tabla personales, lo que quiero consultar es si el campo blob (foto), tiene dato, como consulto ?
if QConsultaFoto. ?????? then
Alguna idea ?
Gracias,
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php), gracias por tu colaboración :)
jo3litro
05-10-2015, 22:57:24
Creo que resolvi el problema, tome el consejo de tratarlo como un campo de texto normal y funciona,
Gracias !!!
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.