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)
-   -   como guardo el contenido den un memo en mi BD?? (https://www.clubdelphi.com/foros/showthread.php?t=48459)

rodrigodeoz 25-09-2007 19:48:18

como guardo el contenido den un memo en mi BD??
 
por que cuando realizo la siguiente colsulta me guarda puros signos de interrogacion ejemplo si guardo hola me pone ??
Alguien que me ayude

Código Delphi [-]
with dm.qadulto do begin
        close;
        sql.Clear;
        sql.add('update nino set motivo=:0');
        SQL.Add('WHERE cve_cte=:cv');
        parambyname('cv').Value:=cni;
        parambyname('0').AsBlob:=mc.Text;
        execsql;
    end;

poliburro 25-09-2007 19:58:50

es que lo estas guardando como si fuera un campo binario. como has definido el campo en tu base de datos?, de tipo blob o de tipo Text?

enecumene 25-09-2007 20:00:54

poliburro se me adelanto, por favor nos puedes decir que base de datos usas?

Saludos.

rodrigodeoz 25-09-2007 20:11:39

USO acces, ya he tratado de guardar con asMemo pero este metodo no me permite guaradar gran cantidad de texto, y me dijeron que usara el asBlob pero me guarda puros ????????????????, el campo es motivo y en la BD esta como tipo memo

Caral 25-09-2007 20:20:46

Hola
Código Delphi [-]
with dm.qadulto do begin
close;
sql.Clear;
sql.add('update nino set motivo = :Q');
SQL.Add('WHERE cve_cte = :cv');
parambyname('cv').Value:= cni;
parambyname('Q').AsString:= mc.Text;
execsql;
end;
Si no el problema viene de Parameters.parambyname, access trabaja asi.
Solo opino.
Saludos

rodrigodeoz 25-09-2007 20:25:09

tu comentario es correcto el unico problema con el metodo asString solo puedo enviar parametros de hasta 255 caracteres y yo necesito almacenar mas. pero gracias por el comentorio

Caral 25-09-2007 20:29:13

Hola
Pues a mi me trabaja en un campo memo, con largas listas de muchos caracteres incluso fotos.
Pero bueno, debe ser algo mas.
Saludos

poliburro 25-09-2007 20:48:58

Cita:

Empezado por rodrigodeoz (Mensaje 233759)
tu comentario es correcto el unico problema con el metodo asString solo puedo enviar parametros de hasta 255 caracteres y yo necesito almacenar mas. pero gracias por el comentorio


En delphi, el tipo String en realidad hace referencia al WideString, donde una variable de este tipo puede almacenar más de un giga de información.

rodrigodeoz 25-09-2007 20:53:50

ok. eso dato no lo sabia, pero = no me raliza el update me marcfa error: 'acces Violation' y ya no se que hacerle ya intente con asmemo, con asblob, asstring y nada, con el unico que me deja guardar gran cantidad de informacion es con el asBlob pero me lo guarda en binario creo por que me pones simbolos extraños en la BD y al momento de mostrarlo solo aparecen signos de interrogacion.:(

Caral 25-09-2007 21:32:37

Hola
Como no me gusta equivocarme, prefiero probarlo.
Aqui esta un ejemplo, usando casi exactamente lo que haces, con sus parametros y demas.
He insertado muchos mas de 300 caracteres y funciona perfectamente, si lees mi primer post sabras mas.
Bueno, aqui esta.
Saludos

rodrigodeoz 25-09-2007 22:00:45

de hecho tu ejemplo funciona muy bien, no se porq a mi no me quiere funcionar la consulta si es la misma, no se siu tendra algo que ver yo uso un ODBC, o que sea acces el que no permite al actualizacion pero bueno voy a atratar de checar haciendo todo desde 0 cero, muchas gracias por tu tiempo.

Caral 25-09-2007 22:08:26

Hola
Pregunto:
por que access por odbc?
Por que no por ado?
Saludos

rodrigodeoz 26-09-2007 17:26:03

Pues por q con el ADO tengo entendido que tienes que tener la BD en una carpeta especifica y no puesdes si tienes una conexion en red no se puede accesar a ella por medio del ADO


La franja horaria es GMT +2. Ahora son las 15:35:03.

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