Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 1.39 KB | None | 0 0
  1. extern crate mysql;
  2. extern crate ini;
  3.  
  4. use mysql as my;
  5. use ini::Ini;
  6.  
  7. struct BinData {
  8.     id: i32,
  9.     bin: i32,
  10.     country: String,
  11.     bank: String
  12. }
  13.  
  14. fn main() {
  15.  
  16.     let mysql_options = Ini::load_from_file("./conf.cnf").unwrap();
  17.  
  18.     let sect = mysql_options.section(Some("client"));
  19.  
  20.     let params = sect.unwrap();
  21.     let user = params.get("user").unwrap().as_str();
  22.     let host = params.get("host").unwrap().as_str();
  23.     let password = params.get("password").unwrap().as_str();
  24.     let database = params.get("database").unwrap().as_str();
  25.     let port = "3306";
  26.  
  27.  
  28.     let mut connection_string = String::new();
  29.     let ss = format!("mysql://{}:{}@{}:{}/{}", user, password, host,  port, database);
  30.     connection_string.push_str(&ss[..]);
  31.  
  32.  
  33.     let pool = my::Pool::new(connection_string).unwrap();
  34.  
  35.     let bins: Vec<BinData> = pool.prep_exec("SELECT id, bin, country, bank from binData limit 10", ())
  36.         .map(|result| {
  37.             result.map(|x| x.unwrap()).map(|row| {
  38.                 let (id, bin, country, bank) = my::from_row(row);
  39.                 BinData {
  40.                     id: id,
  41.                     bin: bin,
  42.                     country: country,
  43.                     bank: bank
  44.                 }
  45.             }).collect()
  46.         }).unwrap();
  47.  
  48.     for bn in &bins {
  49.         println!("{} {} {} {}", bn.id, bn.bin,bn.country,bn.bank);
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement