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 13-07-2007
Avatar de pereyra
pereyra pereyra is offline
Registrado
 
Registrado: jul 2007
Posts: 2
Poder: 0
pereyra Va por buen camino
Aplicacion consola para conectarse a firebird

Buenas noches
Desde hace tiempo que estoy buscando la manera de obtener datos de una base de datos firebird sin utilizar componentes visuales. Todos los ejemplos que encontré están basados en componentes visuales (la situación clásica).

Hasta ahora tengo lo siguiente:

Código Delphi [-]
program Test2007071203;
{$APPTYPE CONSOLE}  
uses
   SysUtils,
   DBTables,
   DB;  
var
   DataSource1: TDataSource;
   Table1: TTable;  
begin
   Table1 := TTable.Create(nil);
   Table1.DatabaseName:= 'dbagenda';
   Table1.TableName:='CONTACTO';
   Table1.Active := True;
   DataSource1 := TDataSource.Create(nil);
   DataSource1.DataSet:=Table1;
   readln;
end.


Así como está el código, creo un objeto TTable estableciendo las propiedades de la base de datos. Esto lo asocio luego con el TDataSource. La documentación que se adjunta con el IDE (Utilizo TurboDelphi) descansa toda la explicación en los componentes visuales.

Como mi intención es modelar nada más que los datos desde consola estoy totalmente perdido. Incluso, luego debo modificar datos en la base de datos y no encuentro algo que sea independiente de los componentes visuales que me permita hacerlo.

Desde ya, muchas gracias.

Última edición por pereyra fecha: 13-07-2007 a las 03:18:31. Razón: No aparece bien el código
Responder Con Cita
  #2  
Antiguo 13-07-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
No se si cuando dices "componentes visuales" te refieres realmente a componentes visuales o a componentes que se sueltan en el formulario.

Lo que tú estás haciendo aquí es crear una TTable por código, cosa que no es muy diferente de utilizarlo en un form. De todas formas no entiendo que quieres de cir con "modelar los datos".

Si usas un TTable, podras acceder a los datos, modificarlos, guardarlos,...
Eso es lo que quieres. ¿Qué tipo de salida necesitas?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 13-07-2007
mamaro mamaro is offline
Miembro
 
Registrado: mar 2004
Posts: 79
Poder: 21
mamaro Va por buen camino
Lightbulb hola

Saludos!

..

Si bien los componentes que se suelen utilizar pueden ser creados por código en tiempo de corrida, es mucho más cómodo utilizarlos en diseño ... pues lo más sencillo que se me ocurre es que utilices un Data Module (File->New->DataModule), luego incluyes el módulo en la cláusula uses (Ejem: uses ...., UDataModule1;) ... y listo, trabajás visualmente con los componentes de bases de datos.
Responder Con Cita
  #4  
Antiguo 16-07-2007
Avatar de pereyra
pereyra pereyra is offline
Registrado
 
Registrado: jul 2007
Posts: 2
Poder: 0
pereyra Va por buen camino
Solucionado

Al fin encontré lo que buscaba. Muchas gracias Neftali y mamaro por las sugerencias. Me ayudó para encontrar el camino.
Al final no usé BDE porque los datos VARCHAR del firebird no era leídos. Así que usé dbexpress, configurándolo previamente en el Turbo Delphi. Todo sin problemas. Aquí de el código de la aplicación consola que se conecta a una base de datos firebird utilizando dbexpress para que le sirva de referencia a alguien que pase por la misma situación que yo.
Saludos

Código Delphi [-]
program p01Select;

{En los ejemplos con base de datos se utilizará
dbexpress. Para trabajar con los componentes es
necesario agregar los Units DBXpress, SqlExpr y DB}

{$APPTYPE CONSOLE}

uses
  SysUtils,
  DBXpress,
  SqlExpr,
  DB;

var
  Conn: TSQLConnection;
  ds: TSQLDataSet;
  i,j: Integer;
  query:String;
  s1,s2:String;
begin
  Conn := TSQLConnection.Create(nil);
  try
    Conn.LoadParamsOnConnect:=True;
    Conn.ConnectionName:='agendaTest';
    Conn.LoginPrompt:=False;
    Conn.Connected:=True;


    ds:=TSQLDataSet.Create(nil);
    ds.SQLConnection:=Conn;
    s1:='%n';
    s2:='M%';
    query:=Concat(
    'select * from contacto ',
    'where nombre like ''',s1,''' ',
    'and apellido like ''',s2,'''');
    writeln(query);
    ds.CommandText:=query;
    ds.Open;

    ds.First;
    for I := 0 to ds.Fields.Count - 1 do
    begin
      write(ds.Fields[i].DisplayName,' : ');
    end;
    writeln;
    writeln('-------------------------------------------');

    j:=10;
    while (not ds.Eof) and (j>0) do
    begin
      for I := 0 to ds.Fields.Count - 1 do
      begin
        write(ds.Fields[i].AsString,' : ');
      end;
      writeln;

      ds.Next;
      Dec(j);
    end;
    ds.Close;

    Conn.Close;
    ReadLn;
  except
    on e:Exception do
    begin
      if Assigned(Conn) then
      begin
        Writeln('Excepcion:',e.Message);
        Conn.Close;
        Readln;
      end;
    end;
  end;

end.

Última edición por pereyra fecha: 16-07-2007 a las 17:18:38.
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
alguien ha utilizado Firebird DDX provider? (conectarse con db en firebird!) JuanErasmo .NET 1 04-11-2006 16:17:12
problema aplicacion consola cuscus API de Windows 1 01-07-2005 16:07:16
problema con aplicación para consola spab Varios 5 20-06-2005 11:25:51
Consola para FireBird 1.5? El_Perrito Firebird e Interbase 2 12-08-2004 17:48:21
Aplicacion de consola JorgeBec Varios 6 28-05-2004 23:45:26


La franja horaria es GMT +2. Ahora son las 08:35:00.


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