Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-06-2012
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 23
JXJ Va por buen camino
php meter/sacar/update imagen binario de base de datos mysql/firebird

hola..

tengo una duda

para sacar de la base de datos archivos binarios. imagenes documentos etc....

en delphi uso la unit de aqui
pero en php como se hace si la base de datos es mysql / firebird????
Código Delphi [-]
unit EmpresaClass;

interface

uses
  Forms, Windows, ActiveX, shlobj, ShellAPI, SysUtils, Registry, IniFiles, Dialogs, classes,  DB, MemDS, DBAccess, IBC, Graphics, jpeg, pngimage, ExtCtrls;

type
  TEmpresaClass = class(TObject)
  private
///=================================
    Transaction1: TIBCTransaction;
    Transaction2: TIBCTransaction;
    Transaction3: TIBCTransaction;
    Transaction4: TIBCTransaction;
    Transaction5: TIBCTransaction;
    Transaction6: TIBCTransaction;
    Transaction7: TIBCTransaction;
    Transaction8: TIBCTransaction;
    Transaction9: TIBCTransaction;
    Transaction10: TIBCTransaction;
    Transaction11: TIBCTransaction;
///=================================
  public
    Conectado : Boolean;
    Conexion: TIBCConnection;
///=================================
    Query1: TIBCQuery;
    Query2: TIBCQuery;
    Query3: TIBCQuery;
    Query4: TIBCQuery;
    Query5: TIBCQuery;
    Query6: TIBCQuery;
    Query7: TIBCQuery;
    Query8: TIBCQuery;
    Query9: TIBCQuery;
    Query10: TIBCQuery;
    Query11: TIBCQuery;
///=================================
  ID         : integer;
  RFC        : string;
  NOMBRE     : string;
  CALLE      : string;
  NUMEXT     : string;
  NUMINT     : string;
  COLONIA    : string;
  CP         : string;
  ESTADO     : string;
  MUNICIPIO  : string;
  PAIS       : string;
  LEYENDA1   : string;
  LEYENDA2   : string;
  LOGO                  : TField;

  imgLogo: TImage;

    procedure Datos;

    procedure Registra(logo:string);
    procedure Actualiza(logo:string);
    constructor Create(Servidor:string; Puerto :string; BDPath:string; BDNombre :string; Usuario :string; Pass:string; Codificacion : string); overload;
    destructor Destroy; override;
  end;

//var
//  EnterpriseB: TEnterpriseClass;

implementation

//uses
//  Unit1;


constructor TEmpresaClass.Create(Servidor:string; Puerto :string; BDPath:string; BDNombre :string; Usuario :string; Pass:string; Codificacion : string);
begin

  {$REGION 'CREACION'}
  inherited Create;

    Conectado := False;

  Conexion := TIBCConnection.Create(nil);
  Conexion.Params.Clear;
  Conexion.LoginPrompt := False;
  Conexion.Connected := False;
  Conexion.Database :=  Servidor + '/' + Puerto + ':' + IncludeTrailingPathDelimiter(BDPath) + BDNombre;
  Conexion.Params.Values['user_name'] := Usuario;
  Conexion.Params.Values['password'] := Pass;
  Conexion.Params.Values['lc_ctype'] := Codificacion;

  Conexion.SQLDialect := 3;

  Conexion.ClientLibrary := 'fbclient.dll';
  // muy importante para usar unicode poner esto a true
  Conexion.Options.UseUnicode := true;
