Bueno,
El título no se me dió mucho, pero espero esta modificación realizada a la tmysql les sirva de mucho.
Ahora podrá usar TMySql de la siguiente manera.
Aquí el ejemplo:
#include 'fivewin.ch'
*-------------------*
STATIC oServer
STATIC oQry
STATIC oBrw
STATIC oWnd
STATIC oMenu
FUNCTION main()
LOCAL cHost := "localhost"
LOCAL cUser := "root"
LOCAL cPsw := "rooting"
LOCAL nPort := 3306
LOCAL cDb := "test"
LOCAL n := 1
LOCAL cQuery := ""
MENU oMenu 2007
MENUITEM "Pruebas"
MENU
MENUITEM "AddRecord 1" ACTION addrecord1() MESSAGE "Adiciona registros a la tabla 1"
MENUITEM "AddRecord 2" ACTION addrecord2() MESSAGE "Adiciona registros a la tabla 2"
MENUITEM "UpdateRecord" ACTION updaterecord2() MESSAGE "Modifica registros a la tabla 2"
ENDMENU
ENDMENU
oServer:= TMySQLServer():New( cHost, cUser, cPsw, nPort )
if oServer:NetErr()
MsgAlert (oServer:Error(),"MySQL Error")
quit
endif
IF oServer:lError
? "No connect"
RETURN NIL
ENDIF
oserver:Selectdb(cDb)
IF oServer:lError
? "No used database"
RETURN NIL
ENDIF
IF !oServer:tableexist( "prueba" )
cQuery := "CREATE TABLE prueba( "
cQuery += "clave varchar(3) NOT NULL default '0',"
cQuery += "nombre varchar(30) default 'x',"
cQuery += "fecha date default '20091012',"
cQuery += "saldo decimal(9,2) default 0.00,"
cQuery += "PRIMARY KEY (clave) "
cQuery += ") ENGINE=InnoDB DEFAULT CHARSET=latin1"
oServer:execute( cQuery )
ENDIF
oServer:execute( "TRUNCATE TABLE prueba" )
oQry := oServer:Query( "SELECT * FROM prueba" )
oQry:gotop()
wmbrowse()
return nil
/************************************************************/
STATIC FUNCTION wmbrowse()
DEFINE WINDOW oWnd TITLE "Mi browse" FROM 10, 10 TO 30, 60 MENU oMenu
wmbrw()
oWnd:oClient := oBrw
ACTIVATE WINDOW oWnd
RETURN NIL
STATIC FUNCTION wmbrw()
LOCAL oCol
oBrw := TXBrowse():new( oWnd )
SetxBrowse( oBrw, oQry )
oCol := oBrw:AddCol()
oCol:cHeader := "Clave"
oCol:bEditValue := {|| oQry:clave}
oCol:cEditPicture := "@x"
oCol:cDataType := "C"
oCol := oBrw:AddCol()
oCol:cHeader := "Nombre"
oCol:bEditValue := {|| oQry:nombre}
oCol:cEditPicture := "@x"
oCol:cDataType := "C"
oCol := oBrw:AddCol()
oCol:cHeader := "Fecha"
oCol:bEditValue := {|| oQry:fecha}
oCol:cEditPicture := "@d"
oCol:cDataType := "D"
oCol := oBrw:AddCol()
oCol:cHeader := "Saldo"
oCol:bEditValue := {|| oQry:saldo}
oCol:cEditPicture := "999,999,999.99"
oCol:cDataType := "N"
oBrw:createfromcode()
RETURN NIL
STATIC FUNCTION addrecord1()
LOCAL n, nClv
FOR n := 1 TO 15
nClv := alltrim(str( HB_RandomInt( 999 ) ))
oQry:fieldput( "clave" , nClv )
oQry:fieldput( "nombre", "prueba1 - " + nClv )
oQry:fieldput( "fecha" , date() )
oQry:fieldput( "saldo" , HB_RandomInt( 99999999.99 ) )
oQry:append()
NEXT
oBrw:refresh()
RETURN NIL
STATIC FUNCTION addrecord2()
LOCAL n, nClv
FOR n := 1 TO 15
nClv := alltrim(str( HB_RandomInt( 999 ) ))
oQry:blank()
oQry:clave := nClv
oQry:nombre := "prueba2 - " + nClv
oQry:fecha := date()
oQry:saldo := HB_RandomInt( 99999999.99 )
oQry:save()
NEXT
oBrw:refresh()
RETURN NIL
STATIC FUNCTION updaterecord2()
LOCAL n, nClv
oQry:gotop()
WHILE !oQry:eof()
nClv := alltrim(str( HB_RandomInt( 999 ) ))
oQry:nombre := "CAMBIADO - " + nClv
oQry:fecha := date()
oQry:saldo := HB_RandomInt( 99999999.99 )
oQry:save()
oQry:skip()
ENDDO
oBrw:refresh()
RETURN NIL
Espero sea de ayuda y cualquier duda, aquí en el blog hay un chat que leo periódicamente.
Saludos
Aqui el link de bajada de la LIB y un ejemplo.
TMYSQL comunity
No hay comentarios:
Publicar un comentario