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

Caml Discussion :

Erreur syntaxique lors d'une connexion à une bdd


Sujet :

Caml

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 24
    Points : 33
    Points
    33
    Par défaut Erreur syntaxique lors d'une connexion à une bdd
    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
     
    module OCMP_Client = OCamlMySQLProtocol.OCMP_Client;;
    module OCMP_Data = OCamlMySQLProtocol.OCMP_Data;;
    module OCMP_Execute = OCamlMySQLProtocol.OCMP_Execute;;
    module OCMP_ResultSetPacket = OCamlMySQLProtocol.OCMP_ResultSetPacket;;
     
    let print_result sql r =
    	print_endline ("Result of the SQL statement \"" ^ sql ^ "\": \n" ^ (OCMP_Client.dml_dcl_result_to_string r) ^ "\n")
    let print_row fields row =
    	let print_data f =
    		let (field_name, field_pos) = f in
    			let data = List.nth row field_pos in
    				print_endline (" " ^ field_name ^ ": " ^ (OCMP_Data.to_string data)) in
    				let () = List.iter print_data fields in
    					print_endline " -- -- ";;
    let print_set sql r =
    	let (fields, rows) = r.OCMP_ResultSetPacket.rows in
    		let () = print_endline ("Result set for the SQL statement \"" ^sql ^ "\": \n") in
    			let print_rows =
    				let () = List.iter (print_row fields) rows in
    					print_newline () in
    						print_rows;;
     
    let addr = Unix.inet_addr_loopback;;
    let port = 3306;;
    let sockaddr = Unix.ADDR_INET(Unix.inet_addr_loopback, port);;
    let db_user = "test";;
    let db_password = "test";;
    let db_name = "test";;
     
    let config = OCMP_Client.configuration ~user:db_user ~password:db_password ~sockaddr:sockaddr ~databasename:db_name () in
    	let connection = OCMP_Client.connect ~configuration:config ~force:true () in
    		let () = OCMP_Client.use_database ~connection:connection ~databasename:db_name in
    			let sql = "INSERT INTO ocmp_table (test) VALUES (’ça fonctionne’)" in
    				let stmt = OCMP_Client.create_statement_from_string sql in
    					let r = OCMP_Client.execute ~connection:connection ~statement:stmt () in
    						let r = OCMP_Client.get_result_ok r in
    							let () = print_result sql r;;
    Il me dit juste qu'il y a une erreur synthaxique à la dernière ligne, je n'arrive à pas à comprendre pourquoi (sans blague )

    Merci d'avance de votre aide !

    Une personne.

  2. #2
    Membre régulier
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 102
    Points : 110
    Points
    110
    Par défaut
    Salut,

    Une remarque peu constructive, mais sait-on jamais :

    En général, quand j'ai des erreurs à la dernière ligne c'est parce que j'ai oublié un in quelque part (ou un truc du genre).

    Or ton code est justement très difficile à lire au niveau de ce qui est des let ... in.

    Bon après peut-être que c'est pas ça du tout (je n'ai pas regardé de plus près que ça car je n'y connais rien en bases de données), auquel cas désolé !

  3. #3
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Je vais être juste plus affirmatif.

    Ce que je te conseille :
    • let () = e1 in e2 devient e1; e2
    • let v = e1 in e2 où v est inutilisé dans e2 devient let _ = e1 in e2 ou bien ignore(e1); e2

    Si ce dernier cas est trop courant c'est à cause d'un binding C. Dans ce cas tu devrais envisager l'option de compilation -w s qui désactive le warning Expression on the left-hand side of a sequence that doesn’t have type "unit". Ça n'est pas un délit, les programmeurs LablGtk2 le font tout le temps.
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  4. #4
    Membre éprouvé
    Avatar de Cacophrene
    Homme Profil pro
    Biologiste
    Inscrit en
    Janvier 2009
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Janvier 2009
    Messages : 535
    Points : 1 125
    Points
    1 125
    Par défaut
    Bonjour,

    En jetant un œil au code, je pense que tu pourrais songer à utiliser le module Printf (documentation). Ça permettra d'alléger considérablement les notations et ça contribuera ainsi à venir à bout des problèmes de let ... in en plus des conseils qui t'ont déjà été donnés.

    Cordialement,
    Cacophrène

Discussions similaires

  1. UnknownHostException lors de la connexion à une BDD
    Par Senkai dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 24/02/2015, 16h55
  2. Problème lors de l'implémentation d'une connexion à une BDD
    Par Gwyrrd dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 11/12/2011, 13h49
  3. [Sybase] Erreur 500 lors de la connexion à une BD sybase
    Par rbrigot dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/06/2007, 07h56
  4. Réponses: 5
    Dernier message: 25/04/2007, 16h58
  5. Erreur dans un programme php pour une connexion à une bdd
    Par gaetan.tranvouez dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/06/2006, 21h06

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