ios中對資料庫fmdb的操作,建議是將方法寫成單例,下面是對資料庫的一些基本操作
一、在本地資料庫中建立表
//獲得
documents
目錄路徑
nsstring
*documentspath = [
nssearchpathfordirectoriesindomains
(nsdocumentdirectory
,nsuserdomainmask
,yes
)lastobject
];//
檔案路徑
nsstring
*filepath = [documentspath
:@"model.sqlite"
];//
例項化fmdatabase
物件_db
= [fmdatabase
databasewithpath
:filepath]; [
_dbopen
];fmresultset
*rs = [
_dbexecutequery
:@"select count(*) as 'count' from sqlite_master where type ='table' and name = ?"
,@"numberdata"
];while
([rs
next
])else}//
初始化資料表
nsstring
*personsql =
@"create table 'numberdata' ('numid' integer primary key autoincrement not null ,'number' varchar(255),'datestr' varchar(255),'qinum' varchar(255)) ";[
_dbexecuteupdate
:personsql];
[_db
close];
二、增
[
_dbopen
];nsnumber
*maxid =
@(0)
;fmresultset
*res = [
_dbexecutequery
:@"select * from numberdata "
];//
獲取資料庫中最大的
idwhile
([res
next
]) }
maxid =
@([maxid
integervalue
] +1);[
_dbexecuteupdate
:@"insert into numberdata(numid,number,datestr,qinum)values(?,?,?,?)"
,[nsstring
stringwithformat
:@"%@"
,maxid],num.
number
,num.
datestr
,num.
qinum];[
_dbclose
];
三、刪
[_db
open
];if
([_db
executeupdate
:@"delete from numberdata where datestr = ?"
,datestr])
else
[_db
close];
四、改
[
_dbopen
];bool
su = [
_dbexecuteupdate
:@"update 'numberdata' set number = ? where datestr = ? and qinum = ?"
,newnum,datestr,qinum];
[_db
close
];
五、查[
_dbopen
];nsmutablearray
*dataarray = [[
nsmutablearray
alloc
]init
];fmresultset
*res = [
_dbexecutequery
:@"select * from numberdata"
];while
([res
next
]) [
_dbclose];
參考:
iOS 資料庫 FMDB使用
好久沒有寫oc 了,幹了一年的cocos2d x,終於又回歸ios了,這段時間翻看了以前寫的,試圖控制項基本總結完畢,還有一些不常用的以後再補充。後面有時間就寫一些其他的。今天就先寫一下資料庫和乙個三方fmdb。其實ios的資料儲存形式有很多,比如 檔案形式,nsuserdefault,資料庫等。檔...
iOS 資料庫操作 使用FMDB
ios中原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,就出現了一系列將sqlite api進行封裝的庫,例如fmdb plausibledatabase sqlitepersistentobjects等,fmdb 是一款簡潔 易用的封裝庫,這一篇文章簡單介紹下fmdb的使用...
iOS資料庫操作 使用FMDB
ios中原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,就出現了一系列將sqlite api進行封裝的庫,例如fmdb plausibledatabase sqlitepersistentobjects等,fmdb 是一款簡潔 易用的封裝庫,這一篇文章簡單介紹下fmdb的使用...