func isDataExist(name: String) -> Bool {
var isExist = false
let dbPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!
let db = FMDatabase(path: "\(dbPath)/mydatabase.db")
if db.open() {
let query = "SELECT COUNT(*) FROM mytable WHERE name = ?"
if let result = db.executeQuery(query, withArgumentsIn: [name]) {
if result.next() {
let count = result.int(forColumnIndex: 0)
isExist = count > 0
}
}
db.close()
} else {
print("Error: \(db.lastErrorMessage())")
}
return isExist
}
func updateOrInsertData(name: String, age: Int) {
let dbPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!
let db = FMDatabase(path: "\(dbPath)/mydatabase.db")
if db.open() {
if isDataExist(name: name) {
// 更新数据
let updateQuery = "UPDATE mytable SET age = ? WHERE name = ?"
if !db.executeUpdate(updateQuery, withArgumentsIn: [age, name]) {
print("Error: \(db.lastErrorMessage())")
}
} else {
// 插入数据
let insertQuery = "INSERT INTO mytable (name, age) VALUES (?, ?)"
if !db.executeUpdate(insertQuery, withArgumentsIn: [name, age]) {
print("Error: \(db.lastErrorMessage())")
}
}
db.close()
} else {
print("Error: \(db.lastErrorMessage())")
}
}
网友评论