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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-02-2007
gushmaish gushmaish is offline
Registrado
 
Registrado: feb 2007
Posts: 4
Poder: 0
gushmaish Va por buen camino
verificar la existencia de una base de datos

Hola colegas,
El problema es el siguiente.
Estoy utilizando delphi 6 con los componentes zeos version 6.6.0 beta conectandome a mysql 5.0


Estoy intentando hacer una clase que conecte a la base de datos sin la necesidad de estar agregando los componentes. Hasta ahora lo he logrado sin problemas ya q me base en los ejemplos q trae los componentes zeos.

Bueno , vamos a los bifes
Lo que yo necesito saber es si estan bien los datos (database,host,user,pass, etcetera) antes de dar el connection.open; ya q si estos estan mal me larga un sql error raise exception y demas yerbas... lo cual es molesto para el usuario ya q es un error de windows y no del programa.

Lo q yo estoy intentando hacer es comprobar antes q este todo bien, o en su defecto no llegar a un error de windows por asi decirlo. Es decir filtrar el error y yo poder informar cual es el problema a partir del error encontrado..

bueno aca les dejo el poco codigo q hasta ahora hice..
Código Delphi [-]
unit UConection;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ZClasses, ZDbcIntfs, ZCompatibility, ZDbcMysqlUtils, 
    //Dejar solo la base de datos q se utiliza
ZDbcMySql
    //ZDbcInterbase6,
    //ZDbcPostgreSql,
    //ZDbcDBLib
    ;

type
    TConnection = class
private
    //datos para la coneccion
    Protocol:string;
    HostName:string;
    Port:integer;
    DataBase:string;
    UserName:string;
    Password:string;
    //componentes q se crean dinamicamente para la conexion
    Connection: IZConnection;
    ResultSet: IZResultSet;
    LastRowNr: Integer;//This is to detect row nr change
    InsertState: Boolean;

public
    constructor Create(Prot:string;Host:string;Prt:integer;DB:string;User:string;Pass:string);
    function connect():boolean;
    function IsConnect():boolean;
end;

implementation

constructor TConnection.Create(Prot:string;Host:string;Prt:integer;DB:string;User:string;Pass:string);
begin
    Protocol:=Prot;
    HostName:=Host;
    Port:=Prt;
    DataBase:=DB;
    UserName:=User;
    Password:=Pass;
end;

function TConnection.connect():boolean;
var
  Url: string;
begin
  if Port <> 0 then
  begin
    Url := Format('zdbc:%s://%s:%d/%s?UID=%s;PWD=%s', [Protocol, HostName,
      Port, Database, UserName, Password]);
  end
  else
  begin
    Url := Format('zdbc:%s://%s/%s?UID=%s;PWD=%s', [Protocol, HostName,
      Database, UserName, Password]);
  end;
  Connection := DriverManager.GetConnectionWithParams(Url, nil);
  Connection.SetAutoCommit(True);
  Connection.SetTransactionIsolation(tiReadCommitted);
//******AQUI ES DONDE TENDRIA Q TENER TODO ASEGURADO DE Q 
//******NO VA A DAR UN ERROR
  Connection.Open;
  connect:=not Connection.IsClosed;
end;

function TConnection.IsConnect():boolean;
begin
  if Assigned(Connection) then
    if not Connection.IsClosed then
      Connection.Close;
end;

end.
Desde ya muchas gracias, ayudenme asi luego posteo lo q sale de esto

saludos

Última edición por vtdeleon fecha: 20-02-2007 a las 01:05:56.
Responder Con Cita
 



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
Herramienta case para diccionario de datos de base de datos firebird mcalmanovici Firebird e Interbase 1 11-02-2007 15:17:37
Existencia de Base de Datos urtKami Firebird e Interbase 4 05-11-2006 19:36:42
Guardar en 1 base de datos SQL, datos procedentes de 2 tablas distintas adaypr C++ Builder 1 05-09-2006 11:56:33
Chequear existencia de una BD vichovi Conexión con bases de datos 3 22-09-2003 23:17:48
Reto Para Expertos En Base De Datos Y Tipos De Datos.... (blob) frankmch Conexión con bases de datos 2 08-09-2003 19:44:52


La franja horaria es GMT +2. Ahora son las 10:23:29.


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