2016-08-20 6 views
-2

In meiner IOS-App verwende ich FMDB-Datenbank zum Speichern von Daten. Ich habe Probleme beim Abrufen von Daten. Auf der letzten Seite meiner App, wenn ich auf die Schaltfläche "sendtowatch" klicke, sollten die Daten gespeichert und gleichzeitig abgerufen werden, damit die Daten in meiner Watch-App angezeigt werden können. Der Screenshot meiner laufenden App ist unter .My Quellcode unten istProblem beim Abrufen von Daten aus der FMDB-Datenbank

screenshot ofmy running app screenshot

@IBAction func sendToWatch(sender: AnyObject) { 


    let ticketDB = FMDatabase(path: databasePath as String) 
    if ticketDB.open() 
    { 

     let insertSQL = "INSERT INTO TICKET (image, ticket_category, ticket_type, date, time) VALUES ('\(display_image.image!)', '\(ticket_category.text!)', '\(ticket_type_name.text!)', '\(ticket_date.text!)', '\(ticket_time.text!)')" 

     let result = ticketDB.executeUpdate(insertSQL,withArgumentsInArray: nil) 

     if !result 
     { 

      print("Error: \(ticketDB.lastErrorMessage())") 

     } else 
     { 

      let alt = PMAlertController(title: "Success!", description: "Your data is saved to Database!", image: UIImage(named: ""), style: .Alert) 

      alt.addAction(PMAlertAction(title: "OK!", style: .Default, action: { (ACTION) -> Void in 

       let ticketDB = FMDatabase(path: self.databasePath as String) 
       if ticketDB.open() 
       { 

        let querySQL = "SELECT * FROM TICKET" 

        let result: FMResultSet? = ticketDB.executeQuery(querySQL, withArgumentsInArray: nil) 

        if let result = result 
        { 
         self.ticketDataArray = NSMutableArray() 
         while result.next() 
         { 
          let ticketInfo = NSMutableDictionary() 

          ticketInfo.setObject(result.stringForColumn("image"), forKey: "image") 
          ticketInfo.setObject(result.stringForColumn("ticket_category"), forKey: "ticket_category") 
          ticketInfo.setObject(result.stringForColumn("ticket_type"), forKey: "ticket_type") 
          ticketInfo.setObject(result.stringForColumn("date"), forKey: "date") 
          ticketInfo.setObject(result.stringForColumn("time"), forKey: "time") 
          self.ticketDataArray.addObject(ticketInfo) 

         } 

        }else{ 
         print("Error: \(ticketDB.lastErrorMessage())") 

        } 

       ticketDB.close() 

       } 


      })) 

      self.presentViewController(alt, animated: true, completion: nil) 
      print(databasePath) 

     } 
    } 


} 

} 

Antwort

0

das Sie

let select_query = „SELECT * FROM TICKET WHERE image =‘ Größe wird helfen können { 400, 400} Orientierung 0 Maßstab 1,000000 'AND ticket_category =' Bus 'AND ticket_type =' sssss 'AND Datum =' 20. August 2016 'AND time = '12: 14 PM' "

Verwandte Themen