
[英]How to get specific row data from the CoreData sqlite table using Swift
[英]How do you insert a row into a SQLITE table using swift?
我有一个功能只是为了测试是否可以在Sqlite数据库的特定表中插入一行,但是由于某种原因,它不会插入并打印“无法插入行”。 谁能给我关于如何使用swift将数据插入表的任何建议? 谢谢。
let insertStatementString = "INSERT INTO bookmarks (id,title,content,locationId,sessionDate,sessionOrder, timeStart, timeEnd, sessionType,speakerId) VALUES (?,?,?,?,?,?,?,?,?,?);"
func insertTestRow(){
var insertStatement: OpaquePointer? = nil
// 1
if sqlite3_prepare_v2(mySQLDB, insertStatementString, -1, &insertStatement, nil) == SQLITE_OK {
let id: NSString = "ay3"
let title: NSString = "Ben"
let content: NSString = "Meeting"
let locationId: NSString = "classroom"
let sessionDate: NSString = "2019"
let sessionOrder: Int32 = 1
let timeStart: NSString = "9am"
let timeEnd: NSString = "10am"
let sessionType: NSString = "Lesson"
let speakerId: NSString = "bm3"
// 2
sqlite3_bind_text(insertStatement, 1, id.utf8String, -1, nil)
// 3
sqlite3_bind_text(insertStatement, 2, title.utf8String, -1, nil)
sqlite3_bind_text(insertStatement, 3, content.utf8String, -1, nil)
sqlite3_bind_text(insertStatement, 4, locationId.utf8String, -1, nil)
sqlite3_bind_text(insertStatement, 5, sessionDate.utf8String, -1, nil)
sqlite3_bind_int(insertStatement, 6, sessionOrder)
sqlite3_bind_text(insertStatement, 7, timeStart.utf8String, -1, nil)
sqlite3_bind_text(insertStatement, 8, timeEnd.utf8String, -1, nil)
sqlite3_bind_text(insertStatement, 9, sessionType.utf8String, -1, nil)
sqlite3_bind_text(insertStatement, 10, speakerId.utf8String, -1, nil)
// 4
if sqlite3_step(insertStatement) == SQLITE_DONE {
print("Successfully inserted row.")
} else {
print("Could not insert row.")
}
} else {
print("INSERT statement could not be prepared.")
}
// 5
sqlite3_finalize(insertStatement)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.