SQLite3 代码库

SQLite3 代码库,第1张

概述首先导入SQLite3,而我们访问SQLite3需要通过一个API函数,这个函数在libsqlite3.dylib文件中  我们需要把这个动态库给加入到项目  方法是 在Grops&Files窗格中选择Frame这个文件夹,然后从Project菜单中选择Add toproject。。。然后通过路径/Develerper/Platform/iPhoneSimulator.platform/Devel @H_403_0@首先导入sqlite3,而我们访问sqlite3需要通过一个API函数,这个函数在libsqlite3.dylib文件中
@H_403_0@我们需要把这个动态库给加入到项目

@H_403_0@方法是在Grops&files窗格中选择Frame这个文件夹,然后从Project菜单中选择Add toproject。。。然后通过路径/Develerper/Platform/iPhonesimulator.platform/Developer/SDKs/iPhonesimulatorX.Y.Sdk/usr/lib
@H_403_0@找到libsqlite3.dylib


在.h文件创建
#definekfilename@"data.sqlite3"
sqlite3*database;//创建数据库
- (Nsstring*)datafilePath;//找数据库的文件位置
在.m文件中
1.找数据库文件
- (Nsstring *)datafilePath{
NSArray *paths =NSSearchPathForDirectoriesInDomains(
NSdocumentDirectory,NSUserDomainMask,YES);
Nsstring *documentsDirectory = [pathsobjectAtIndex:0];
return [documentsDirectorystringByAppendingPathComponent:kfilename];
}

2.打开数据库文件,如果还没有那么就创建一个
- (voID)vIEwDIDLoad{
if (sqlite3_open([[self datafilePath] UTF8String],&database)!= sqlITE_OK)//打开数据库
{
sqlite3_close(database);//异常就关闭
NSAssert(0,@"Failed to open database");//设置一个断言,这样避免程序出错了,程序员还不知道
}

char *errorMsg;//设置一个错误存储器
// 创建表格名为 files 第一列为row 类型为intget并且为主键,第二列为file-data,类型为text
Nsstring *createsql = @"CREATE table IF NOT EXISTS FIELDS (ROWINTEGER PRIMARY KEY,FIELD_DATA TEXT);";


//用sqlite3_exec把创建的表传递给数据库(sqlite3_exec用于执行不返回数据的 *** 作,如更新,插入和删除 *** 作
if (sqlite3_exec (database,[createsqlUTF8String],NulL,&errorMsg) !=sqlITE_OK)
sqlite3_close(database);
NSAssert1(0,@"Error creating table: %s",errorMsg);
//查询 *** 作比较复杂,必须先输入命令
Nsstring *query = @"SELECT ROW,FIELD_DATA FROM FIELDS ORDER BYROW";//
sqlite3_stmt *statement;
//sqlite3_prepare_v2 准备并且检查SQL语句是否完成,
if (sqlite3_prepare_v2( database,[query UTF8String],-1,&statement,nil) == sqlITE_OK)
while (sqlite3_step(statement) == sqlITE_ROW) //执行SQL语句

{//单步调试并从数据库中检索到int和nsstring的
int row = sqlite3_column_int(statement,0);//column是列的意思
char *rowData = (char *)sqlite3_column_text(statement,1);
//这里定义了一个和输出口名字一样的string(本例中的输出口为fIEld1)
//然后通过控制器调用valueFoeKey这个函数来把输出口的TextFIEld和你创建的绑定到一块
//这样你就可以直接调用输出口中的内容-----很美妙的设计方式

Nsstring *fIEldname = [[Nsstring alloc]
initWithFormat:@"fIEld%d",row];
Nsstring *fIEldValue = [[Nsstring alloc]
initWithUTF8String:rowData];
UITextFIEld *fIEld = [self valueForKey:fIEldname];
fIEld.text = fIEldValue;
[fIEldname release];
[fIEldValue release];
}
sqlite3_finalize(statement);
总结

以上是内存溢出为你收集整理的SQLite3 代码库全部内容,希望文章能够帮你解决SQLite3 代码库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/1176377.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-02
下一篇2022-06-02

发表评论

登录后才能评论

评论列表(0条)

    保存