Swift2.2 Xcode7.3でプログラムを組んでいます。
FMDBを使って、テーブルの行数(レコード数)を取得する方法は色々なサイトで書かれているのですが、列の数(カラム数)を取得する方法が載っているところが見つからず、苦戦しています。できれば数字を直打ちせず、プログラミングで列数を数えさせたいのです。
もし、わかる方がいらっしゃれば助けていただけるとありがたいです。
下にテーブルの行数を取得した時のコードを書いておきます。よろしくお願いします。
Swift
1let dbfile = "XXX.db" 2let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) 3let libDir = paths[0] as String 4let dbPath = libDir.stringByAppendingPathComponent(dbfile) 5 6let checkDB:Bool = NSFileManager.defaultManager().fileExistsAtPath(dbPath) 7 8if checkDB == false {//ファイルがない場合はコピー 9 let defaltDBPath :String = (NSBundle.mainBundle().resourcePath! as NSString).stringByAppendingPathComponent(dbfile) 10 try! NSFileManager.defaultManager().copyItemAtPath(defaltDBPath, toPath: dbPath) 11 if checkDB == false {//Errorの場合 12 print("Copy error = " + defaltDBPath) 13 } 14} else {//ファイルがある 15 print("DB file OK") 16} 17 18let db = FMDatabase(path: dbPath) 19let selectSql = "SELECT count(*) from tableName" 20 21db.open() 22 23let result = db.executeQuery(selectSql, withArgumentsInArray: nil) 24var dbRowCount:Int = 0 25if result.next() { 26 dbRowCount = Int(result.intForColumn("count(*)")) 27} 28 29db.close() 30 31print("dbRowCount = \(dbRowCount)") 32
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。