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

 
 
Herramientas Buscar en Tema Desplegado
  #24  
Antiguo 31-08-2007
Novás Novás is offline
Miembro
 
Registrado: oct 2003
Ubicación: Galicia
Posts: 146
Poder: 23
Novás Va por buen camino
No se si es lo mejor pero te diré como lo hago yo. Creo otra aplicación la cual será llamada desde el programa que será actualizado. Desde este último compruebas si existe el programa de actualización para la base de datos, si existe lo ejecutas y tras la ejecución lo borras(para que no se ejecute la próxima vez).

El siguiente código que te pongo es trabajando con una base de datos mysql y con los controles zeos.

Código Delphi [-]
type
  tSQL=record
    tabla : string[15];
    consulta : string;
  end;

{$R *.dfm}

procedure TFrmPrincipal.FormShow(Sender: TObject);
const
  NumConsultas=3;
var
  i, j     : integer;
  Nombre   : String;
  UserName : String;
  Fichero  : TIniFile;
  pc       : string;
  Correcto : boolean;
  consultas : array of tSQL;
begin
  Animate1.Active:=True;
{ RELLENO LAS CONSULTAS QUE DEBO REALIZAR }
  SetLength(consultas,NumConsultas);

  consultas[0].tabla:='Config';
  consultas[0].consulta:='Alter table Config add column PorcentajePVD float';

  consultas[1].tabla:='Config';
  consultas[1].consulta:='create table Abonos(IdAbono INT AUTO_INCREMENT,Fecha DATE NOT NULL,NumAbono INT NOT NULL,'+
                         'CierreCaja BOOL DEFAULT 0 NOT NULL,Usuario CHAR(10)NOT NULL,TipoIVA INT NOT NULL DEFAULT 16,'+
                         'PRIMARY KEY  (IdAbono))';

  consultas[2].tabla:='Config';
  consultas[2].consulta:='create table DetallesAbono(IdDetalleAbono INT AUTO_INCREMENT,RefInterna CHAR(8) NOT NULL,'+
                         'Descripcion CHAR(50) NOT NULL,Cantidad INT NOT NULL,PrecioVenta FLOAT NOT NULL,'+
                          'IdAbono INT NOT NULL,PRIMARY KEY(IdDetalleAbono))';


{ ME CONECTO CON LA BASE DE DATOS }
  j:=length(Application.ExeName);
  j:=j-14;
  Nombre:='';
  Username:=Application.ExeName;
  for i:=1 to j do
    Nombre:=Nombre+Username[i];
  Fichero:=TIniFile.Create(Nombre+'\Config.ini');
  pc:=Fichero.ReadString('CONEXION','Pc','192.168.1.2');

  Correcto:=False;
  while not Correcto do
  begin
    try
      Conexion.Connected:=False;
      Conexion.HostName:=trim(pc);
      Conexion.Connected:=True;
      Correcto:=True;
    except
      if MessageDlg('No se encuentra el ordenador central. ¿Desea especificar su ubicación?',
                    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
      begin
        pc:=InputBox('Especifique nombre servidor',
                     'Introduzca la IP del servidor o su nombre de red'+#13+
                     'Ejemplos: '+#13+
                     '192.168.1.2'+#13+
                     'centralita',
                     PC);
      end
      else
      begin
        Correcto:=True;
        Application.Terminate;
      end;
    end;
  end;
{ RECORRO EL ARRAY DE CONSULTAS Y LAS VOY EJECUTANDO }
  for i:=low(consultas) to high(consultas) do
  begin
    TbTabla.TableName:=consultas[i].tabla;
    TbTabla.Active:=True;
    CConsulta.SQL.Clear;
    CConsulta.SQL.Add(consultas[i].consulta);
    try
      CConsulta.ExecSQL;
    except
    end;
    TbTabla.Active:=False;
    CConsulta.Close;r
  end;
{ MUESTRO UN MENSAJE DE INFORMACIÓN Y TERMINO EL PROGRAMA }
  Animate1.Active:=False;
  ShowMessage('El proceso de actualización de la base de datos ha terminado.');
  Application.Terminate;
end;
__________________
Hay dos cosas infinitas: el Universo y la estupidez humana. http://www.cybertarjetas.net
Responder Con Cita
 


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
Actualizar programa turminator Internet 1 15-05-2006 01:49:34
Actualizar los puestos de un programa instalado en el servidor VRO Conexión con bases de datos 3 19-07-2005 20:53:16
Ejecutar un programa externo desde un programa de Delphi Roger_Fernandez Varios 3 02-09-2004 18:05:36
Ejecutar un programa DENTRO de otro programa seduerey Varios 8 12-11-2003 13:56:20
actualizar mi programa nicocer SQL 1 27-10-2003 12:16:47


La franja horaria es GMT +2. Ahora son las 15:27:02.


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