Class to manager MYSQL for Harbour/xHarbour
Custom Search

viernes, 2 de julio de 2010

Primera conexion / First connection


Para hacer conexion y manejarla usar la clase TDolphinSrv, esta permitira manejar diferentes opciones con el Host que no involucren consultas directas a tablas

To make conection with Host, use the Class TDolphinSrv, this allow direrent options to handle host that do not involve tables queries

TDolphinSrv():New( cHost, cUser, cPassword, nPort, nFlags, cDBName, bOnError )

cHost 
El valor de cHost puede ser tanto un nombre como una dirección IP
The value of cHost may be either a hostname or an IP address.

cUser
Contiene el identificador de login del usuario MySQL
Contains the user's MySQL login ID

cPassword
contiene el password del usuario
contains the password for user

nPort
Puerto de conexion Host, si no es 0, el valor se usará como número de puerto en la conexión TCP/IP
Port Host conection, if nPost is not 0, the value is used as the port number for the TCP/IP connection

nFlags
es normalmente 0, pero puede usarse una combinación de  flags en circunstancias muy especiales
The value of client_flag is usually 0, but can be set to a combination flags in very special circumstances

cDBName
nombre de la base de datos
is the database name

bOnError ( Self, nError, lInternal )
Codeblock que personaliza el manejo de errores
Codeblock to custom manager error message


Download test



#include "hbcompat.ch"
#define CRLF Chr( 13 ) + Chr( 10 )

PROCEDURE Main()

   LOCAL hIni      := HB_ReadIni( ".\connect.ini" )
   LOCAL oServer   := NIL
   LOCAL cServer   := hIni["mysql"]["host"],;
         cUser     := hIni["mysql"]["user"],;
         cPassword := hIni["mysql"]["psw"],;
         nPort     := val(hIni["mysql"]["port"]), ;
         cDBName   := hIni["mysql"]["dbname"], ;
         nFlags    := val(hIni["mysql"]["flags"])
   LOCAL cText := ""

   oServer = TDolphinSrv():New( cServer, ;
                                cUser, ;
                                cPassword, ;
                                nPort, nFlags, cDBName,;
                                {| oServer, nError, lInternal | GetError( oServer, nError, lInternal  ) } )

   IF ! oServer:lError
      cText += "Connection OK" + CRLF
      cText += "Host: " + oServer:cHost +CRLF
      cText += "Database: " + +oServer:cDBName + CRLF
      ? cText
   ENDIF

   oServer:End()
   inkey(5)

RETURN

PROCEDURE GetError( oServer, nError, lInternal )
   LOCAL cText := ""

   cText += "Error from Custom Error Message" + CRLF
   cText += "================================" + CRLF
   cText += oServer:ErrorTxt() + CRLF
   cText += "ERROR No: " + Str( nError ) + CRLF
   cText += "Internal: " + If( lInternal, "Yes", "No" ) + CRLF

   ? cText + CRLF
   wait "presiona una tecla"

RETURN

No hay comentarios:

Publicar un comentario en la entrada