IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Prolog Discussion :

connexion à une BD MYSQL


Sujet :

Prolog

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 19
    Points : 19
    Points
    19
    Par défaut connexion à une BD MYSQL
    Salut!
    J’aimerai à partir de swi-prolog me connecter à ma base de donnée Mysql (avec comme user le root et sans mot de passe) pour y extraire de données ; pour cela j'ai créé un DSN que j'ai nommé Prolog_data.
    Ma question est de savoir comment je peux accéder à ma base de donnée MYSQL
    Voici le code que j’ai effectué mais qui ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    open_Prolog_Mysql :-
            odbc_connect('Prolog_data', _,
                         [ user(root),
                           password(‘ ’),
                           alias(prolog_data),
                           open(once)
                         ]).
    Merci d'avance por votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Salut

    Je me suis créé une petite base de données (avec Access), Policiers contenant une table Personnes.

    Voici un programme qui donne un tout petit exemple de ce qu'on peut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    test :-
            odbc_connect('Policiers', _,
                         [ user(root),
                           password(' '),
                           alias(data),
                           open(once)
                         ]),
    	interro1(data),
    	interro2(data),
    	interro3(data, 'Sveinsson', 'Erlendur', 'Commissaire'),
    	interro2(data),
    	interro4(data, 'Sveinsson'),
    	interro2(data),
    	odbc_disconnect(data).
     
    interro1(Data) :-
    	writeln('Liste des noms dans la bdd'),
            findall(Nom,
                    odbc_query(Data,
                               'select nom from personnes',
                               row(Nom)),
                    Noms),
    	writeln(Noms), nl.
     
    interro2(Data) :-
    	writeln('Listing de la base de données'),
            findall(L,
    		odbc_query(Data,'SELECT * FROM personnes', L),
    		Liste),
    	maplist(writeln, Liste), nl.
     
     
    interro3(Data, Nom, Prenom, Profession) :-
    	writeln('Ajout d''un nom dans la bdd'),
    	sformat(Str, 'INSERT INTO personnes (nom,prénom,profession) VALUES (''~w'', ''~w'', ''~w'')', [Nom, Prenom, Profession]),
    	string_to_atom(Str, Atom),
            odbc_query(Data, Atom, affected(N)),
    	writeln(N), nl.
     
    interro4(Data, Nom) :-
    	writeln('Retrait d''un nom dans la bdd'),
    	sformat(Str, 'DELETE * FROM personnes WHERE nom=''~w''', [Nom]),
    	string_to_atom(Str, Atom),
            odbc_query(Data, Atom, affected(N)),
    	writeln(N), nl.
    La sortie
    1 ?- test.
    Liste des noms dans la bdd
    [Dupont, Dupond, Maigret, Wallander]

    Listing de la base de données
    row(4, Dupont, Jean, Policier)
    row(5, Dupond, Paul, Policier)
    row(6, Maigret, Jules, Commissaire)
    row(7, Wallander, Kurt, Inspecteur)

    Ajout d'un nom dans la bdd
    1

    Listing de la base de données
    row(4, Dupont, Jean, Policier)
    row(5, Dupond, Paul, Policier)
    row(6, Maigret, Jules, Commissaire)
    row(7, Wallander, Kurt, Inspecteur)
    row(13, Sveinsson, Erlendur, Commissaire)

    Retrait d'un nom dans la bdd
    1

    Listing de la base de données
    row(4, Dupont, Jean, Policier)
    row(5, Dupond, Paul, Policier)
    row(6, Maigret, Jules, Commissaire)
    row(7, Wallander, Kurt, Inspecteur)

    true.
    Bon courage.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. connexion à une base mysql
    Par mealtone dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 30/06/2006, 23h23
  2. connexion à une base mysql wxdevcpp
    Par altadeos dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 06/04/2006, 09h34
  3. connexion à une bdd mysql en asp
    Par asetti dans le forum ASP
    Réponses: 3
    Dernier message: 31/10/2005, 18h31
  4. [BDD] Erreur dans la connexion à une base MySQL
    Par dodo10 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 24/01/2005, 19h52
  5. [JSP] Connexion à une base mysql
    Par Jovial dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 20/04/2004, 14h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo