Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-12-2007
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 20
thelibmx Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Ya sabes, no me hagas mucho caso por que no entiendo muy bien tu codigo, pero lo que veo es esto.
si mira en pocas palabras lo que hago es que cuando yo aprieto un boton, se abre un opendialog, en el escojo un archivo, y ese archivo cualquiera que sea lo asigno a un olecontainer para visualizarlo, puede ser excel, word, pdf,powert point, etc. entonces yo quiero que ese archivo se suba a una base de datos que tengo, con otros datos que tengo en unos cuadros de texto, yo agrego datos a la base de datos atraves de un query, lo que no se es como agregar el archivo a la base de datos, el codigo que utilizo para eso es asi
Código Delphi [-]
Querygestion.Close;
Querygestion.SQL.Clear;
Querygestion.SQL.add('insert into tabla_prueba(llave,nombre) values('+Edit1.Text+','''+tdEditAsunto.Text+''')'); 
Querygestion.ExecSQL;
showmessage('agregado');
con eso inserto los datos, pero el archivo que seleccione lo quiero insertar en la misma tabla en un campo que se llama 'archivobob', pero eso es lo que no se, quisiera si se pudiera, hacer algo mas o menos asi para poder insertar el archivo tambien
Código Delphi [-]
Querygestion.Close;
Querygestion.SQL.Clear;
Querygestion.SQL.add('insert into tabla_prueba(llave,nombre,archivoblob) values('+Edit1.Text+','''+tdEditAsunto.Text+''','+archivoquequierosubir+')'); 
Querygestion.ExecSQL;
showmessage('agregado');

se me complica lo de subir el archivo, los codigos que hay en los foros, he intentado probarlos y pues no los comprendo bien, pues no obtengo resultados les agradeceria mucho si me pudieran ayudar
__________________
En movimiento...

Última edición por thelibmx fecha: 13-12-2007 a las 21:01:58.
Responder Con Cita
  #2  
Antiguo 13-12-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Yo de estas cosas no se, pero si el nombre blob es una variable de tipo tstream (blob:TStream; ), no se tendria que concatenar tambien?

Código Delphi [-]
Querygestion.SQL.add('insert into tabla_prueba(llave,nombre,archivoblob) values('+Edit1.Text+','''+tdEditAsunto.Text+''','+blob+')');
No se, la verdad es solo un pensamiento.
Saludos
Responder Con Cita
  #3  
Antiguo 13-12-2007
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 20
thelibmx Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Yo de estas cosas no se, pero si el nombre blob es una variable de tipo tstream (blob:TStream; ), no se tendria que concatenar tambien?


Código Delphi [-]
Querygestion.SQL.add('insert into tabla_prueba(llave,nombre,archivoblob) values('+Edit1.Text+','''+tdEditAsunto.Text+''','+blob+')');


si pero marca error de tipo de datos
[Pascal Error] frmenu.pas(198): E2010 Incompatible types: 'string' and 'TStream'
alguna sugerencia?
__________________
En movimiento...
Responder Con Cita
  #4  
Antiguo 13-12-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Pues parece que el campo blob es string, recuerda, no se de esto.
Tal vez asi:
Código Delphi [-]
Querygestion.SQL.add('insert into tabla_prueba(llave,nombre,archivoblob) values('+Edit1.Text+','''+tdEditAsunto.Text+''','+QuotedStr(blob)+')');
Saludos
Responder Con Cita
  #5  
Antiguo 13-12-2007
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 20
thelibmx Va por buen camino
agradesco tu ayuda en verdad, yo estoy mas perdido, pero algo bueno siempre se aprende, se supone que blob esta declarado como Tstream, aun con el QuotedStr sigue marcando el mismo error, creo que hay algo que se esta pasando o tal ves es la manera incorrecta de hacerlo

Código Delphi [-]
procedure TFrmenuu.BitBtn1Click(Sender: TObject);
var
blob:TStream;
blobf:TBlobField;
fs:tstream;
begin
if OpenDialog.Execute then
begin
Olecontainer1.CreateObjectFromFile(PChar(OpenDialog.FileName),false);
vertbar.max:= Olecontainer1.Height;
horzbar.max:= Olecontainer1.Height;
Panelcontenedor.Visible:=true;
Querygestion.Close;
Querygestion.SQL.Clear;
Querygestion.SQL.add('insert into tabla_prueba(llave,nombre,archivoblob) values('+Edit1.Text+','''+tdEditAsunto.Text+''','+QuotedStr(blob)+')');
Querygestion.ExecSQL;
//Querygestion.Open;
showmessage('agregado');

blob:=querygestion.CreateBlobStream(querygestion.DataSource.DataSet.FieldByName('archivoblob'), bmwrite);
  //
  try
    blob.Seek(0, soFromBeginning);
    with TFileStream.Create(OpenDialog.FileName, fmCreate) do
      try
        CopyFrom(blob, blob.Size)
      finally
        Free
      end;
  finally
    blob.Free
  end;
end;
end;

no pense que fuera tan complicado subir un archivo a una base de datos
__________________
En movimiento...
Responder Con Cita
  #6  
Antiguo 13-12-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
lo he tratado de arreglar pero no se ve bien
Si algun moderador lo arregla, por favor
Esta en el siguiente post.
Gracias

Última edición por Caral fecha: 13-12-2007 a las 22:11:30.
Responder Con Cita
  #7  
Antiguo 13-12-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Y asi:

Código Delphi [-]var blob:TBlobStream;
blobf:TBlobField;
fs:tstream;
begin

Este es el ejemplo completo

Código Delphi [-]procedure TForm1.Button1Click(Sender: TObject);
var
Stream1: TBlobStream;
Stream2: TStream;
begin
Stream1 := TBlobStream.Create(Table1Notes, bmRead);
try ClientDataSet1.Edit; { here’s a different way to create a blob stream }
Stream2 := ClientDataSet1.CreateBlobStream(ClientDataSet1.FieldByName('Remarks'), bmReadWrite);
try
Stream2.CopyFrom(Stream1, Stream1.Size); ClientDataSet1.Post;
finally
Stream2.Free;
end;

finally Stream1.Free;
end;
end;



Insisto, no se, pero esta en el help
Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Insertar y recuperar una imagen en un campo blob bluegene Lazarus, FreePascal, Kylix, etc. 1 30-03-2007 20:07:21
Insertar y recuperar una imagen en un campo blob bluegene MySQL 0 30-03-2007 20:01:43
Insertar datos en archivo word desde aplicacion Delphi JulioGO Servers 1 24-02-2007 22:43:16
insertar registro en campo blob con asp oarias Firebird e Interbase 0 09-02-2007 18:42:50
¿Como Guardar un Bmp/Jpg en un campo BLOB desde Delphi? LuCkY_007 MySQL 4 18-01-2007 12:05:26


La franja horaria es GMT +2. Ahora son las 01:33:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi