iOS sqlite3 命令的使用方法和技巧有哪些

查看: 6361|回复: 9
关于苹果越狱兔SQLITE3错误的解决方法
如图所示,有朋友可能遇到打开苹果兔提示
无法定位程序输入点sqlite3_wal_checkpoint于动态链接库SQLite3.dll上复制代码
这个错误。
解决这个方法很简单,删除系统盘C:\windows\system32目录下的sqlite3.dll文件即可解决!删除后不会造成其它什么问题,如果不放心,可以复制出来备份好!
亲。我出现了这个问题。但是电脑里貌似没有找到这个要删除的文件。
]6QFPZMY1P18HO0WV`Q_%UQ.jpg (80.31 KB, 下载次数: 71)
手机数据线的确已经与电脑连接,可是它怎么还是显示不到?
14:38 上传
手机数据线的确已经与电脑连接,可是它怎么还是显示不到?我是比较笨的,用了很久都没想到要越狱,最近突然想了,就。。。。。。帮帮我吧,谢谢哈
本帖最后由 小心柒柒 于
11:00 编辑
奋斗女,静心 发表于
手机数据线的确已经与电脑连接,可是它怎么还是显示不到?我是比较笨的,用了很久都没想到要越狱,最近突然 ...
按楼主说的,找到文件,删除了,确实能打开越狱兔,并可以越狱。只是我打开后看到的好像是绿毒的越狱。其实我想用的是红雪的。不管如何都试试楼主。
我也是没有找到要删除的文件& &
怎么办呀很急
靠!!我电脑里面也没这个文件啊,那现在到底是怎么弄?????
请问ios6.0 什么时候能越狱
嗯 还没解决
Powered by
北京市公安局海淀分局网监中心备案编号:后使用快捷导航没有帐号?
只需一步,快速开始
查看: 869|回复: 1
最后登录阅读权限200注册时间积分16412精华1帖子威望755 PP豆43645 活跃度21697
(?o?o)??兔子大魔王
TA的每日心情擦汗昨天&08:55签到天数: 423 天连续签到: 5 天[LV.9]以坛为家II帖子威望755 PP豆43645 活跃度21697
PP助手官方微信
  经过多晚通宵的等待终于让我们盼望到/4/5WIN版发布了!本次发布的工具还算比较稳定,相比MAC版的工具来说BUG已经修复了不少,虽说比较稳定,但是也有部分网友提出部分BUG,而打开越狱工具出现sqlite3.dll提示的问题成为了用户提问的热点,下面小编为大家提供了一个临时解决方法。
  【教程】iOS6.1.3/4/5(Win版):  【下载】iOS6.1.3/4/5越狱下载(Win版):打开越狱工具报错sqlite3.dll  1.从C:\Program Files\Common Files\Apple\Apple Application Support找到 sqlite3.dll,并复制它。
  2.在C:\WINDOWS\system32将刚刚复制的sqlite3.dll粘贴上去。
  3.在C:\Program Files\Common Files\Apple\Mobile Device Support 将刚刚复制的sqlite3.dll粘贴上去。
  4.重新打开Semi-Restore。
  *PP温馨提示:目前.X完美越狱支持全套设备(A4—A6)的工具包已经发布,提供WIN及Mac两种下载方式。经PP技术大神实测,最新版本p0sixspwn已相当稳定,相当值得一试。
最后登录阅读权限200注册时间积分23740精华0帖子威望136 PP豆3198 活跃度19052
TA的每日心情怒昨天&14:11签到天数: 471 天连续签到: 14 天[LV.9]以坛为家II帖子威望136 PP豆3198 活跃度19052 设备iPhone 5s
谢谢分享~{:7_324:}
超级版主勋章
论坛超级版主专用
授予在论坛发布大量资源,100个资源贴以上的会员
授予在论坛发布优秀存档和美化资源,50个资源贴以上的会员
论坛回帖之王
论坛雷锋好模范
论坛创始人
论坛管理员专用
宇宙独一无二的盘古勋章,只要在盘古区发布越狱心得教程,支持盘古支持PP助手即可拥有,让你有不一样的身份标识,每日限额50名!
连续签到30天,时效90天
站长推荐 /1
小伙伴的摄影技术是提升了吗?赶紧拿起你手中的相机捕捉下身边的画面,参与PP助手手机摄影年度大赛,赢取千元京东大礼!!
Powered by
Copyright&
Aihe Internet Technology Co.,Ltd. All Rights Reserved.广州爱禾网络技术有限公司 版权所有&&局限性:只有它支持的数据类型可以被序列化,存储到plist中。无法将其他Cocoa对象存储到plist,更不能将自定义对象存储。
支持的数据类型:Array,Dictionary,Boolean,Data,Date,Number和String.
& xml文件 数据类型截图~其中基本数据(Boolean,Data,Date,Number和String.)、容器 (Array,Dictionary)
写入xml过程:先将基本数据写入容器 再调用容器的 writeToFile 方法,写入。
[theArray writeToFile:filePath atomically:YES];
拥有此方法的数据类型有:
atomically参数,将值设置为 YES。写入文件的时候,将不会直接写入指定路径,而是将数据写入到一个&辅助文件&,写入成功后,再将其复制到指定路径。
2、Archiver
特点:支持复杂的数据对象。包括自定义对象。对自定义对象进行归档处理,对象中的属性需满足:为基本数据类型(int or float or......),或者为实现了NSCoding协议的类的实例。自定义对象的类也需要实现NSCoding。
NSCoding 方法:-(id)initWithCoder:(NSCoder *) - (void)encodeWithCoder:(NSCoder *) 参数分别理解为解码者和编码者。
例如创建自定义类Student:NSObject &NSCoding&
1 #import "Student.h" 2
4 @implementation Student 5 @synthesize studentID; 6 @synthesize studentN 7 @ 8 @ 9 10 &- (void)encodeWithCoder:(NSCoder *)encoder11 {12
[encoder encodeObject: studentID forKey: kStudentId];13
[encoder encodeObject: studentName forKey: kStudentName];14
[encoder encodeObject: age forKey: kAge];15
[encoder encodeInt:count forKey:kCount];&17 }18 19 &- (id)initWithCoder:(NSCoder *)decoder20 {21 if (self == [super init]) {22
self.studentID = [decoder decodeObjectForKey:kStudentId];23
self.studentName = [decoder decodeObjectForKey:kStudentName];24
self.age = [decoder decodeObjectForKey:kAge];25
self.count = [decoder decodeIntForKey:kCount];&27
}28 return29 }30 31 @end
编码过程:
1 /*encoding*/ 2
Student *theStudent = [[Student alloc] init]; 3
theStudent.studentID =@"神马"; 4
theStudent.studentName =@"shenma"; 5
theStudent.age =@"12"; 6
NSMutableData *data = [[NSMutableData alloc] init]; 8
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data]; 9 10
[archiver encodeObject: theStudent forKey:@"student"];
NSKeyedArchiver可以看作&加密器&,将student实例编码后存储到data
NSMutableData 可看作&容器&,并由它来完成写入文件操作(inherits NSData)。
解码过程:
1 /*unencoding*/2
Student *studento = [[Student alloc] init];3
data = [[NSData alloc] initWithContentsOfFile:documentsPath];4
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];5 6
studento = [unarchiver decodeObjectForKey:@"student"];7
[unarchiver finishDecoding];
根据键值key得到反序列化后的实例。
数据库操作~
阅读(...) 评论()热门图片排行榜
热门文章排行榜
CopyRight & 2011
Inc. All Right Reserved. 闽ICP备号-1
文明办网文明上网,共创优质互联网互动环境
免责声明:部分内容整理于互联网,若侵犯到您的权利请及时联系我们,谢谢!iOS 8步SQLite入门 - 推酷
iOS 8步SQLite入门
要使用iOS中的轻量级SQLite,首先需要导入libsqlite3.dylib库。
在LinkBinary With Libraries 处添加libsqlite3.dylib。
libsqlite3.dylib与libsqlite3.0.dylib是不同的,libsqlite3.dylib是一个指向libsqlite3.0.dylib的索引,而且总是指向最新的sqlite3动态库。(如果有新的libsqlite3.1.dylib出现则会指向3.1)。
2、 添加头文件,并定义sqlite3数据库索引变量。
1)在.h中加入头文件引用:#import &sqlite3.h&
声明变量:@property sqlite3 *
2)在.m中@
定义好了sqlite3索引就可以方便之后的操作了!
3、定义查找目录方法
-(NSString *)findDocuments{
NSArray *document_paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [document_paths objectAtIndex:0];
NSLog(@&path is %@&,path);
数据库文件一般放在Documents文件夹下,当然你也可以选择放在其他的地方。
4、打开数据库
- (IBAction)openSQLite:(id)sender {
NSString *path = [self findDocuments];//获得documents的路径
NSString *sqlite_path = [path stringByAppendingPathComponent:@&student.sqlite&];//添加数据库表名称到documents路径末尾
int result = sqlite3_open([sqlite_path UTF8String], &db);
if(result != SQLITE_OK){
NSLog(@&open failed:result is %d&,result);
打开数据库的时候有几个需要注意的地方。
&&& 1)Sqlite3_open的第一个参数必须是C字符串,而不支持NSString类型的字符串,所以需要把NSString类型的字符串通过 UTF8String 方法转化为C字符串。
&&& 2)执行Sqlite3_open的方法会返回一个结果参数,如果等于SQLITE_OK(值为0)则表示创建成功。
&&& 3)使用完成后记得关闭数据库
sqlite3_close
5、执行sql语句
-(int)execSQL:(NSString *)sql{
char *errorM
int result = sqlite3_exec(db,[sql UTF8String], NULL,NULL,&errorMsg);
sqlite3_exec执行非查询的sql语句,同样用result的值(
)来判断是否执行成功,errorMsg为错误描述。
NSString *sql = @&CREATE TABLE IF NOT EXISTS STUDENT(ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT)&;
int result = [self execSQL:sql];
if(result != SQLITE_OK){
NSLog(@&createTable failed,result is %d&,result);
直接调用方法执行
7、增、删、改
增:注意values里面的值需要用单引号阔起来。
NSString *sql = @&INSERT INTO STUDENT(NAME) VALUES('XIAOMING')&;
int result = [self execSQL:sql];
if(result != SQLITE_OK){
NSLog(@&insert failed&);
NSString *sql = @&DELETE FROM STUDENT WHERE NAME ='XIAOMING'&;
int result = [selfexecSQL:sql];
if(result != SQLITE_OK){
NSLog(@&delete failed&);
改:把xiaoming改为atany
NSString *sql = @&UPDATE STUDENT SET NAME = 'ATANY' WHERE NAME = 'XIAOMING'&;
int result = [selfexecSQL:sql];
if(result != SQLITE_OK){
NSLog(@&update failed&);
NSString *sql = @&SELECT * FROM STUDENT&;
sqlite3_stmt *
if (sqlite3_prepare_v2(db, [sql UTF8String], -1, &statement, nil) == SQLITE_OK) {
while (sqlite3_step(statement) == SQLITE_ROW) {
char *name = (char*)sqlite3_column_text(statement, 1);
NSString *nameStr = [[NSString alloc]initWithUTF8String:name];
NSLog(@&name:%@&,nameStr);
附:使用绑定变量的方法,以增为例
char *sql = &insert into student(name) values (?);&;
sqlite3_stmt *
if(sqlite3_prepare_v2(db, sql, -1, &stmt, nil) == SQLITE_OK){
sqlite3_bind_text(stmt , 1, &A&, -1, NULL);
if(sqlite3_step(stmt) != SQLITE_DONE){
sqlite3_finalize(stmt);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& **********
****************************************************
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& & atany原创,转载请注明博主与博文链接,3Q
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& && —— by atany
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
**********
****************************************************
已发表评论数()
&&登&&&陆&&
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见}

我要回帖

更多关于 sqlite3使用详解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信