Bases de données
Bases de données
Bonjour,
Je veux faire un programme avec des bases de données. Mais comment créer le fichier de base de données avec PureBasic ? Je ne voi que OpenDataBase() mais qui sert à ouvrire un fichier déjà existant. Merci d'avance pour votre aide.
Je veux faire un programme avec des bases de données. Mais comment créer le fichier de base de données avec PureBasic ? Je ne voi que OpenDataBase() mais qui sert à ouvrire un fichier déjà existant. Merci d'avance pour votre aide.
Il y a un projet en cours sur le forum qui est bien avancégansta93 a écrit :Bonjour,
Je veux faire un programme avec des bases de données. Mais comment créer le fichier de base de données avec PureBasic ? Je ne voi que OpenDataBase() mais qui sert à ouvrire un fichier déjà existant. Merci d'avance pour votre aide.
voir ici :
http://purebasic.forum-gratuit.com/viewtopic.php?t=5242
mais surtout, qu'est ce que tu entends par base de données ?
juste un programme qui lit et sauve des données dans un fichier sur le disque dur ?
ou un programme qui fait appel à des requêtes SQL sur un serveur de base de données ?
parceque dans le deuxième cas, ce n'est pas à purebasic, ni au programmeur de créér la base de données. il faut installer un serveur type MySQL, et l'administrer puis avec la commande DOS 'odbcad32.exe' créer la connexion ODBC nécéssaire pour pouvoir s'interfacer à PB.
juste un programme qui lit et sauve des données dans un fichier sur le disque dur ?
ou un programme qui fait appel à des requêtes SQL sur un serveur de base de données ?
parceque dans le deuxième cas, ce n'est pas à purebasic, ni au programmeur de créér la base de données. il faut installer un serveur type MySQL, et l'administrer puis avec la commande DOS 'odbcad32.exe' créer la connexion ODBC nécéssaire pour pouvoir s'interfacer à PB.
ça serait une base de données locales, où je ferais des requètes SQL.Flype a écrit :mais surtout, qu'est ce que tu entends par base de données ?
juste un programme qui lit et sauve des données dans un fichier sur le disque dur ?
ou un programme qui fait appel à des requêtes SQL sur un serveur de base de données ?
parceque dans le deuxième cas, ce n'est pas à purebasic, ni au programmeur de créér la base de données. il faut installer un serveur type MySQL, et l'administrer puis avec la commande DOS 'odbcad32.exe' créer la connexion ODBC nécéssaire pour pouvoir s'interfacer à PB.
Comme si j'avais une page PHP, sauf que la base de données elle serait dans le même répertoire que le programme et le programme ferait les requètes dans ce fichier. Je crois que c'est possible avec la lib SQLite mais j'aimerais ne le faire qu'avec des commandes natives à PureBasic.
Mais après, comment utiliser cette BDD avec Pure appart en appelant une page PHP qui transmet les information qui sont ensuite réinterprétées par le programme ?KarLKoX a écrit :Perso, étant pas du tout orienté sgbd, je me sert d'EasyPHP qui permet de crééer rapidement une base de donnée sans trop de difficulté même pour un néophyte comme moi
d'abord menu démarrer > executer > tape odbcad32 > source de donnees systeme > ajouter > pilote microsoft access :
nom : test_purebasic
selectionner: choisit le fichier .mdb créé avec access
et ensuite dans purebasic tu fais :
nom : test_purebasic
selectionner: choisit le fichier .mdb créé avec access
et ensuite dans purebasic tu fais :
Code : Tout sélectionner
If InitDatabase()
If OpenDatabase(0,"test_purebasic","","")
If DatabaseQuery(0, "SELECT NOW")
While NextDatabaseRow(0)
Debug GetDatabaseString(0, 0)
Wend
EndIf
EndIf
EndIf
avec çà tu pourra créer dynamiquement et facilement ta connexion ODBC (DSN) pour MSAccess toutes versions :
je ne sais pas si çà marche très bien, je l'ai écris tout à l'heure, testé chez moi avec succès en tout cas.
je ne sais pas si çà marche très bien, je l'ai écris tout à l'heure, testé chez moi avec succès en tout cas.
Code : Tout sélectionner
; flype, juil 2006
Enumeration 1
#ODBC_ADD_DSN ; Add a new user Data source.
#ODBC_CONFIG_DSN ; Configure (modify) an existing user Data source.
#ODBC_REMOVE_DSN ; Remove an existing user Data source.
#ODBC_ADD_SYS_DSN ; Add a new system Data source.
#ODBC_CONFIG_SYS_DSN ; Modify an existing system Data source.
#ODBC_REMOVE_SYS_DSN ; Remove an existing system Data source.
#ODBC_REMOVE_DEFAULT_DSN ; Remove the default data source specification section from the system information.
EndEnumeration
#ODBC_DRIVER_MSACCESS = "Microsoft Access Driver (*.mdb)"
Procedure.l MSAccess_AddConnection(name.s, database.s, hwnd.l = #Null)
Protected attrs.s
attrs + "UID=" + ";"
attrs + "PWD=" + ";"
attrs + "DSN=" + name + ";"
attrs + "DBQ=" + database + ";"
attrs + "FIL=" + "MS Access;"
attrs + "Driver=" + "ODBCJT32.DLL;"
attrs + "DefaultDir=" + GetPathPart(database) + ";"
attrs + "Description=" + FormatDate("Créé le %dd-%mm-%yyyy, %hh:%ii:%ss;", Date())
ReplaceString(attrs, ";", #NULL$, 2)
ProcedureReturn SQLConfigDataSource_(hWnd, #ODBC_ADD_DSN, #ODBC_DRIVER_MSACCESS, attrs)
EndProcedure
Procedure.l MSAccess_RemoveConnection(name.s, hwnd.l = #Null)
ProcedureReturn SQLConfigDataSource_(hWnd, #ODBC_REMOVE_DSN, #ODBC_DRIVER_MSACCESS, "DSN="+name)
EndProcedure
If InitDatabase()
DSN.s = "pbtest"
If MSAccess_AddConnection(DSN, "c:\test.mdb")
If OpenDatabase(0, DSN, "", "")
If DatabaseQuery(0, "SELECT NOW")
If NextDatabaseRow(0)
Debug GetDatabaseString(0, 0)
EndIf
EndIf
If DatabaseQuery(0, "SELECT * FROM personne")
While NextDatabaseRow(0)
Debug GetDatabaseString(0, 0)
Debug GetDatabaseString(0, 1)
Debug GetDatabaseString(0, 2)
Wend
EndIf
EndIf
MSAccess_RemoveConnection(DSN)
EndIf
EndIf
OK... si je veux en créer une pour un autre type de BDD, je change donc le nom du driver ? dsl mais je débute en bdd lol... C'est ça de vouloir faire autre chose que du fichier ini pour stoquer des informations lol... et être à la recherche de quelque chose qui soit dynamique lol.Flype a écrit :avec çà tu pourra créer dynamiquement et facilement ta connexion ODBC (DSN) pour MSAccess toutes versions
donc là tu as l'example pour MSAccess mais si tu veux connaitre les parametres necessaires pour autre bdd, je te conseille de faire çà :
1/ ouvre le programme 'odbcad32.exe'
2/ va dans 'source de données fichier'
3/ bouton 'ajouter' et choisit le pilote (mysql par ex.)
4/ tapes le nom du fichier DSN à enregistrer
5/ configure la connexion dans la boite de dialogue spécifique à ce pilote
6/ si tout est OK, un fichier .DSN est alors créé sur le disque dur.
7/ ouvre ce fichier .DSN avec notepad, et tu y verras toutes les options pour ce pilote en particulier.

1/ ouvre le programme 'odbcad32.exe'
2/ va dans 'source de données fichier'
3/ bouton 'ajouter' et choisit le pilote (mysql par ex.)
4/ tapes le nom du fichier DSN à enregistrer
5/ configure la connexion dans la boite de dialogue spécifique à ce pilote
6/ si tout est OK, un fichier .DSN est alors créé sur le disque dur.
7/ ouvre ce fichier .DSN avec notepad, et tu y verras toutes les options pour ce pilote en particulier.
