我猜这种方法不正确吗?我按了确定按钮,但桌上没有任何显示。
还有其他方法可以从数据库中获取数据吗?如果可能,我想将它们作为数组类型。
我刚刚添加了更多代码。
请看看它,任何帮助将不胜感激。

谢谢。

    let filemgr = FileManager.default
               let dirPaths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)

               let docsDir = dirPaths[0] as String
               databasesPath = docsDir.appending("/infos.db")
               // 데이터베이스 파일이 존재하지 않으면 데이터베이스 파일 생성
               if !filemgr.fileExists(atPath: databasesPath!) {

                   let contactDB = FMDatabase(path: databasesPath)
                   // 데이터베이스를 열고 info 테이블을 생성한다.
                if contactDB.open() {
                       let sql_stmt = "CREATE TABLE IF NOT EXISTS INFOS (ID INTEGER PRIMARY KEY AUTOINCREMENT, WORD TEXT, MEANING TEXT, INFO TEXT)"
                       if !contactDB.executeStatements(sql_stmt) {
                           print("Error \(contactDB.lastErrorMessage())")
                       }
                       contactDB.close()
                   } else {
                       print("Error \(contactDB.lastErrorMessage())")
                   }
               }
           }


@IBAction func dropTable(_ sender: Any) {
    let contactDB = FMDatabase(path: databasesPath)
    if contactDB.open() {


    let myQuery = "DROP TABLE IF EXISTS info"
        contactDB.executeStatements(myQuery)
    }
}



           @IBAction func ok(_ sender: Any) {

               let contactDB = FMDatabase(path: databasesPath)

                    if contactDB.open() {
                      let querySQL = "SELECT word FROM infos"
                        let result: FMResultSet? = contactDB.executeQuery(querySQL, withArgumentsIn: [])
                        allInfo.word = result?.string(forColumn:"word")

                        // next 메서드는 일치하는 레코드가 적어도 하나 이상인지 확인하기 위함
                        tableview.reloadData()
                        contactDB.close()
                    } else {
                        print("Error \(contactDB.lastErrorMessage())")
                    }

           }

最佳答案

请尝试在数组中添加数组,然后在tableview单元格标签中添加。

var wordtext:[String]!
 @IBAction func ok(_ sender: Any) {

        let contactDB = FMDatabase(path: databasesPath)

                    if contactDB.open() {
                      let querySQL = "SELECT word FROM infos"
                        let result: FMResultSet? = contactDB.executeQuery(querySQL, withArgumentsIn: [])
                        allInfo.word = result?.string(forColumn:"word")

                        wordtext.append(result?.string(forColumn:"word"))
                        // OR wordtext.append = result?.string(forColumn:"word")

                        // next 메서드는 일치하는 레코드가 적어도 하나 이상인지 확인하기 위함
                        tableview.reloadData()
                        contactDB.close()
                    } else {
                        print("Error \(contactDB.lastErrorMessage())")
                    }
       }

10-08 06:26
查看更多