A quand un accès aux BDD
A quand un accès aux BDD
Comme je ne m'intéresse pas aux fonction graphiques de Pure, y'a-t-il une chance qu'un accès à une base de donnée même légère, même propriétaire voit le jour ?
Il serait sympa de pouvoir faire une petite applic de n° de téléphone, ou de recettes de cuisine sans utiliser des techniques remontant à l'age de la pierre genre fichiers texte ou des contortions paranormales avec des libs bizaroïdes.
J'ai bien trouvé des trucs mais payant et même très chers.
JL
Il serait sympa de pouvoir faire une petite applic de n° de téléphone, ou de recettes de cuisine sans utiliser des techniques remontant à l'age de la pierre genre fichiers texte ou des contortions paranormales avec des libs bizaroïdes.
J'ai bien trouvé des trucs mais payant et même très chers.
JL
Quand on me gonfle trop j'éclate, sinon ça va !
Gestion des Databases
Salut
si tu veut gérer des base de données avec PureBasic
je te conseil une librairie Cheetab2.dll qui gère les fichiers . dbf
pour l'utiliser depuis plus de trois mois je peut te dire que
c'est super et pas trés cher
ci-joint le lien
http://www.planetsquires.com/forums/
http://www.planetsquires.com/
si tu veut gérer des base de données avec PureBasic
je te conseil une librairie Cheetab2.dll qui gère les fichiers . dbf
pour l'utiliser depuis plus de trois mois je peut te dire que
c'est super et pas trés cher
ci-joint le lien
http://www.planetsquires.com/forums/
http://www.planetsquires.com/
Re: Gestion des Databases
Est ce que tu aurais l'include version purebasic pour utiliser les fonctions de la dll ?Cagou-77 a écrit :Salut
si tu veut gérer des base de données avec PureBasic
je te conseil une librairie Cheetab2.dll qui gère les fichiers . dbf
pour l'utiliser depuis plus de trois mois je peut te dire que
c'est super et pas trés cher
ci-joint le lien
http://www.planetsquires.com/forums/
http://www.planetsquires.com/
Re: Gestion des Databases
regarde bien sur la page http://www.planetsquires.com/cheetah.htmThyphoon a écrit :Est ce que tu aurais l'include version purebasic pour utiliser les fonctions de la dll ?Cagou-77 a écrit :Salut
si tu veut gérer des base de données avec PureBasic
je te conseil une librairie Cheetab2.dll qui gère les fichiers . dbf
pour l'utiliser depuis plus de trois mois je peut te dire que
c'est super et pas trés cher
ci-joint le lien
http://www.planetsquires.com/forums/
http://www.planetsquires.com/
...
Wrapper for PureBasic developed by Stefan Schnell and distributed here with his permission. (not supported)
* PureBasic Cheetah wrapper (Cheetah2PureBASIC.zip 12K)
Another PureBasic wrapper developed by Bob Houle and distributed here with his permission (not supported). The zip file contains a PureBasic translation of the PowerBASIC samples that come with Cheetah.
* PureBasic Cheetah wrapper (PureBasicStarter.zip 43K)
pat
-
- Messages : 1500
- Inscription : jeu. 25/mars/2004 11:23
- Localisation : Sophia Antipolis (Nice)
- Contact :
Moi j'utilise ODBC, ça marche nikel et c'est super rapide (normal...)
Voici un code de démo (pas besoin de rechercher ODBCCP32.DLL, elle est incluse dans window)
Voici un code de démo (pas besoin de rechercher ODBCCP32.DLL, elle est incluse dans window)
Code : Tout sélectionner
File$ = "C:\bd1.mdb"
#ODBC_ADD_DSN = 1 ; Add Data source
#ODBC_CONFIG_DSN = 2 ; Configure (edit) Data source
#ODBC_REMOVE_DSN = 3 ; Remove Data source
;- Fct - Connexion à la BD
Procedure MakeConnection(Driver.s,strAttributes.s)
Result=OpenLibrary(1,"ODBCCP32.DLL")
If Result
lpszDriver.s=Driver
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
Result = CallFunction(1, "SQLConfigDataSource", 0,#ODBC_ADD_DSN,lpszDriver.s,MyMemory )
NewResult=SQLConfigDataSource_(0,#ODBC_ADD_DSN,lpszDriver.s,MyMemory )
FreeMemory(1)
CloseLibrary(1)
If Result
ProcedureReturn 1
EndIf
EndIf
EndProcedure
;- Fct - Fermeture de laconnexion
Procedure DeleteConnection(Driver.s,DSN.s)
Result=OpenLibrary(1,"ODBCCP32.DLL")
If Result
lpszDriver.s=Driver
strAttributes.s = "DSN="+DSN
Result = CallFunction(1, "SQLConfigDataSource", 0,#ODBC_REMOVE_DSN,lpszDriver.s,strAttributes )
CloseLibrary(1)
If Result
ProcedureReturn 1;MessageRequester("Info","DSN Delete",0)
EndIf
EndIf
EndProcedure
MeinPointer.l
Procedure GetDBHandle()
Shared MeinPointer.l
!EXTRN _PB_DataBase_CurrentObject;_PB_DataBase_CurrentObject
!MOV dword EAX,[_PB_DataBase_CurrentObject]
!MOV dword [v_MeinPointer], EAX
ProcedureReturn MeinPointer
EndProcedure
If File$ ="" : End : EndIf
;- On regarde l extension pour avoir la ligne de commande
EXT.s=UCase(GetExtensionPart(File$))
Select EXT
Case "MDB"
Result=Makeconnection("Microsoft Access Driver (*.mdb)","Server=SomeServer; Description=Description For Purebasic MDB-ODBC;DSN=PureBasic_DSN;DBQ="+file$+";UID=Rings;PWD=Siggi;")
Case "XLS"
Result=Makeconnection("Microsoft Excel Driver (*.xls)","DSN=PureBasic_DSN;Description=Description For Purebasic Excel;FileType=Excel97;DBQ="+File$+";")
EndSelect
;- Initialisation des fct de BD
If InitDatabase() = 0
MessageRequester("Error", "Can't initialize Database (ODBC v3 or better) environment", 0)
End
EndIf
OpenConsole()
Dim DatabaseType.s(4)
DatabaseType(0) = "Unknown"
DatabaseType(1) = "Numeric"
DatabaseType(2) = "String"
DatabaseType(3) = "Float"
; Open an ODBC database
User$=""
Password$=""
#Database=1
If OpenDatabase(#Database, "PureBasic_DSN", User$, Password$)
PrintN("")
PrintN("Database successfully opened !")
PrintN("Type EXIT to quit.")
PrintN("or anything else to browse database")
Repeat
Command$ = Input()
Select UCase(Command$)
Case "EXIT"
Quit = 1
Default
If DatabaseQuery(Command$)
NbColumns = DatabaseColumns()
PrintN("NbColums: " + Str(NbColumns))
For k=0 To NbColumns-1
PrintN(DatabaseColumnName(k) + " - " + DatabaseType(DatabaseColumnType(k)))
Next
PrintN("")
Print ("Press return to continue") : Input()
PrintN("")
PrintN("Query Result -------------------------------------")
While NextDatabaseRow()
For k=0 To NbColumns-2
Print(GetDatabaseString(k) + " - ")
Next
PrintN(GetDatabaseString(NbColumns-1))
PrintN("--------------------------------------------------")
Else
PrintN("Bad Query !")
EndIf
EndSelect
Until Quit = 1
Else
MessageRequester("Info", "Operation canceled", 0)
EndIf
;- Deconnexion à la BD
DeleteConnection("Microsoft Access Driver (*.mdb)","PureBasic_DSN")
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Participez à son extension: ajouter vos programmes et partagez vos codes !
-
- Messages : 1500
- Inscription : jeu. 25/mars/2004 11:23
- Localisation : Sophia Antipolis (Nice)
- Contact :
@Pushu : y'as ttes les fcts SQL où c'est une petite LIB faite par un utilisateur lambda ?
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Participez à son extension: ajouter vos programmes et partagez vos codes !
Re: Gestion des Databases
A oui merci j'avais pas vu ... enfin je sais pas lire car ça m'a crevé les yeuxPatrick88 a écrit :
regarde bien sur la page http://www.planetsquires.com/cheetah.htm
...
Wrapper for PureBasic developed by Stefan Schnell and distributed here with his permission. (not supported)

apres test j'utilise finalement la MDB_Lib trouvé sur purearea.net y a pas plus simple et on peu utilisé le language SQL classique ! et se connecté a une base mysql directement
http://www.reelmedia.org/cgi-bin/PurePr ... es&sub=ASM
-
- Messages : 1500
- Inscription : jeu. 25/mars/2004 11:23
- Localisation : Sophia Antipolis (Nice)
- Contact :
@cha0s : Tu utilise quoi pour créer ta BD ?
Car moi j'utilisé juste EasyPHP, donc je sais pas si ce genre de BD est supportée, ou si c'est des BD SQL serveur 2003 ou autres ...
Car moi j'utilisé juste EasyPHP, donc je sais pas si ce genre de BD est supportée, ou si c'est des BD SQL serveur 2003 ou autres ...
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Participez à son extension: ajouter vos programmes et partagez vos codes !
-
- Messages : 1500
- Inscription : jeu. 25/mars/2004 11:23
- Localisation : Sophia Antipolis (Nice)
- Contact :
Mais ça c'est pour se connecter à une BD ACCESS, pas SQL...
Pour ACCESS j'ai déjà (la LIB doit sans doute être basée sur le code que j'ai posté ci-dessus).
Je voulais savoir pour les Bases SQL car ce qui est relou en ACCESS c'est les champs texte : on doit définir la longueur. Ya pas de champ TEXT de MySql (longueur infinie)...
Si qq1 à une soluce...
Pour ACCESS j'ai déjà (la LIB doit sans doute être basée sur le code que j'ai posté ci-dessus).
Je voulais savoir pour les Bases SQL car ce qui est relou en ACCESS c'est les champs texte : on doit définir la longueur. Ya pas de champ TEXT de MySql (longueur infinie)...

Si qq1 à une soluce...
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Participez à son extension: ajouter vos programmes et partagez vos codes !