h檔案
#import
#import "sqlite3.h"
@inte***ce databaseoperation : nsobject
@property(nonatomic)sqlite3* m_sql;
@property(nonatomic,retain)nsstring* m_dbname;
-(id)initwithdbname:(nsstring*)dbname;
-(bool)openorcreatedatabase:(nsstring*)dbname;
-(bool)createtable:(nsstring*)sqlcreatetable;
-(void)closedatabase;
-(bool)inserttable:(nsstring*)sqlinsert;
-(bool)updatatable:(nsstring*)sqlupdata;
-(nsarray*)querrytable:(nsstring*)sqlquerry;
-(nsarray*)querrytablebycallback:(nsstring*)sqlquerry;
@end
m檔案#import "databaseoperation.h"
@implementation databaseoperation
@synthesizem_sql;
@synthesizem_dbname;
- (id) initwithdbname:(nsstring*)dbname
}returnself; }
- (id) init
- (void) dealloc
//-------------------建立資料庫-------------------------
-(bool)openorcreatedatabase:(nsstring*)dbname
returnyes; }
//------------------建立表----------------------
-(bool)createtable:(nsstring*)sqlcreatetable
char *errormsg;
if (sqlite3_exec (self.m_sql, [sqlcreatetable utf8string],null,null, &errormsg) != sqlite_ok)
[self
closedatabase];
returnyes; }
//----------------------關閉資料庫-----------------
-(void)closedatabase
//------------------insert-------------------
-(bool)inserttable:(nsstring*)sqlinsert
char* errormsg = null;
if(sqlite3_exec(self.m_sql, [sqlinsertutf8string],0,null, &errormsg) ==sqlite_ok)
else
returnyes; }
//--------------updata-------------
-(bool)updatatable:(nsstring*)sqlupdata
char *errormsg;
if (sqlite3_exec (self.m_sql, [sqlupdata utf8string],0,null, &errormsg) !=sqlite_ok)
else
return yes; }
//--------------select---------------------
-(nsarray*)querrytable:(nsstring*)sqlquerry
int row = 0;
int column = 0;
char* errormsg = null;
char** dbresult = null;
nsmutablearray* array = [[nsmutablearray
alloc
]init];
if(sqlite3_get_table(m_sql, [sqlquerryutf8string], &dbresult, &row,&column,&errormsg ) ==sqlite_ok)
int index = column;
for(int i =0; i < row ; i++ )
index ++;
} [array addobject:dic];
[dic release];
}}else
[self
closedatabase];
return [array autorelease];
}//----------------------select--------------------
int processdata(void* arrayresult,int columncount,char** columnvalue,char** columnname)
} [(nsmutablearray*)arrayresult addobject:dic];
[dic release];
return
0; }
//---------------------select-----------------------
-(nsarray*)querrytablebycallback:(nsstring*)sqlquerry
char* errormsg = null;
nsmutablearray* arrayresult = [[nsmutablearray
alloc
]init];
if (sqlite3_exec(self.m_sql,[sqlquerryutf8string],processdata,(void*)arrayresult,&errormsg) !=sqlite_ok)
[self
closedatabase];
return [arrayresult autorelease];
}@end
基於IOS的sqlite資料庫封裝
dbcontroller是基於ios下的object c實現的,封裝了對sqlite資料庫的常用的查詢 插入 更新和刪除操作,不需要再次修改和實現資料庫的底層介面操作,直接申明模型類,然後呼叫dbcontroller來進行資料的操作。當前專案的限制就是模型類的成員資料型別只支援整形 浮點型 nsst...
資料庫訪問封裝
專案名稱 dbacess 專案目的 封裝jdbc訪問 專案使用 任意,保障所有包開源 專案當前功能 1.訪問資料庫方法封裝 2.資料庫連線池採用hikaricp 3.配置檔案遵守hikaricp的配置,設定根目錄,以此保障功能多資料庫,多源。4.擴充套件驅動路徑,採用自定義載入器載入驅動 5.新資料...
資料庫封裝專案
專案名稱 dbacess 專案目的 封裝jdbc訪問 專案使用 任意,保障所有包開源 專案當前功能 1.訪問資料庫方法封裝 2.資料庫連線池採用hikaricp 3.配置檔案遵守hikaricp的配置,設定根目錄,以此保障功能多資料庫,多源。4.擴充套件驅動路徑,採用自定義載入器載入驅動 5.新資料...