Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // CreateAccountViewController.swift
- // FashionCheck
- //
- // Created by Parker Mclain on 4/17/18.
- // Copyright © 2018 Parker Mclain. All rights reserved.
- //
- import UIKit
- import SQLite3
- class CreateAccountViewController: UIViewController {
- var db: OpaquePointer?
- @IBOutlet weak var emailTextfield: UITextField!
- @IBOutlet weak var passwordTextfield: UITextField!
- @IBOutlet weak var confirmPasswordTextfield: UITextField!
- @IBOutlet weak var firstNameTextfield: UITextField!
- @IBOutlet weak var lastNameTextfield: UITextField!
- @IBOutlet weak var birthdayDatepicker: UIDatePicker!
- override func viewDidLoad() {
- super.viewDidLoad()
- let fileURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
- .appendingPathComponent("Database.sqlite")
- print(fileURL.absoluteString)
- // Do any additional setup after loading the view, typically from a nib.
- if sqlite3_open(fileURL.path, &db) != SQLITE_OK {
- print("error opening database")
- }
- /*
- if sqlite3_exec(db, "DROP TABLE Users", nil, nil, nil) != SQLITE_OK {
- let errmsg = String(cString: sqlite3_errmsg(db)!)
- print("error creating table: \(errmsg)")
- }
- */
- if sqlite3_exec(db, "CREATE TABLE IF NOT EXISTS Users (email TEXT, password TEXT, first_name TEXT, last_name TEXT)", nil, nil, nil) != SQLITE_OK {
- let errmsg = String(cString: sqlite3_errmsg(db)!)
- print("error creating table: \(errmsg)")
- }
- // Do any additional setup after loading the view.
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
- /*
- // MARK: - Navigation
- // In a storyboard-based application, you will often want to do a little preparation before navigation
- override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
- // Get the new view controller using segue.destinationViewController.
- // Pass the selected object to the new view controller.
- }
- */
- @IBAction func createAccountButton(_ sender: Any) {
- let email: String = emailTextfield.text!
- let password: String = passwordTextfield.text!
- let confirmPassword: String = confirmPasswordTextfield.text!
- let firstName: String = firstNameTextfield.text!
- let lastName: String = lastNameTextfield.text!
- let dateOfBirth: Date = birthdayDatepicker.date
- print("Email: \(email)")
- print("Password: \(password)")
- print("Confirm Password: \(confirmPassword)")
- print("First Name: \(firstName)")
- print("Last Name: \(lastName)")
- print("Birthday: \(dateOfBirth)")
- var stmt: OpaquePointer?
- let queryString = "INSERT INTO Users (email, password, first_Name, last_Name) VALUES (email,password,firstName,lastName)"
- if sqlite3_prepare(db, queryString, -1, &stmt, nil) != SQLITE_OK{
- let errmsg = String(cString: sqlite3_errmsg(db)!)
- print("error preparing insert: \(errmsg)")
- return
- }
- if sqlite3_bind_text(stmt, 1, email, -1, nil) != SQLITE_OK{
- let errmsg = String(cString: sqlite3_errmsg(db)!)
- print("failure binding name: \(errmsg)")
- return
- }
- if sqlite3_bind_text(stmt, 2, password, -1, nil) != SQLITE_OK{
- let errmsg = String(cString: sqlite3_errmsg(db)!)
- print("failure binding name: \(errmsg)")
- return
- }
- if sqlite3_bind_text(stmt, 3, firstName, -1, nil) != SQLITE_OK{
- let errmsg = String(cString: sqlite3_errmsg(db)!)
- print("failure binding name: \(errmsg)")
- return
- }
- if sqlite3_bind_text(stmt, 4, lastName, -1, nil) != SQLITE_OK{
- let errmsg = String(cString: sqlite3_errmsg(db)!)
- print("failure binding name: \(errmsg)")
- return
- }
- /*
- if sqlite3_bind_text(stmt, 5, String(describing: dateOfBirth), -1, nil) != SQLITE_OK{
- let errmsg = String(cString: sqlite3_errmsg(db)!)
- print("failure binding name: \(errmsg)")
- return
- }*/
- if sqlite3_step(stmt) != SQLITE_DONE {
- let errmsg = String(cString: sqlite3_errmsg(db)!)
- print("failure inserting user: \(errmsg)")
- return
- }
- //textFieldName.text=""
- //textFieldPowerRanking.text=""
- //readValues()
- print("Account Created!")
- //readValues()
- //sqlite3_close(db);
- }
- func readValues(){
- let queryString = "SELECT * FROM Users"
- var stmt:OpaquePointer?
- if sqlite3_prepare(db, queryString, -1, &stmt, nil) != SQLITE_OK{
- let errmsg = String(cString: sqlite3_errmsg(db)!)
- print("error preparing insert: \(errmsg)")
- return
- }
- while(sqlite3_step(stmt) == SQLITE_ROW){
- let email = String(cString: sqlite3_column_text(stmt, 0))
- let password = String(cString: sqlite3_column_text(stmt, 1))
- let firstName = String(cString: sqlite3_column_text(stmt, 2))
- let lastName = String(cString: sqlite3_column_text(stmt, 3))
- print("Email: \(String(email)), Password: \(String(password)), First Name: \(String(firstName)), Last Name: \(String(lastName))")
- //heroList.append(Hero(id: Int(id), name: String(describing: name), powerRanking: Int(powerrank)))
- }
- //self.tableViewHeroes.reloadData()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement