Are you still using VisualFoxPro as the programmig language in your project?
If so, you can use SQL functions from VisualFoxPro to connect to mySQL using
ODBC

Install mySQL (if you have not allready do it )
Then install MyODBC-3.51.06.exe (downloadable from mySQL page)
Create the ODBC bridge to mySQL with the ODBC Administrator

If your project is OO then you can understand the next code I wrote (Whith
this classes I connecto to Oracle, SQL Server
and, of course mySQL )

                        COdbc
               ^                                   ^
               |                                   |
COdbcSynchBatchMan                   COdbcSynchBatchNotrans
      ^                     ^                         ^
      |                     |                          |
CORACLE    CSQLSERVER         CMYSQL

Instantiate a CMYSQL object and you are ready

* //////////////////////////////////
define class COdbc as custom
        protected m_sClsNam
        protected m_sSourceName                 && CO
        protected m_sUserID                             && ops$jjr
        protected m_sPassword                   && jjr
        protected m_iConnectionID               && numero devuelto por
sqlconnect
        protected m_sCursorResults              && cursor en que se
devuelven los datos
        protected m_sCursorColumns      && cursor en que estan los nombres
de las columnas SQLCOLUMNS
        protected m_sCursorTables               && cursor en que estan los
nombres de la tablas SQLTABLES
        protected m_bInTransaction              && bandera para indicar si
se esta en transaccion o no
        protected m_sErrorString                && cadena con mensaje de
error
        protected m_sLogFile                    && ruta y nombre de archivo
log
        protected m_bLoggingOut                 && ¿Logging?
        protected m_oLogFile                    && CTextFile
        protected m_sSqlCmd
        protected m_sScriptsPath
        protected m_iIdiom                              && idioma a usar
