fmdbデータベース
原文:http://blog.csdn.net/f520131480315/article/details/6444297
原作者の樺子さんに感謝します.
iPhoneではsqliteを使ってデータを格納するのが私の習慣です.一般的には他のプラットフォームでもsqliteを使います.例えば、androidです.
iphoneにはパッケージされた第三者のフレームがあります.もっと時間がかかります.例えば:Sqliptersistentobject、FMBB .今日はこの二つのフレームを探しましたが、FMBBのスタイルはもっと私の使用に合うと思います.実は両方とも長所があります.個人の好みを見るだけです.
以下はFMDBのいくつかの基本的な使用であり、FMDBフレームは実は薄いパッケージであり、主なクラスは2つしかない. ;
そのうちの
view plin
//パス: iosの下でDocumentのパス、Documentはiosの中で読み書きができるフォルダです. NSAray *パス = NSSearch PathForDirectores InDommans(NSDockment Directory) NSUser DomainMask、 YES); NSString *DcumentDirectory = [paths] object AtIndex:0] //dbPath: データベースパスは、Dcumentにあります. NSString *dbPath = [documentDirectory] strigByAppledingPathComponent:@「Test.db」 //データベースの例を作成する db ここで説明します.パスに「Test.db」のファイルが存在しないと、sqliteが自動的に「Test.db」を作成します. FMDAASe *db= [FMDabrate] databaseWithPath:dbPath) ; if (![db] open] { NSLog(@"Could not open db.「); return ; )
次に、私たちはこのデータベースオブジェクトを介して操作することができます.操作は主にudateとqueriesです.
まず表を作成します.
view plin
//Userという表を作成します.二つのフィールドはそれぞれstringタイプのName、integerタイプのものがあります. Age [db] executeUpdate:@"CREATE" TABLE User (Name text,Age integer)“];
これで私たちは時計を持っています.次に私たちは表を操作します.データを挿入します注意挿入されたデータにはワイルドカードが使用されています.これはiphoneがsqlite言い訳を直接使用するバインディング変数と同じで、後のワイルドカードと一致するデータです.
view plin
//挿入データOCの種類を使う textはNSStringに対応します. integerはNSNumberの整形に対応しています. [db] executeUpdate:@INSERT INTO User (Name,Age) VALES (???)「@」妻「NSNumber」 number WithInt:20] 次はデータの更新です.
view plin
//データの更新 「女房」を「宝物」に変更しました. [db] executeUpdate:@「UPDATE」 User SET Name = ? WHERE Name = ? ",@"妻「@」の宝物「」; 次に、データを削除します.
view plin
//データの削除 [db] executeUpdate:@「DELETE」 FROM User WHERE Name = ?",@"おかみさん
udateの基本操作はこのいくつです.これからはqueriesです.
view plin
//データベースの最初の条件を満たす結果を返します. NSString *a=[db] string ForQuery:@SELECT Name FROM User WHERE Age = ?",@"20"; このようにして私達は調べてデータを返しましたが、複数のデータを戻したいですが、どうすればいいですか?心配しないでください.FMDBのもう一つの主要なクラスについて言及しました.FMRI esult Setは結果集です.複数のデータを返すと、FMBBはこの結果にデータを集中して、この結果セットを照会します.簡単です
view plin
FMreesult Set *rs=[db] executeQuery:@SELECT * FROM User"; rs=[db] executeQuery:@SELECT * FROM User WHERE Age = ?",@"20"; while ([rs] next){ NSLog(@'@@@ %@",[rs] string For Column:@Name",[rs] string For Column:@「Age」); )
もっと FMreesult Set方法はありますか? 具体的にクラスを調べたらいいです. はい、FMDBの使用はこのようにして簡単ではないですか?実はこのパッケージのフレームは全てその宗派から離れられないものです.sqlを把握すればいいです.
原作者の樺子さんに感謝します.
iPhoneではsqliteを使ってデータを格納するのが私の習慣です.一般的には他のプラットフォームでもsqliteを使います.例えば、androidです.
iphoneにはパッケージされた第三者のフレームがあります.もっと時間がかかります.例えば:Sqliptersistentobject、FMBB .今日はこの二つのフレームを探しましたが、FMBBのスタイルはもっと私の使用に合うと思います.実は両方とも長所があります.個人の好みを見るだけです.
以下はFMDBのいくつかの基本的な使用であり、FMDBフレームは実は薄いパッケージであり、主なクラスは2つしかない. ;
そのうちの
FMResultSet android sqlite cursor 。
FMDB github ,https://github.com/ccgus/fmdb。
1、まず具体的にFMDabrateオブジェクトを実行しなければなりません. Sqliptersistentobject 派生のサブクラスでの操作は異なります.次にデータベースを開きます.もしデータベースが作成されないならば.view plin
//パス: iosの下でDocumentのパス、Documentはiosの中で読み書きができるフォルダです. NSAray *パス = NSSearch PathForDirectores InDommans(NSDockment Directory) NSUser DomainMask、 YES); NSString *DcumentDirectory = [paths] object AtIndex:0] //dbPath: データベースパスは、Dcumentにあります. NSString *dbPath = [documentDirectory] strigByAppledingPathComponent:@「Test.db」 //データベースの例を作成する db ここで説明します.パスに「Test.db」のファイルが存在しないと、sqliteが自動的に「Test.db」を作成します. FMDAASe *db= [FMDabrate] databaseWithPath:dbPath) ; if (![db] open] { NSLog(@"Could not open db.「); return ; )
次に、私たちはこのデータベースオブジェクトを介して操作することができます.操作は主にudateとqueriesです.
まず表を作成します.
view plin
//Userという表を作成します.二つのフィールドはそれぞれstringタイプのName、integerタイプのものがあります. Age [db] executeUpdate:@"CREATE" TABLE User (Name text,Age integer)“];
これで私たちは時計を持っています.次に私たちは表を操作します.データを挿入します注意挿入されたデータにはワイルドカードが使用されています.これはiphoneがsqlite言い訳を直接使用するバインディング変数と同じで、後のワイルドカードと一致するデータです.
view plin
//挿入データOCの種類を使う textはNSStringに対応します. integerはNSNumberの整形に対応しています. [db] executeUpdate:@INSERT INTO User (Name,Age) VALES (???)「@」妻「NSNumber」 number WithInt:20] 次はデータの更新です.
view plin
//データの更新 「女房」を「宝物」に変更しました. [db] executeUpdate:@「UPDATE」 User SET Name = ? WHERE Name = ? ",@"妻「@」の宝物「」; 次に、データを削除します.
view plin
//データの削除 [db] executeUpdate:@「DELETE」 FROM User WHERE Name = ?",@"おかみさん
udateの基本操作はこのいくつです.これからはqueriesです.
view plin
//データベースの最初の条件を満たす結果を返します. NSString *a=[db] string ForQuery:@SELECT Name FROM User WHERE Age = ?",@"20"; このようにして私達は調べてデータを返しましたが、複数のデータを戻したいですが、どうすればいいですか?心配しないでください.FMDBのもう一つの主要なクラスについて言及しました.FMRI esult Setは結果集です.複数のデータを返すと、FMBBはこの結果にデータを集中して、この結果セットを照会します.簡単です
view plin
FMreesult Set *rs=[db] executeQuery:@SELECT * FROM User"; rs=[db] executeQuery:@SELECT * FROM User WHERE Age = ?",@"20"; while ([rs] next){ NSLog(@'@@@ %@",[rs] string For Column:@Name",[rs] string For Column:@「Age」); )
もっと FMreesult Set方法はありますか?
intForColumn:
longForColumn:
longLongIntForColumn:
boolForColumn:
doubleForColumn:
stringForColumn:
dateForColumn:
dataForColumn:
dataNoCopyForColumn:
UTF8StringForColumnIndex:
objectForColumn: