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 21-02-2014
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 22
santiago14 Va por buen camino
Question Componente similar en FireDAC

Buenas, acabo de instalar Delphi XE5, hasta ahora muy bien.
Resulta que tengo un componente que debo cambiar, TIBSQL de los componentes IBX, pero no se cual es el similar en FireDAC.
Agradecería me mandaran una ayudita.

Gracias.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #2  
Antiguo 21-02-2014
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 22
santiago14 Va por buen camino
Wink

Me respondo a mí mismo, pero de seguro servirá para toda la gente que se pase a XE5.
Con el componente TFDQuery de los FireDAC la cosa se soluciona, de la siguiente manera:
Estoy en Firebird 2.1

En este caso hice un Insert y le pedí que me devolviera la clave primaria a través del Returning...
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  FDConnection1.Connected:=true;
  with FDQuery1 do
  begin
    close;
    sql.clear;
    sql.add('Insert Into det_recibos (cod_rec, renglon_det, cod_fact, monto_rec) ');
    SQL.Add('Select :codigo, :renglon, :codigo_factura, :monto ');
    SQL.Add('From rdb$database ');
    sql.Add('Returning cod_rec ');
    ParamByName('codigo').AsInteger:=3;
    ParamByName('renglon').AsInteger:=1;
    ParamByName('codigo_factura').AsInteger:=1;
    ParamByName('monto').AsFloat:=1000.98;
    try
      Open();
      edit1.Text:=FDQuery1.FieldByName('cod_rec').AsString;
      FDConnection1.Commit;
      Application.MessageBox(PWideChar('Lo hice'), PWideChar(self.Caption),
          MB_OK + MB_ICONINFORMATION);
    except
      on e:Exception do
      begin
        FDConnection1.Rollback;
        Application.MessageBox(PWideChar('Falló'), PWideChar(self.Caption),
          MB_OK + MB_ICONERROR);
      end;
    end;
  end;
end;
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #3  
Antiguo 22-02-2014
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.237
Poder: 20
ElKurgan Va camino a la fama
Thumbs up

Gracias por compartir la solución

Saludos
Responder Con Cita
  #4  
Antiguo 20-03-2014
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Poder: 20
darkerbyte Va por buen camino
Hola Santiago14.

Yo estoy por migrar de Delphi7 a XE5. En D7 utilizo ZeosBDO y veo que el "modus operandi" de los componentes es muy similar. Has usado Zeos? Si es así me gustaría saber cual es tu opinion Zeos vs FireDAC
Por cierto de tu codigo agregaste la linea:

FDConnection1.Commit;

Pero no vi ningun comando para iniciar la transaccion (FDConnection1.StartTransaction por ejemplo) , a caso FireDAC inicia automaticamente el modo transacción cuando mandas una consulta?
Responder Con Cita
  #5  
Antiguo 20-03-2014
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 22
santiago14 Va por buen camino
Smile

En el momento de hacer el ejemplo no lo tuve en cuenta pero, hay un componente TFDTransaction que hace todas las operaciones de transacción. Sería algo así como: trans.startTransaction; trans.Commit; trans.Rollback;

En cuanto a si Zeos o FireDAC. Hace un tiempo largo que no uso Zeos, lo he usado en unas aplicaciones pero luego me pasé a MDO (con el cual no tuve problemas y un excelente desempeño)
A FireDAC lo estoy probando ahora mientras paso mis aplicaciones a XE5 y puedo decir que, salvo algunas cosas propias del componente, es muy similar a MDO y el rendimiento ha sido muy bueno.

Por ahí se recomienda MyDAC, pero es pago.

Santiago.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Componente similar a TwwLookupdialog? bren Varios 5 03-04-2008 04:02:34
Componente similar a LookUpComboBox ZRR Varios 4 02-04-2008 17:37:28
Componente Similar a IView Alexis De la Cr Internet 2 04-01-2007 07:57:15
Componente similar a TButton Hagen OOP 3 02-12-2005 18:03:04
Componente Similar a NMHTTP1 JoanKa Conexión con bases de datos 0 17-01-2005 10:38:39


La franja horaria es GMT +2. Ahora son las 20:10:22.


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