Ver Mensaje Individual
  #10  
Antiguo 05-02-2010
nadlor nadlor is offline
Miembro
 
Registrado: dic 2009
Posts: 12
Reputación: 0
nadlor Va por buen camino
Basicamente la estructura del script es asi:

Código SQL [-]
CREATE DATABASE /*!32312 IF NOT EXISTS*/ a_db;
USE a_db;

DROP TABLE IF EXISTS `alumnos`;
CREATE TABLE `alumnos` (
  `Doc` int(9) NOT NULL,
  `Nombres` varchar(20) default NULL,
  `Apellidos` varchar(20) default NULL,
  PRIMARY KEY  (`Doc`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

(Solo puse una tabla ejemplo y algunos campos para que no sea largo)


El tema es que ya he logrado ejecutar las sentencias en el evento OnCreate del Form principal, primero preguntando si existe o no la base de datos en el directorio y luego creando, todo perfecto, asi:

Código Delphi [-]
procedure TFPrincipal.crear_a_bd;
var fil:string;
b:integer;
begin
fil:= AnsiReplaceStr('C:\Archivos de programa\MySQL\MySQL Server 5.0\data\a_db\db.opt','\','\\');

    if FileExists(fil) then
    begin
    b:=1;
    end
    else
    begin
    b:=0;
    end;

IF b=0 THEN
begin
q.Close; q.SQL.Clear;
q.SQL.Add('CREATE DATABASE IF NOT EXISTS a_db');
q.ExecSQL;
q.Close; q.SQL.Clear;
q.SQL.Add('USE a_db');
q.ExecSQL;

q.Close; q.SQL.Clear;
q.SQL.Add('CREATE TABLE `alumnos` (`Doc` int(9) NOT NULL, `Nombres` varchar(20) default NULL, `Apellidos` varchar(20) default NULL,  PRIMARY KEY  (`Doc`))');
q.ExecSQL;
end;

El procedimiento anterior, lo hice con componentes BDE, funcionoo perfectamente si le agrego en la propiedad del componente Tdatabase:
<AliasName= 'cualkier otra base de datos existente'>

Hasta ahi todo perfecto, ya funciona todo si no menciono la base de datos a crear.

Pero el tema, es a cual base de datos vinculo al componente (sea BDE ò Zeos), una <por defecto> que digamos siempre pueda existir en cualkier otra pc... no se... a eso va mi interrogante...

Última edición por nadlor fecha: 05-02-2010 a las 23:58:40.
Responder Con Cita