-2
在我的IOS應用程序中,我使用FMDB數據庫來存儲數據。我在檢索數據時遇到問題。實際上,在我的應用程序的最後一頁,當我點擊「sendtowatch」按鈕時,應該保存數據,同時應該檢索數據,以便數據可以顯示在我的手錶應用程序中。我運行的應用程序的截圖低於。我下面的源代碼是關於從FMDB數據庫檢索數據的問題
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)
}
}
}
}