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;; |
Partager