para los nombres de meses
                                        
        **************
        * ts1: SourceName
        * ts2: UserId
        * ts3: Password
        procedure Init
        parameter ts1, ts2, ts3
                this.m_sClsNam = 'Codbc'
                this.m_sSourceName = ts1
                this.m_sUserID = ts2
                this.m_sPassword = ts3
                this.m_iConnectionID = -1
                this.m_sCursorResults = ''
                this.m_sCursorColumns = ''
                this.m_sCursorTables = ''
                this.m_sErrorString = ''
                this.m_sLogFile = TEMPDIR + 'codbc.log'
                this.m_bLoggingOut = .F.
                this.m_sSqlCmd = ''
                this.m_sScriptsPath = 'd:\fpw25\importa\oracle\scripts\'
                this.m_iIdiom = THIs.GENGLISH()
        endproc
        
        *****************
        procedure destroy
                if this.m_bLoggingOut
                        this.SetLogOff
                endif
                if this.m_iConnectionID # -1
                        this.Disconnect
                endif
        endproc
        
        ************************
        function GStillExecuting
        return 0
        
        ******************
        function GFinished
        return 1
        
        ********************
        function GNoMoreData
        return 2
        
        **********************
        function GSystemTables
        return "'SYSTEM TABLE'"
        
        ****************
        function GTables
        return "'TABLE'"        
        
        ***************
        function GViews
        return "'VIEW'"

        ********************
        function GDBComplete
        return 1
        
        ******************
        function GDBPrompt
        return 2
        
        ********************
        function GDBNoPrompt
        return 3

        *******************
        function GTransAuto
        return 1
        
        *********************
        function GTransManual
        return 2

        **********************
        function GAsynchronous
        return .T.
        
        *********************
        function GSynchronous
        return .F.
        
        *******************
        function GBatchMode
        return .T.
        
        *********************
        function GNoBatchMode
        return .F.
        
        ****************
        function Connect
        local m.bRet
        
                ? 'COdbc::Connect()'
                m.bRet = .T.
                this.m_iConnectionID = SQLCONNECT( this.m_sSourceName,
this.m_sUserID, this.m_sPassword )
                ? this.m_iConnectionID
                if this.m_iConnectionID < 0
                        this.GetError( this.m_iConnectionID )
                        this.m_iConnectionID = -1
                        m.bRet = .F.
                endif
        return m.bRet
        
        *******************
        function Disconnect
        local m.iRet, m.bRet

                ? 'COdbc::Disconnect()'
                m.bRet = .T.
                m.iRet = SQLDISCONNECT( this.m_iConnectionID )
                do case
                case 1 == m.iRet
                        this.m_iConnectionID = -1
                        if this.m_bLoggingOut
                                this.SetLogOff
                        endif
                case inlist( m.iRet, -1, -2 )
                        this.GetError( m.iRet )
                        m.bRet = .F.
                endcase
        return m.bRet

        ******************
        function Connected
        return ( this.m_iConnectionID # -1)
        
        ***************
        * ts1: TiposDeTablas
        * ts2: NombreDelCursor
        function Tables
        parameter ts1, ts2
        local m.iRet, m.sTables, m.bRet
        
                m.bRet = .T.
                if TYPE_L == type( 'ts1' )
                        m.sTables = '"' + this.GSystemTables() + ',' +
this.GTables() + ',' + this.GViews() + '"'
                else
                        m.sTables = ts1
                endif
                if TYPE_L == type( 'ts2' )
                        this.m_sCursorTables = 'SQLTABLES'
                else
                        this.m_sCursorTables = ts2
                endif
                m.iRet = SQLTABLES( this.m_iConnectionID, m.sTables,
this.m_sCursorTables )
                if inlist( m.iRet, -1, -2 )
                        this.GetError( m.iRet )
                        m.bRet = .F.
                endif
        return m.bRet   
        
        *******************
        * ts1: NombreDeLaTabla
        * [ts2]: NombreDelCursorEnQueSeDevuelvenColumnas
        function ColumnsFox
        parameter ts1, ts2

                if TYPE_L == type( 'ts2' )
                        this.m_sCursorColumns = 'SQLCOLS'
                else
                        this.m_sCursorColumns = ts2
                endif
        return this.Columns( ts1, 'FOX', this.m_sCursorColumns )
        
        **********************
        * ts1: NombreDeLaTAbla
        * [ts2]: NombreDelcursorEnQueSeDevuelvenColumnas
        function ColumnsNative
        parameter ts1, ts2

                if TYPE_L == type( 'ts2' )
                        this.m_sCursorColumns = 'SQLCOLS'
                else
                        this.m_sCursorColumns = ts2
                endif
        return this.Columns( ts1, 'NATIVE', this.m_sCursorColumns )

        *****************
        * ts1: NombreDeLaTabla
        * ts2: Formato
        * ts3: NombreDelCursor
        protected function Columns
        parameter ts1, ts2, ts3
        local m.iRet, m.bRet

                m.bRet = .T.
                m.iRet = SQLCOLUMNS( this.m_iConnectionID, ts1, ts2, ts3 )
                if inlist( m.iRet, -1, -2 )
                        this.GetError( m.iRet )
                        m.bRet = .F.
                endif
        return m.bRet

        ************************
        * tb1: .T.|.F.
        function SetAsynchronous
        parameter tb1
                
                if TYPE_L == type( 'tb1' )
                        m.bRet = this.SetProp( 'Asynchronous', tb1 )
                else
                        messagebox( 'SetAsynchronous' + _CRLF_ + 'El valor
debe ser .T.|.F.', BTNOK + ICONINFORMATION )
                        m.bRet = .F.
                endif
        return m.bRet
        
        *********************
        * tb1: .T.|.F.
        function SetBatchMode
        parameter tb1
        local m.bRet

                if TYPE_L == type( 'tb1' )
                        m.bRet = this.SetProp( 'BatchMode', tb1 )
                else
                        messagebox( 'SetBatchMode' + _CRLF_ + 'El valor debe
ser .T.|.F.', BTNOK + ICONINFORMATION )
                        m.bRet = .F.
                endif
        return m.bRet
                
        ***********************
        * ti1: 0-600 segundos
        function SetConnectTimeOut
        parameter ti1
        local m.bRet

                if between( ti1, 0, 600 )
                        m.bRet = this.SetProp( 'ConnectTimeOut', ti1 )
                else
                        messagebox( 'SetConnectTimeOut' + _CRLF_ + 'El valor
debe ser de 0 a 600', BTNOK + ICONINFORMATION )
                        m.bRet = .F.
                endif
        return 
        
        *******************
        * ts1: DatasourceName
        function SetDataSource
        parameter ts1
        local m.bRet
        
                if TYPE_C == type( 'ts1' )
                        m.bRet = this.SetProp( 'DataSource', ts1 )
                else
                        messagebox( 'SetDataSource' + _CRLF_ + 'Nombre de
origen de datos incorrecto', BTNOK + ICONINFORMATION )
                        m.bRet = .F.
                endif
        return m.bRet
        
        *********************
        * ti1: 1|2|3
        function SetDispLogin
        parameter ti1
        local m.bRet
        
                if TYPE_N == type( 'ti1' ) AND INLIST( ti1,
this.GDBComplete(), this.GDBPrompt(), this.GDBNoPrompt() )      
                        m.bRet = this.SetProp( 'DispLogin', ti1 )
                else
                        messagebox( 'SetDispLogin' + _CRLF_ + 'El valor debe
ser 1 a 3', BTNOK + ICONINFORMATION )
                        m.bRet = .F.
                endif
        return m.bRet
        
        ************************
        * tb1: .T.|.F.
        function SetDispWarnings
        parameter tb1
        local m.bRet
                
                if TYPE_L = type( 'tb1' )
                        m.bRet = this.SetProp( 'DispWarnings', tb1 )
                else
                        messagebox( 'SetDispWarnings' + _CRLF_ + 'El valor
debe ser .T.|.F.', BTNOK + ICONINFORMATION )
                        m.bRet = .F.
                endif
        return m.bRet
        
        ***********************
        * ti1: segundos
        function SetIdleTimeOut
        parameter ti1
        return this.SetProp( 'IdleTimeOut', ti1 )
        
        **********************
        function SetPacketSize
        parameter ti1
        return this.SetProp( 'PacketSize', ti1 )
        
        ************************
        * ti1: 0-600 segundos
        function SetQueryTimeOut
        parameter ti1
        
                if TYPE_N == type( 'ti1' ) and between( ti1, 0, 600 )
                        m.bRet = this.SetProp( 'QueryTimeOut', ti1 )
                else
                        messagebox( 'SetQueryTimeOut' + _CRLF_ + 'El valor
debe ser de 0 a 600 ', BTNOK + ICONINFORMATION )
                        m.bRet = .F.
                endif
        return m.bRet
        
        ************************
        function SetTransactions
        parameter ti1
        local m.bRet
        
                if TYPE_N == type( 'ti1' ) and inlist( ti1,
this.GTransAuto(), this.GTransManual() )
                        m.bRet = this.SetProp( 'Transactions', ti1 )
                else
                        messagebox( 'SetTransactions' + _CRLF_ + 'El valor
debe ser 1|2', BTNOK + ICONINFORMATION )
                        m.bRet = .F.
                endif
        return m.bRet

        **********************
        function GPAsynchronous
        return this.GetProp( 'Asynchronous' )
        
        *******************
        function GPBatchMode
        return this.GetProp( 'BatchMode' )
        
        *********************
        function GPConnectBusy
        return this.GetProp( 'ConnectBusy' )
        
        ***********************
        function GPConnectString
        return this.GetProp( 'ConnectString' )
        
        ************************
        function GPConnectTimeOut
        return this.GetProp( 'ConnectTimeOut' )
        
        ********************
        function GPDatasource
        return this.GetProp( 'Datasource' )
        
        *******************
        function GPDispLogin
        return this.GetProp( 'DispLogin' )
        
        **********************
        function GPDispWarnings
        return this.GetProp( 'DispWarnings' )
        
        *********************
        function GPIdleTimeout
        return this.GetProp( 'IdleTimeOut' )
        
        ********************
        function GPPacketSize
        return this.GetProp( 'Packetsize' )
        
        ******************
        function GPPassword
        return this.GetProp( 'Password' )
        
        **********************
        function GPQueryTimeOut
        return this.GetProp( 'QueryTimeOut' )
        
        **********************
        function GPTransactions
        return this.GetProp( 'Transactions' )
        
        ****************
        function GPUserId
        return this.GetProp( 'UserId' )
        
        ******************
        function GPWaitTime
        return this.GetProp( 'Waittime' )
        
        **************************
        * ts1: NombrePropiedad
        * tu2: Valor
        protected function SetProp
        parameter ts1, tu2
        local m.iRet, m.bRet
        
                m.bRet = .T.
                m.iRet = SQLSETPROP( this.m_iConnectionID, ts1, tu2 )
                if inlist( m.iRet, -1, -2 )
                        this.GetError( m.iRet )
                        m.bRet = .F.
                endif
        return m.bRet

        **************************
        protected function GetProp
        parameter ts1
        local m.uRet
                m.uRet = SQLGETPROP( this.m_iconnectionID, ts1 )
                if inlist( m.uRet, -1, -2 )
                        this.GetError( m.uRet )
                endif
        return m.uRet
        
        *************
        function Exec
        parameter ts1, ts2
        local m.iRet

                *_cliptext = ts1
                * ? ts1
                this.m_sSqlCmd = ts1
                m.iRet = 0
                if TYPE_L == type( 'ts2' )
                        this.m_sCursorResults = 'SQLRESULT'
                else
                        this.m_sCursorResults = ts2
                endif
                m.iRet = SQLEXEC( this.m_iConnectionID, ts1,
this.m_sCursorResults )
                if -1 == m.iRet
                        this.GetError( m.iRet )
                endif
        return m.iRet

        ****************
        function Prepare
        param ts1, ts2
        local m.iRet
                this.m_sSqlCmd = ts1
                m.iRet = 0
                if TYPE_L == type( 'ts2' )
                        this.m_sCursorResults = 'SQLRESULT'
                else
                        this.m_sCursorResults = ts2
                endif
                m.iRet = SQLPREPARE( this.m_iConnectionID, ts1,
this.m_sCursorResults )
                if -1 == m.iRet
                        this.GetError( m.iRet )
                endif
        return m.iRet
        
        *********************
        function ExecPrepared
        local m.iRet

                m.iRet = 0
                this.m_sCursorResults = 'SQLRESULT'
                m.iRet = SQLEXEC( this.m_iConnectionID )
                if -1 == m.iRet
                        this.GetError( m.iRet )
                endif
        return m.iRet

        ************************
        function SetScriptsPath
        parameter ts1
                this.m_sScriptsPath = ts1
        return

        **************************
        function SetIdiomToEnglish
                THIS.m_iIdiom = THIS.GENGLISH()
        return
        
        ***************************
        procedure SetIdiomToSpanish
                THIS.m_iIdiom = THIS.GSPANISH()
        return

        ***************
        function GIDIOM
        return THIS.m_iIdiom
        
        *********************
        function GIDIOMSTRING
        local m.sRet
                do case
                case THIS.GENGLISH() == THIS.m_iIdiom
                        m.sRet = 'Inglés'
                case THIS.GSPANISH() == THIS.m_iIdiom
                        m.sRet = 'Español'
                otherwise
                        m.sRet = 'Idioma no definido!'
                endcase
        return m.sRet
        
        *****************
        function GENGLISH
        return 1
        
        *****************
        function GSPANISH
        return 2
        
        *******************
        * ts1: RutaYNombreDelScriptSql
        * ts2: NombreDelCursor
        * ts3..ts10: Parametros para el script (Ej. "p1 ALEX", "p2 145" )
        function ExecScript
        parameters ts1, ts2, ts3, ts4,ts5,ts6,ts7,ts8,ts9,ts10
        local m.iRet, ofile, m.sStr, m.ipar
                m.iRet = 0
                
                oTok = createobject("ctoken")
                if file( this.m_sScriptsPath + ts1 )
                        ofile = createobject( 'ctextfile',
this.m_sScriptsPath + ts1, -1 )
                        ofile.openforr()
                        this.m_sSqlCmd = ''
                        do while not ofile.eof()
                                m.sStr = ofile.Gets()
                                if ";" # left( m.sStr, 1 )
                                        this.m_sSqlCmd = this.m_sSqlCmd +
iif(empty( this.m_sSqlCmd ), '', ' ' ) + m.sStr
                                endif
                        enddo
                        ofile.close()
                        this.m_sSqlCmd = strtran( this.m_sSqlCmd, CHR(9), '
' )
                        * substitucion de parametros
                        THIS.SubstituteParam( ts3 )
                        THIS.SubstituteParam( ts4 )
                        THIS.SubstituteParam( ts5 )
                        THIS.SubstituteParam( ts6 )
                        THIS.SubstituteParam( ts7 )
                        THIS.SubstituteParam( ts8 )
                        THIS.SubstituteParam( ts9 )
                        THIS.SubstituteParam( ts10 )
                        ? this.m_sSqlCmd
                        if TYPE_L == type( 'ts2' )
                                this.m_sCursorResults = juststem( ts1 )
                        else
                                this.m_sCursorResults = ts2
                        endif
                        m.iRet = SQLEXEC( this.m_iConnectionID,
this.m_sSqlCmd, this.m_sCursorResults )
                        if -1 == m.iRet
                                this.GetError( m.iRet )
                        endif
                else
                        MessageBox( "No existe archivo " + _CRLF_ + ;
                                                ts1, BTNOK + ICONEXCLAMATION
)
                endif
        return m.iRet

        *********************************
        * subsituye el parametro &&px por el valor correspondiente
        protected procedure SubstituteParam
        parameters ts1
        local oT, m.sp, m.sv
                if TYPE_C == TYPE( 'ts1' )
                        oT = createobject( 'ctoken' )
                        oT.setsepstr( ' ' )
                        oT.setsrchstr( ts1 )
                        m.sp = oT.gettoken()
                        m.sv = oT.gettoken()
                        if 0 # at( m.sp, THIS.m_sSqlCmd )
                                THIS.m_sSqlCmd = strtran( THIS.m_sSqlCmd,
CHR(38)+CHR(38)+m.sp, m.sv )
                        endif
                endif
        endproc
                
        ********************
        function MoreResults
        local m.iRet
        
                m.iRet = SQLMORERESULTS( this.m_iConnectionID )
        return m.iRet
                
        ***************
        function Cancel
        local m.iRet, m.bRet

*!*                     ? 'Cancel'
                m.bRet = .T.
                m.iRet = SQLCANCEL( this.m_iConnectionID )
                if inlist( m.iRet, -1, -2 )
                        this.GetError( m.iRet )
                        m.bRet = .F.
                endif
        return m.bRet
        
        ***************
        function Commit
        local m.iRet, m.bRet

*!*                     ? 'Commit'
                m.bRet = .T.
                m.iRet = SQLCOMMIT( this.m_iConnectionID )
                if -1 == m.iRet
                        this.GetError( m.iRet )
                        m.bRet = .F.
                endif
        return m.bRet
        
        *****************
        function Rollback
        local m.iRet, m.bRet

*!*                     ? 'Rollback'
                m.bRet = .T.
                m.iRet = SQLROLLBACK( this.m_iConnectionID )
                if -1 == m.iRet
                        this.GetError( m.iRet )
                        m.bRet = .F.
                endif           
        return m.bRet

        ****************************    
        protected procedure GetError
        parameter ti1
        local m.sLevel, aE, m.sMsg

                dimension aE[1]
                =aerror( aE )
                do case
                case -1 == ti1
                        m.sLevel = 'Connection level error'
                case -2 == ti1
                        m.sLevel = 'Server level error'
                endcase

                this.m_sErrorString = str( aE[ 1 ] ) + _TAB_ + aE[ 2 ]
                m.sMsg = m.sLevel + _CRLF_ + ;
                                'Error numero:  ' + str( aE[ 1 ] ) + _CRLF_
+ ;
                                'Mensaje:       ' + aE[ 2 ] + _CRLF_
                if this.IsLogging()
                        ? m.sMsg
                        this.WriteLog( _CRLF_ + m.sMsg )
                        this.WriteLog( _CRLF_ + this.m_sSqlCmd )
                else
                        messagebox( m.sMsg, BTNOK + ICONINFORMATION )
                endif
        endproc

        ******************
        function IsLogging
        return this.m_bLoggingOut
        
        ******************
        procedure SetLogOn
        local m.sf
                m.sf = TEMPDIR + 'odbc' +
left(alltrim(str(int(seconds()))),4) + '.log'
                if not this.m_bLoggingOut
                        this.m_oLogFile = createobject( 'CTEXTFILE', m.sf )
                        if this.m_oLogFile.Create()
                                this.m_bLoggingOut = .T.
                                this.WriteLog( 'Inicio: ' + dtoc( date() ) +
_TAB_ + time() + _CRLF_ )
                        else
                                release object this.m_oLogFile
                                if _CANCEL_ == messagebox( 'COdbc-No pude
crear archivo Log' + chr(13) + m.sf, BTNOKCANCEL + ICONINFORMATION )
                                        cancel
                                endif
                        endif
                endif
        endproc
        
        *******************
        procedure SetLogOff
                if this.m_bLoggingOut
                        this.m_bLoggingOut = .F.
                        this.WriteLog( _CRLF_ + 'Fin: ' + dtoc( date() ) +
_TAB_ + time() )
                        this.m_oLogFile.Close()
                        release object this.m_oLogFile
                endif
        endproc
        
        ******************
        * ts1: CadenaAEscribir
        procedure WriteLog
        parameter ts1
                if this.m_bLoggingOut
                        this.m_oLogFile.Puts( ts1 )
                endif
        endproc

        *****************
        * to1: CSrcTxt
        procedure DumpLog
        parameter to1
                if this.m_bLoggingOut
                        to1.Dump( this.m_oLogFile )
                endif
        endproc
        
        ***************
        *ts1: CadenaACorregir
        function FixStr
        parameter ts1
        local m.sRet
        
                m.sRet = strtran( ts1, "'", replicate( chr(39), 2 ) )
        return m.sRet
        
        ****************
        *td1: FechaAConvertir
        function FixDate
        parameter td1
        local m.iYear, m.iMonth, m.iDay, m.sRet
        
                m.iDay = day( td1 )
                m.iMonth = month( td1 )
                m.iYear = year( td1 )
*!*                                     m.sRet = "TO_DATE('"+
goDate.ToOracle( m.iDay, m.iMonth, m.iYear ) + "')" &&no numerico cuando
esperaba numerico
*!*                                     m.sRet = goDate.ToOracle( m.iDay,
m.iMonth, m.iYear )  &&no se permite columna aqui
*!*                                     m.sRet = "'" + goDate.ToOracle(
m.iDay, m.iMonth, m.iYear ) + "'" &&no numerico cuando esperaba numerico
*!*                                     m.sRet = "'" +
padl(alltrim(str(m.iDay)),2,'0') + '-' + ;              && mascara termina
antes de convertir fecha
*!*
padl(alltrim(str( m.iMonth)),2,'0') + '-' + ;
*!*
alltrim(str(m.iYear)) + ;
*!*                                                      "'"
*!*                     if goDate.IsLeapYear( m.iYear ) and m.iMonth == 2
and m.iDay == 29
*!*                                             m.sRet = "'" + padl(
alltrim( str( m.iDay - 1 ) ), 2, '0' ) + '-' + ;
*!*
padl( alltrim( str( m.iMonth ) ), 2, '0' ) + '-' + ;
*!*
right( alltrim( str( m.iYear ) ), 2 ) + ;
*!*                                                              "'"
*!*                     else
*!*                                             m.sRet = "'" + padl(
alltrim( str( m.iDay ) ), 2, '0' ) + '-' + ;
*!*
padl( alltrim( str( m.iMonth ) ), 2, '0' ) + '-' + ;
*!*
right( alltrim( str( m.iYear ) ), 2 ) + ;
*!*                                                              "'"
*!*                     endif
                        m.sRet = "TO_DATE('@[EMAIL PROTECTED]@3','DD-MM-RRRR')"
                        m.sRet = strtran( m.sRet, '@1', padl( alltrim( str(
m.iDay ) ), 2, '0' ) )
                        m.sRet = strtran( m.sRet, '@2', padl( alltrim( str(
m.iMonth ) ), 2, '0' ) )
*!*                             DO CASE
*!*                             CASE THIS.GENGLISH() == THIS.GIDIOM()
*!*                                     m.sRet = STRTRAN( m.sRet, '@2',
UPPER( LEFT( goDate.MonthNameI( iMonth ), 3 ) ) )
*!*                             CASE THIS.GSPANISH() == THIS.GIDIOM()
*!*                                     m.sRet = STRTRAN( m.sRet, '@2',
UPPER( LEFT( goDate.MonthName( iMonth ), 3 ) ) )
*!*                             ENDCASE
                        m.sRet = strtran( m.sRet, '@3', alltrim( str(
m.iYear, 4, 0 ) ) )
        return m.sRet
enddefine               && COdbc
* //////////////////////////////////



* //////////////////////////////////
define class COdbcSynchBatchMan as COdbc

        protected m_sTableName
        
        **************
        * ts1: SourceName
        * ts2: UserId
        * ts3: Password
        procedure Init
        parameter ts1, ts2, ts3
                COdbc::Init( ts1, ts2, ts3 )
        endproc

        ****************
        function Connect
        local m.bRet
        
                m.bRet = .F.
                if COdbc::Connect()
                        COdbc::SetAsynchronous( Codbc::GSynchronous() )
                        COdbc::SetBatchMode( COdbc::GBatchMode() )
                        COdbc::SetTransactions( COdbc::GTransManual() )
                        COdbc::SetLogOn
                        *COdbc::SetQueryTimeOut( 600 )
                        *COdbc::SetDispWarnings( .T. )
                        m.bRet = .T.
                endif
        return m.bRet
                
        *****************
        procedure destroy
                COdbc::SetLogOff
                COdbc::Destroy
        endproc
enddefine               && COdbcSynchBatchMan
* //////////////////////////////////

* //////////////////////////////////
define class COdbcSynchBatchNotrans as COdbc

        protected m_sTableName
        
        **************
        * ts1: SourceName
        * ts2: UserId
        * ts3: Password
        procedure Init
        parameter ts1, ts2, ts3
                COdbc::Init( ts1, ts2, ts3 )
        endproc

        ****************
        function Connect
        local m.bRet
        
                m.bRet = .F.
                if COdbc::Connect()
                        COdbc::SetAsynchronous( Codbc::GSynchronous() )
                        COdbc::SetBatchMode( COdbc::GBatchMode() )
                        *COdbc::SetTransactions( COdbc::GTransManual() )
                        COdbc::SetLogOn
                        *COdbc::SetQueryTimeOut( 600 )
                        *COdbc::SetDispWarnings( .T. )
                        m.bRet = .T.
                endif
        return m.bRet
                
        *****************
        procedure destroy
                COdbc::SetLogOff
                COdbc::Destroy
        endproc
enddefine               && COdbcSynchBatchNotrans 
* //////////////////////////////////




*////////////////////////////////////////////////////
define class CMYSQL as COdbcSynchBatchNotrans
        **************
        * [ts1] NombreDeBaseDeDatosOdbc
        * [ts2] NombreDeUsuario
        * [ts3] ContraseniaDeUsuario
        procedure Init
        parameter ts1, ts2, ts3
                this.m_sClsNam = ""
                if TYPE_C == type( 'ts1' ) and TYPE_C == type( 'ts2' ) and
TYPE_C == type( 'ts3' )
                        COdbcSynchBatchNotrans::Init( ts1, ts2, ts3 )
                else
                        COdbcSynchBatchNotrans::Init( 'theOdbcReference',
'theUser', 'thePAssword' )
                endif
                this.m_sTableName = ''
                COdbcSynchBatchNotrans::Connect()
        endproc

        **************************
        * En VFP mi date format siempre es dd/mm/yyyy, mysql necesita
'yyyy-mm-dd' para manejar fechas (FECHA1 y FECHA1 son DATE)
        FUNCTION FIXDATE
        PARAMETER ts1
        LOCAL m.sRet
                IF TYPE_D == TYPE( "ts1" )
                        ts1 = DTOC( ts1 )
                ENDIF
                m.sRet = ""
                IF NOT EMPTY( ts1 )
                        m.sRet = RIGHT( ts1, 4 ) + "-" + SUBSTR( ts1, 4, 2 )
+ "-" + LEFT( ts1, 2 )
                ENDIF
        RETURN m.sRet
enddefine
*////////////////////////////////////////////////////



Jose de Jesus Ruiz Gonzalez
Depto. de Sistemas
5480-3886
[EMAIL PROTECTED]


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to