iPhone开发 iPhone Sqlite3数据库实例操作
创始人
2024-08-02 22:10:28
0

iphone开发 iPhone sqlite3数据库实例操作是本文要介绍的内容,下面是对sqlite3数据库的操作,首先是要倒入类,最基本的,但不要忘记。我对数据库的操作进行了单独的处理,自己看着比较舒服,也好明白,需要用到时,直接调用久好了,也可以有代理,一直没研究,日后好好看看,先总结这些,方便自己查看,忘记时找找,老不用会很快忘记,方便自己吧!

  1.   #import   
  2.   #define kFilename @"data.sqlite3" 

1.打开数据库操作

  1.   -(void)openDB {  
  2.   NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
  3.   NSString *documentsDirectory = [paths objectAtIndex:0];  
  4.   NSString *dataFilePath = [documentsDirectory stringByAppendingPathComponent:kFilename];  
  5.   if (sqlite3_open([dataFilePath UTF8String], &database) != SQLITE_OK) {  
  6.   sqlite3_close(database);  
  7.   }  
  8.   } 

2.创建表,结构,类型

  1.   - (void)initDB {  
  2.   char *errorMsg;  
  3.   NSString *sql = @"CREATE TABLE IF NOT EXISTS USER (USER_ID INTEGER PRIMARY KEY,USERNAME TEXT,PASSWORD TEXT);";  
  4.   if (sqlite3_exec(database, [sql UTF8String], NULL, NULL, &errorMsg) != SQLITE_OK) {  
  5.   sqlite3_close(database);  
  6.   }  
  7.   } 

3.执行添加方法

  1.   - (void)insertUsername:(NSString *)username insertPassword:(NSString *)password {  
  2.   [self openDB];//调用打开库  
  3.   [self initDB];//调用创建表  
  4.   char *errorMsg;  
  5.   char *update = "INSERT OR REPLACE INTO USER (USERNAME,PASSWORD) VALUES (?,?);";//添加语句  
  6.   NSString *sql = [NSString stringWithFormat:@"SELECT USERNAME,PASSWORD FROM USER"];//查询语句  
  7.   sql = @"DELETE FROM USER;";//删除语句  
  8.   sqlite3_stmt *statement;  
  9.   if (sqlite3_prepare_v2(database, update, -1, &statement, nil) == SQLITE_OK) {  
  10.   sqlite3_bind_text(statement, 1, [username UTF8String], -1, SQLITE_TRANSIENT);  
  11.   sqlite3_bind_text(statement, 2, [password UTF8String], -1, SQLITE_TRANSIENT);  
  12.   }  
  13.   if (sqlite3_step(statement) != SQLITE_DONE)  
  14.   NSAssert1(0,@"Error updating table:%s",errorMsg);  
  15.   sqlite3_finalize(statement);  
  16.   sqlite3_close(database);  
  17.   } 

小结:iphone开发 iPhone sqlite3数据库实例操作的内容介绍完了希望本文对你有所帮助!

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...