Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Ayuda Conexion Mysql con ZeosLib Unit Global (https://www.clubdelphi.com/foros/showthread.php?t=81313)

semita 02-11-2012 00:03:17

Ayuda Conexion Mysql con ZeosLib Unit Global
 
Hola: Otra vez molestandoles con algo que me hizo perder mucho tiempo. Ya se como conectar con Zlib en un formulario. Ejecutar Consultas etc.

hice una Unit general de modo que para conectarme desde cualquier FORM solo llamo al Unit y no estoy reescribiendo codigos para conectarme en todos los Forms. EJM.

Código Delphi [-]
unit funciones;

interface
uses
  Windows, Dialogs, SysUtils, ZAbstractRODataset, ZAbstractDataset, ZDataset, ZAbstractConnection,  ZConnection, DB;
var
  sqlConector: TZConnection;
  sqlConsultas: TZQuery;
  procedure Conectar_Mysql;
  procedure Consulta(sem_SQL: string);
implementation
procedure Conectar_Mysql;
begin

  sqlConector.HostName :=  '127.0.0.1';
  sqlConector.Database := 'libros';
  sqlConector.Protocol := 'mysql';
  sqlConector.User:= 'root';
  sqlConector.Password:= 'admin';
  sqlConector.Connect;

end;

procedure Consulta(sem_SQL: string);
begin
  Conectar_Mysql;
  sqlConsultas.Close;
  sqlConsultas.SQL.Clear;
  sqlConsultas.SQL.Add(sem_SQL);
  sqlConsultas.Open;

  //sqlConector.Free

end;
end.
De este modo mi intension es conectar desde cualquier formulario simplemente llamando esta unit. Compila todo Correcto pero al momento de ejecutar el procedimiento Conectar_Mysql me da error. justo en la linea sqlConector.HostName := '127.0.0.1'; y supongo los demás sqlConector.xxx.

E programado mucho en PHP y es asi como trabajo mis consultas.

¿Estoy haciéndolo bien? alguien me oriente un poco mas por favor. En un Formulario normal esta conexión funciona correctamente. El Error solo es cuando lo traslado a un Unit Global que llamo de todos los Formularios.

semita 02-11-2012 01:18:29

Solucionado
 
Otra vez Encontré la solución a mi problema. El Problema es que todo esta solo declarado. Y no esta creado. Me faltaba agregar las siguientes lineas.

Código Delphi [-]
 sqlConector := TZConnection.Create(nil);
 sqlConsultas:=TZQuery.Create(nil);

Agregar antes de sqlConector.HostName := '127.0.0.1'; y sqlConsultas.Close;

AzidRain 02-11-2012 03:55:32

No te preocupes, efecto colateral de trabajar en PHP. En Delphi y muchos otros lenguajes, primero tienes que crear el objeto de la clase x para poder utilizarlo, y por supuesto hay que liberarlo tan pronto deje de usarse.

roman 02-11-2012 14:45:24

En PHP también debes crear los objetos.

// Saludos


La franja horaria es GMT +2. Ahora son las 02:07:03.

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