Conexion.Connect;
 if Conexion.Connected  then
 begin
   Conectado := True;
 end
 else
 begin
   Conectado := False;
 end;


  Transaction1 := TIBCTransaction.Create(nil);
  Transaction1.DefaultConnection := Conexion;
  Transaction1.Params.Clear;
  Transaction1.Params.Add('read_committed');
  Transaction1.Params.Add('rec_version');
  Transaction1.Params.Add('nowait');

  Transaction2 := TIBCTransaction.Create(nil);
  Transaction2.DefaultConnection := Conexion;
  Transaction2.Params.Clear;
  Transaction2.Params.Add('read_committed');
  Transaction2.Params.Add('rec_version');
  Transaction2.Params.Add('nowait');

  Transaction3 := TIBCTransaction.Create(nil);
  Transaction3.DefaultConnection := Conexion;
  Transaction3.Params.Clear;
  Transaction3.Params.Add('read_committed');
  Transaction3.Params.Add('rec_version');
  Transaction3.Params.Add('nowait');

  Transaction4 := TIBCTransaction.Create(nil);
  Transaction4.DefaultConnection := Conexion;
  Transaction4.Params.Clear;
  Transaction4.Params.Add('read_committed');
  Transaction4.Params.Add('rec_version');
  Transaction4.Params.Add('nowait');

  Transaction5 := TIBCTransaction.Create(nil);
  Transaction5.DefaultConnection := Conexion;
  Transaction5.Params.Clear;
  Transaction5.Params.Add('read_committed');
  Transaction5.Params.Add('rec_version');
  Transaction5.Params.Add('nowait');

  Transaction6 := TIBCTransaction.Create(nil);
  Transaction6.DefaultConnection := Conexion;
  Transaction6.Params.Clear;
  Transaction6.Params.Add('read_committed');
  Transaction6.Params.Add('rec_version');
  Transaction6.Params.Add('nowait');

  Transaction7 := TIBCTransaction.Create(nil);
  Transaction7.DefaultConnection := Conexion;
  Transaction7.Params.Clear;
  Transaction7.Params.Add('read_committed');
  Transaction7.Params.Add('rec_version');
  Transaction7.Params.Add('nowait');

  Transaction8 := TIBCTransaction.Create(nil);
  Transaction8.DefaultConnection := Conexion;
  Transaction8.Params.Clear;
  Transaction8.Params.Add('read_committed');
  Transaction8.Params.Add('rec_version');
  Transaction8.Params.Add('nowait');

  Transaction9 := TIBCTransaction.Create(nil);
  Transaction9.DefaultConnection := Conexion;
  Transaction9.Params.Clear;
  Transaction9.Params.Add('read_committed');
  Transaction9.Params.Add('rec_version');
  Transaction9.Params.Add('nowait');

  Transaction10 := TIBCTransaction.Create(nil);
  Transaction10.DefaultConnection := Conexion;
  Transaction10.Params.Clear;
  Transaction10.Params.Add('read_committed');
  Transaction10.Params.Add('rec_version');
  Transaction10.Params.Add('nowait');

  Transaction11 := TIBCTransaction.Create(nil);
  Transaction11.DefaultConnection := Conexion;
  Transaction11.Params.Clear;
  Transaction11.Params.Add('read_committed');
  Transaction11.Params.Add('rec_version');
  Transaction11.Params.Add('nowait');
///=================================
  Query1 := TIBCQuery.Create(nil);
  Query1.Transaction := Transaction1;
  Query1.Connection := Conexion;
  Query1.FetchAll := True;

  Query2 := TIBCQuery.Create(nil);
  Query2.Transaction := Transaction2;
  Query2.Connection := Conexion;
  Query2.FetchAll := True;

  Query3 := TIBCQuery.Create(nil);
  Query3.Transaction := Transaction3;
  Query3.Connection := Conexion;
  Query3.FetchAll := True;

  Query4 := TIBCQuery.Create(nil);
  Query4.Transaction := Transaction4;
  Query4.Connection := Conexion;
  Query4.FetchAll := True;

  Query5 := TIBCQuery.Create(nil);
  Query5.Transaction := Transaction5;
  Query5.Connection := Conexion;
  Query5.FetchAll := True;

  Query6 := TIBCQuery.Create(nil);
  Query6.Transaction := Transaction6;
  Query6.Connection := Conexion;
  Query6.FetchAll := True;

  Query7 := TIBCQuery.Create(nil);
  Query7.Transaction := Transaction7;
  Query7.Connection := Conexion;
  Query7.FetchAll := True;

  Query8 := TIBCQuery.Create(nil);
  Query8.Transaction := Transaction8;
  Query8.Connection := Conexion;
  Query8.FetchAll := True;

  Query9 := TIBCQuery.Create(nil);
  Query9.Transaction := Transaction9;
  Query9.Connection := Conexion;
  Query9.FetchAll := True;

  Query10 := TIBCQuery.Create(nil);
  Query10.Transaction := Transaction10;
  Query10.Connection := Conexion;
  Query10.FetchAll := True;

  Query11 := TIBCQuery.Create(nil);
  Query11.Transaction := Transaction11;
  Query11.Connection := Conexion;
  Query11.FetchAll := True;

