Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-03-2004
squenda squenda is offline
No confirmado
 
Registrado: dic 2003
Ubicación: México D.F.
Posts: 61
Poder: 0
squenda Va por buen camino
ayuda con campos blob

Hola a todos, nuevamente el latoso de squenda jaja, bueno mi problema ahora es:

tengo un campo en donde requiero que mi cliente pueda capturar mas de 255 caracteres, de hecho el necesita capturar aproximadamente una hoja tamaño carta, asi que declare mi campo tipo BLOB SUB_TYPE 1, muy bien pero el problema es que nunca he usado este tipo y no se como hacerlo, de verdad no tengo ni idea, si alguien me pudiera ayudar mandandome algun ejemplo de como insertar y modificar dicho campo, estoy trabajando con interbase que viene con delphi 6, muchas gracias.
saludos.
Responder Con Cita
  #2  
Antiguo 01-04-2004
cahp cahp is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 90
Poder: 22
cahp Va por buen camino
La forma mas sencilla es hacerlo como en principio se trabaja con todos los tipos de datos, asignadole su componente de edicion, es decir un campo de tipo string lo editas con un DBedit, a uno de tipo blob, si es como tu caso para texto, le asignas un DBMemo o DBRichEdit.

Saludos
Responder Con Cita
  #3  
Antiguo 01-04-2004
squenda squenda is offline
No confirmado
 
Registrado: dic 2003
Ubicación: México D.F.
Posts: 61
Poder: 0
squenda Va por buen camino
Gracias Cahp pero no utilizo controles DB, alguna vez alguien me comento que se utilizaba algo llamado STREAM o algo asi, no lo recuerdo, asi que por favor aaayyuuuuudaaa!!, gracias.
Responder Con Cita
  #4  
Antiguo 01-04-2004
cahp cahp is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 90
Poder: 22
cahp Va por buen camino
que utilizas para la edicion?
es decir donde escribes el texto?

Si lo dices te puedo ayudar.

Saludos
Responder Con Cita
  #5  
Antiguo 02-04-2004
squenda squenda is offline
No confirmado
 
Registrado: dic 2003
Ubicación: México D.F.
Posts: 61
Poder: 0
squenda Va por buen camino
Hola CAHP, de antemano te agradezco tu atencion, mira yo utilizo controles normales, no uso controles db, en lugar de usar un DBEdit, uso un Edit, en lugar de usar un DBMemo uso un Memo, y asi me la llevo, como trabajo con puro query no me gustan los DB, y lo que hago que es que armo los querys al vuelo, ejemplo:

With qry_work, qry_work.SQL do
begin
Close;
Clear;
Add('INSERT INTO clientes (');
Add('Nombre,');
Add('Domicilio,');
Add('Observaciones');
Add('VALUES (');
Add(#39 + edt_nombre.text + #39 + ','); //Edit normal
Add(#39 + edt_domicilio.text + #39 + ','); //Edit normal
Add(#39 + m_observaciones.text + #39); //Memo normal
execSQL;
end;

pero nunca he utilizado tipos BLOB, asi que no se si utilizarlo como utilizaría un memo normal o que? espero que esta informacion te ayude a ayudarme jaja, mucha gracias y saludos
Responder Con Cita
  #6  
Antiguo 02-04-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cita:
Empezado por squenda
pero nunca he utilizado tipos BLOB, asi que no se si utilizarlo como utilizaría un memo normal o que?
Un campo Blob es un campo Memo.

En todo caso, no podrás asignar el contenido de un campo Blob en la misma sentencia SQL (como haces en el ejemplo), por lo que tendrás que recurrir a sentencias con parámetros. Entonces en el parámetro puedes asignarle directamente su valor si solo vas a guardar una string, o bien puedes utilizar métodos como el LoadFromFile para cargar datos desde un archivo, e incluso el LoadFromStream para, como te han comentado, cargar datos de un Stream (útil en el caso de que vayas a cargar datos binarios).

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #7  
Antiguo 05-04-2004
cahp cahp is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 90
Poder: 22
cahp Va por buen camino
Suponiendo la query:

Código:
Add('INSERT INTO clientes')
Add('Nombre,');
Add('Domicilio,');
Add('Observaciones');
Add('VALUES (:nombre, :domicilio, :observaciones) ');

seria:

Código:
Query.parambyname('Nombre').AsString :=  EditNombre.Text;
Query.parambyname('Domicilio').AsString :=  EditDomicilio.Text;
Query.parambyname('Observaciones').AsString :=  Memo1.lines.Text;
Query.ExecSQL;
A ver si te sirve eso.

Saludos.
Responder Con Cita
  #8  
Antiguo 05-04-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Has olvidado cerrar entre paréntesis la lista de campos, ejplo :

Código:
Add('INSERT INTO clientes (Nombre, Domicilio, Observaciones)');
Add('VALUES (:nombre, :domicilio, :observaciones) ');
Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #9  
Antiguo 05-04-2004
cahp cahp is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 90
Poder: 22
cahp Va por buen camino
cierto, y puede ser que falte algo mas, lo he hecho de memoria.

Gracias.

Saludos.
Responder Con Cita
  #10  
Antiguo 05-04-2004
Julià T. Julià T. is offline
Miembro
 
Registrado: may 2003
Ubicación: en el teclado
Posts: 314
Poder: 21
Julià T. Va por buen camino
Como SQUENDA me envió un mensaje privado, y he visto el tema, publico aquí la respuesta

Cita:
Hola SQUENDA:

Antes de empezar decirte que los campos Blob de texto les puedes asignar un DBMemo que solitos se encargan del trabajo

En el primer caso casi se podria solucionar poniendo;

Código:
       Add(QuotedStr( m_apuntes.text));//control TMemo 
       Add(QuotedStr( m_apuntes.text)+' )' );//control TMemo //aquí te falta cerrar parentesis del insert al final
En el segundo caso
Código:
    Add(':apuntes'+' )');//parametro//aquí te falta cerrar el parentesis del insert al final
    Prepared:=True;//para que se prepare la consulta y se regeneren los parámetros "hechos a mano"
    ParamByName('observaciones').AsBlob:= m_observaciones.text;
    ParamByName('apuntes').AsBlob:= m_apuntes.text;
Responder Con Cita
  #11  
Antiguo 08-04-2004
squenda squenda is offline
No confirmado
 
Registrado: dic 2003
Ubicación: México D.F.
Posts: 61
Poder: 0
squenda Va por buen camino
Hola a todos, pues solo quiero agradecer la ayuda para resolver mi problema, un saludo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:58: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
Copyright 1996-2007 Club Delphi