PDA

Ver la Versión Completa : Ayuda Conexion Mysql con ZeosLib Unit Global


semita
02-11-2012, 00:03:17
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.

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
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.

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