Page 1 sur 1

lib mysql

Publié : mar. 26/juil./2005 13:41
par cha0s
je sait que ce genre de question arrive souvent car j'ai utilisé la fonction recherché mais je n'ai pas de reponse prescise, donc voila je cherche une lib permetant d'utiliser une base de données mySQL utilisable pour un projet comercial et avec la gestion d'utilisateur multiple.
gratuite ou non je suis ouvert a toute sugestion merci :)

Publié : mar. 26/juil./2005 13:48
par lionel_om
Moi j'utilise les BD Access et ça marche très bien (gràce à l'appel de la dll : ODBCCP32.DLL)

J'en ferais pe etre une LIB qd j'en aurait le temps. Pendant mes vac sans doute, à Nice ! :P

Code : Tout sélectionner

#ODBC_ADD_DSN       = 1 ; Add Data source 
#ODBC_CONFIG_DSN    = 2 ; Configure (edit) Data source 
#ODBC_REMOVE_DSN    = 3 ; Remove Data source 
#ODBC_DRV_DESC$     = "Microsoft Access Driver (*.mdb)"
#ODBC_DNS$          = "PureBasic_DSN"
#ODBC_DLL_NAME$     = "ODBCCP32.DLL"
#ODBC_STR_CON1$     = "Server=SomeServer; Description=Description For Purebasic MDB-ODBC;DSN=PureBasic_DSN;DBQ="
#ODBC_STR_CON2$     = ";UID=Rings;PWD=Siggi;"




;- Preparation des DNS et des Drivers

Procedure MakeConnection(strAttributes.s) 
  Lib = OpenLibrary(#PB_Any,#ODBC_DLL_NAME$) 
  If Lib
    strAttributes = #ODBC_STR_CON1$ + strAttributes + #ODBC_STR_CON2$
    lpszDriver.s = #ODBC_DRV_DESC$
    MyMemory=AllocateMemory(Len(strAttributes)) 
    CopyMemory(@strAttributes,MyMemory,Len(strAttributes)) 
    For L=1 To Len(strAttributes ) 
      If PeekB(MyMemory +l-1)=Asc(";"):PokeB(MyMemory +l-1,0):  EndIf 
    Next L 
    
    If CallFunction(Lib, "SQLConfigDataSource", 0, #ODBC_ADD_DSN, lpszDriver.s, MyMemory ) 
      NewResult=SQLConfigDataSource_(0,#ODBC_ADD_DSN,lpszDriver.s,MyMemory )
      FreeMemory(Lib) 
      CloseLibrary(Lib)
      ProcedureReturn 1
    EndIf
  EndIf 
    ProcedureReturn 0
EndProcedure 


;- UnIni BD Connexion

Procedure UnIniConnection() 
  Result=OpenLibrary(1,#ODBC_DLL_NAME$) 
  If Result 
    lpszDriver.s=#ODBC_DRV_DESC$ 
    strAttributes.s = "DSN=" + #ODBC_DNS$ 
    Result = CallFunction(1, "SQLConfigDataSource", 0,#ODBC_REMOVE_DSN,lpszDriver.s,strAttributes ) 
    CloseLibrary(1) 
    If Result 
      ProcedureReturn #True 
    EndIf
    hasBD = #False
  EndIf 
EndProcedure 

Publié : mar. 26/juil./2005 15:59
par Dr. Dri
Pourquoi appeler odbc via une dll alors ke PB gère ODBC ?

Dri

Publié : mar. 26/juil./2005 17:50
par lionel_om
Bah moi j'y arrive pas sans la DLL.
A moins que dans la 3.93 ca le fasse auto, mais dans la version que j'avais précédement (3.83 je crois).

Et j'ai trouvé ces fonctions sur des sites allemands..

Publié : mer. 27/juil./2005 0:17
par cha0s
mais moi je m'interrese que au bd mySQL car j'ai l'habitude de m'en servir pour le web .Le reste des BD je ne veut meme pas en entendre parler dans ce post :p

Publié : mer. 27/juil./2005 8:23
par lionel_om
Bah c'ets la mm chose pourtant.
Au taff et à l'IUT j'utilisais des BD MySQL, mais pour mon lecteur MP3 j'ai fais avec les moyens du bord : ACCESS. Et franchement, à part les problème avec les apostrophes et le fait qu'il n'y ait pas les attributs de type TEXT (chaine de caractères infinies).
Sinon c'est la même utilisation :D