end;

destructor TEmpresaClass.Destroy;
begin
  inherited Destroy;
  Conexion.Free;
///=================================
  Transaction1.Free;
  Transaction2.Free;
  Transaction3.Free;
  Transaction4.Free;
  Transaction5.Free;
  Transaction6.Free;
  Transaction7.Free;
  Transaction8.Free;
  Transaction9.Free;
  Transaction10.Free;
  Transaction11.Free;
///=================================
  Query1.Free;
  Query2.Free;
  Query3.Free;
  Query4.Free;
  Query5.Free;
  Query6.Free;
  Query7.Free;
  Query8.Free;
  Query9.Free;
  Query10.Free;
  Query11.Free;
///=================================

  imgLogo.Free;
end;


procedure TEmpresaClass.Datos;
var
  SQL: string;
  I: integer;

  MemoryStreamLogo: TMemoryStream;
  JpgLogo: TJpegImage;
  fldCampoLogo: TField;
  StreamLogo: TStream;

  // variables para cedula
  MemoryStreamCedula: TMemoryStream;
  JpgCedula: TJpegImage;
  fldCampoCedula: TField;
  StreamCedula: TStream;
begin
  SQL := 'SELECT ';
  SQL := SQL + ' ID, RFC, NOMBRE, CALLE, NUMEXT, ';
  SQL := SQL + ' NUMINT, COLONIA, CP, ESTADO, MUNICIPIO,  ';
  SQL := SQL + ' PAIS, LEYENDA1, LEYENDA2,LOGO ';
  SQL := SQL + ' FROM DATOSEMPRESA';
  SQL := SQL + ' WHERE ID = ''' +   IntToStr(1) + '''';

    imgLogo := TImage.create(nil);

    Query1.Close;
    Query1.SQL.Clear;

    Query1.SQL.Add(SQL);
    Query1.Execute;

    for I := 0 to Query1.RecordCount - 1 do
    begin
        ID         := Query1.Fields[0].AsInteger;
        RFC        := Query1.Fields[1].AsString;
        NOMBRE     := Query1.Fields[2].AsString;
        CALLE      := Query1.Fields[3].AsString;
        NUMEXT     := Query1.Fields[4].AsString;
        NUMINT     := Query1.Fields[5].AsString;
        COLONIA    := Query1.Fields[6].AsString;
        CP         := Query1.Fields[7].AsString;
        ESTADO     := Query1.Fields[8].AsString;
        MUNICIPIO  := Query1.Fields[9].AsString;
        PAIS       := Query1.Fields[10].AsString;
        LEYENDA1   := Query1.Fields[11].AsString;
        LEYENDA2   := Query1.Fields[12].AsString;

   //procesamos el campo para logos
      JpgLogo := nil;
      MemoryStreamLogo := nil;
      try
        MemoryStreamLogo := TMemoryStream.create;
        fldCampoLogo     := Query1.FieldByName('LOGO') as TBlobField;
        StreamLogo       := Query1.CreateBlobStream(fldCampoLogo, bmRead);

        MemoryStreamLogo.LoadFromStream(StreamLogo);

        JpgLogo := TJpegImage.create;
        JpgLogo.LoadFromStream(MemoryStreamLogo);
        imgLogo.Picture.Assign(JpgLogo);
      except
        imgLogo.Picture.Assign(nil);
        JpgLogo.Free;
      end;
      JpgLogo.Free;
      MemoryStreamLogo.Free;

      Query1.Next;
    end;


end;

procedure TEmpresaClass.Actualiza(logo:string);
begin
              Query1.Close;
              Query1.SQL.Clear;
              Query1.SQL.Add('UPDATE DATOSEMPRESA SET ');
              Query1.SQL.Add('RFC = '''                   + RFC+ ''',');
              Query1.SQL.Add('NOMBRE = '''                + NOMBRE + ''',');
              Query1.SQL.Add('CALLE = '''                 + CALLE + ''',');
              Query1.SQL.Add('NUMEXT = '''        + NUMEXT + ''',');
              Query1.SQL.Add('NUMINT = '''        + NUMINT + ''',');
              Query1.SQL.Add('COLONIA = '''               + COLONIA + ''',');
              Query1.SQL.Add('CP = '''                    + CP + ''',');
              Query1.SQL.Add('ESTADO = '''                + ESTADO + ''',');
              Query1.SQL.Add('MUNICIPIO = '''             + MUNICIPIO + ''',');
              Query1.SQL.Add('PAIS = '''                  + PAIS+ '''');
              Query1.SQL.Add('WHERE ID = ''' +  IntToStr(1) + '''');
              Query1.ExecSQL;

    if (FileExists(logo)) then
    begin
      Query1.Close;
      Query1.SQL.Clear;
      Query1.SQL.Add('UPDATE DATOSEMPRESA SET LOGO = :blbLogo');
      Query1.SQL.Add('WHERE ID = ''' + IntToStr(1) + '''');
      Query1.ParamByName('blbLogo').LoadFromFile(logo, ftBlob);
      Query1.ExecSQL;
    end;
end;


procedure TEmpresaClass.Registra(logo:string);
begin
     Query1.Close;
     Query1.SQL.Clear;
     Query1.SQL.Add('INSERT INTO DATOSEMPRESA ');
     Query1.SQL.Add('(');
     Query1.SQL.Add(' RFC, NOMBRE, CALLE, NUMEXT, ');
     Query1.SQL.Add(' NUMINT, COLONIA, CP, ESTADO, MUNICIPIO,  ');
     Query1.SQL.Add(' PAIS, ACTIVADO, LOGO');
     Query1.SQL.Add(' )');
     Query1.SQL.Add('  VALUES');
     Query1.SQL.Add('( ');
     Query1.SQL.Add(' :RFC, :NOMBRE, :CALLE, :NUMEXT, ');
     Query1.SQL.Add(' :NUMINT, :COLONIA, :CP, :ESTADO, :MUNICIPIO,  ');
     Query1.SQL.Add(' :PAIS, :ACTIVADO, :LOGO');
     Query1.SQL.Add(' )');
     Query1.ParamByName('RFC').AsString           := RFC ;
     Query1.ParamByName('NOMBRE').AsString        := NOMBRE ;
     Query1.ParamByName('CALLE').AsString         := CALLE;
     Query1.ParamByName('NUMEXT').AsString        := NUMEXT;
     Query1.ParamByName('NUMINT').AsString        := NUMINT;
     Query1.ParamByName('COLONIA').AsString       := COLONIA;
     Query1.ParamByName('CP').AsString            := CP;
     Query1.ParamByName('ESTADO').AsString        := ESTADO;
     Query1.ParamByName('MUNICIPIO').AsString     := MUNICIPIO ; 
     Query1.ParamByName('PAIS').AsString          := PAIS;
     Query1.ParamByName('ACTIVADO').asinteger := 1;

         if FileExists(logo) then
    begin
      Query1.ParamByName('LOGO').LoadFromFile(logo, ftBlob);
    end;


     Query1.Execute;
end;

end.
Responder Con Cita
 



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
DB firebird meter y sacar texto e imagenes a campos blob , con delphi JXJ Firebird e Interbase 1 11-10-2010 11:52:34
Guardar una imagen a una base de datos en mySQL Elqui MySQL 5 18-12-2009 01:05:11
sacar filas y columnas desde base de datos (Profgrid) robertillo Varios 8 10-04-2007 03:36:01
problemas con consulta SQL meter a la base de datos memehua SQL 15 07-03-2007 15:06:22
de donde sacar Base de datos de provincias poblaciones y CP? Halfo Varios 1 23-07-2004 15:49:15


La franja horaria es GMT +2. Ahora son las 05:24:50.


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