Este ano passei os meus programas de clipper para harbour.
Estou a programar em hb34 e compilo com o editor "Harbour IDE (r417)".
Agora estou a tentar passar para MySql.
Estive todo o dia de hoje a tentar perceber como fazer este passo, mas o que consegui encontrar não dá ou dá-me erro.
Já consigo ler dados da base de dados, mas não consigo escrever.
Será que me podiam dar umas luzes de qual a melhor maneira de usar o MySQL em Harbour?
STATIC PROCEDURE TEST_ADODB()
LOCAL oRs, sConn
IF ( oRs := win_oleCreateObject( "ADODB.Recordset" ) ) != NIL
sConn="Driver={MySQL ODBC 5.3 ANSI Driver};Server=localhost;Port=3306;Database=xxx;User=yyy;Password=zzz;option=3;"
oRs:Open( "SELECT CAMPO1 FROM Testes", ;
sConn, ;
adOpenForwardOnly, ;
adLockReadOnly )
DO WHILE ! oRs:EOF
? oRs:Fields( 0 ):Value
oRs:MoveNext()
ENDDO
/* //testes de escrita
//1. dá erro
oRs:AddNew()
ors:CAMPO1=I
oRs:UpDate()
//2. não reconhece o execute
oRs:Execute( "INSERT INTO Testes (CAMPO1) VALUES ("+ALLSTR(I)+")" )
*/
oRs:Close()
Inkey(0)
ENDIF
RETURN
Neste segundo dá erro a compilar
#include "adordd.ch"
REQUEST ADORDD
STATIC PROCEDURE Test_ADODB()
clear screen
setmode(25,80)
USE xxx VIA "ADORDD" TABLE "Testes" MYSQL FROM "localhost" USER "yyy" PASSWORD "zzz"
dbedit()
USE
clear screen
RETURN
E:/Trab/SoftSal/.hbmk/win/mingw/ALERTAS.o:ALERTAS.c:(.data+0x1688): undefined reference to `_HB_FUN_HB_ADOSETTABLE'
E:/Trab/SoftSal/.hbmk/win/mingw/ALERTAS.o:ALERTAS.c:(.data+0x1698): undefined reference to `_HB_FUN_HB_ADOSETENGINE'
E:/Trab/SoftSal/.hbmk/win/mingw/ALERTAS.o:ALERTAS.c:(.data+0x16a8): undefined reference to `_HB_FUN_HB_ADOSETSERVER'
E:/Trab/SoftSal/.hbmk/win/mingw/ALERTAS.o:ALERTAS.c:(.data+0x16b8): undefined reference to `_HB_FUN_HB_ADOSETUSER'
E:/Trab/SoftSal/.hbmk/win/mingw/ALERTAS.o:ALERTAS.c:(.data+0x16c8): undefined reference to `_HB_FUN_HB_ADOSETPASSWORD'
collect2.exe: error: ld returned 1 exit status
hbmk2 [SoftSAL-ALERTAS]: Error: Running linker. 1