在IOS中使用Sqlite来处理数据。如果你已经了解了SQL,那你可以很容易的掌握SQLite数据库的操作。iOS对于数据库的操作:增加、删除、查找、修改具体介绍如下所示:
首先需要创建一个数据库:本程序的数据库是在火狐浏览器里的插件里写的微量型数据库
火狐找查找SQLite Manager的步骤:
第一步:在工具栏找到附加组件,点击进入
第二步:搜索 SQP,找到并下载,安装完成之后需要重启浏览器
第三步:在工具只乐观找到SQLite Manager,点击打开
SQLite Manager界面如图所示
注:SQLite Manager是微量型的数据库编程软件,所以一次只能执行一句代码!!!
•创建数据库
--数据库的建立 create table team ( -- 创建名字为team的table stu_id integer primary key autoincrement, stu_name varchar(100), stu_password varchar(100), stu_login varchar(100) )--添加信息 insert into team(stu_name,stu_password,stu_login) values('xiaming','123456','xm') insert into team(stu_name,stu_password,stu_login) values('zhangsan','123456',' zs') --查询信息select *from team --删除信息delete from team where stu_id=3
工程目录文件如下:
这里需要导入一个系统自带的文件libsqlite3.0.tbd
步骤如图:
•实现工程
ViewController.h
#import <UIKit/UIKit.h> #import <sqlite3.h> @interface ViewController : UIViewController @property(strong,nonatomic)UIButton *showbtn; @property(strong,nonatomic)UIButton *insertbtn; @property(strong,nonatomic)UIButton *updatebtn; @property(strong,nonatomic)UIButton *deletebtn; @end
ViewController.h
#import "ViewController.h" #define PATH [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"team.sqlite"] @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // 获取沙盒 Documents文件路径 NSLog(@"%@",[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]); [self button]; } -(void)button { self.showbtn=[UIButton buttonWithType:UIButtonTypeSystem]; self.showbtn.frame=CGRectMake(100, 50, 200, 50); [self.showbtn setTitle:@"数据库显示" forState:UIControlStateNormal]; [self.showbtn addTarget:self action:@selector(showSql) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.showbtn]; self.insertbtn=[UIButton buttonWithType:UIButtonTypeSystem]; self.insertbtn.frame=CGRectMake(100, 100, 200, 50); [self.insertbtn setTitle:@"数据库添加" forState:UIControlStateNormal]; [self.insertbtn addTarget:self action:@selector(insertSql) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.insertbtn]; self.updatebtn=[UIButton buttonWithType:UIButtonTypeSystem]; self.updatebtn.frame=CGRectMake(100, 150, 200, 50); [self.updatebtn setTitle:@"数据库修改" forState:UIControlStateNormal]; [self.updatebtn addTarget:self action:@selector(updateSql) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.updatebtn]; self.deletebtn=[UIButton buttonWithType:UIButtonTypeSystem]; self.deletebtn.frame=CGRectMake(100, 200, 200, 50); [self.deletebtn setTitle:@"数据库删除" forState:UIControlStateNormal]; [self.deletebtn addTarget:self action:@selector(deleteSql) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.deletebtn]; } #pragma mark - 显示数据表中的所有信息 -(void)showSql { NSLog(@"显示数据库信息"); // 数据库 sqlite3 *db; // 根据指定的数据库文件存储路径打开数据库 int result=sqlite3_open([PATH UTF8String], &db); // 创建执行命令对象 sqlite3_stmt *stmt; // 打开数据库成功 if (result==SQLITE_OK) { NSLog(@"连接成功"); // 执行预处理命令 int res=sqlite3_prepare_v2(db, "select *from team", -1, &stmt, nil); if (res==SQLITE_OK) { // 循环遍历数据表的行信息 while (sqlite3_step(stmt)==SQLITE_ROW) { // 获取数据表中整型列的信息 int stu_id=sqlite3_column_int(stmt, 0); NSLog(@"stu_id is %d",stu_id); // 获取数据表中字符型的列的信息 NSLog(@"%@",[NSString stringWithFormat:@"%s",sqlite3_column_text(stmt, 1)]); NSLog(@"%@",[NSString stringWithFormat:@"%s",sqlite3_column_text(stmt, 2)] ); NSLog(@"%@",[NSString stringWithFormat:@"%s",sqlite3_column_text(stmt, 3)] ); } } } } #pragma mark -增加信息 -(void)insertSql { sqlite3 *db; sqlite3_stmt *stmt; sqlite3_open([PATH UTF8String], &db); int rst=sqlite3_prepare_v2(db, "insert into team(stu_name,stu_password,stu_login) values(?,?,?)", -1, &stmt, nil); sqlite3_bind_text(stmt, 1, "wangwu", -1, nil); sqlite3_bind_text(stmt, 2, "123456", -1, nil); sqlite3_bind_text(stmt, 3, "ww", -1, nil); // 判断是否增加成功 if (rst==SQLITE_OK) { if (SQLITE_DONE==sqlite3_step(stmt)) { NSLog(@"add ok"); }else{ NSLog(@"add fail"); } } } #pragma mark - 修改数据库 -(void)updateSql { sqlite3 *db; sqlite3_stmt *stmt; sqlite3_open([PATH UTF8String], &db); // 方法一 /* int res = sqlite3_prepare_v2(db, "update team set stu_name=(?),stu_password=(?),stu_login=(?) where stu_id=2" , -1, &stmt, nil); sqlite3_bind_text(stmt, 1, "xiaoming", -1, nil); sqlite3_bind_text(stmt, 2, "123456", -1, nil); sqlite3_bind_text(stmt, 3, "xm", -1, nil); */ // 方法二 int rst=sqlite3_prepare_v2(db, "update team setstu_name='zl',stu_password='zl123',stu_login='zhangsan' where stu_id=4", -1, &stmt, nil); // 判断是否修改成功 if (rst==SQLITE_OK) { if (SQLITE_DONE == sqlite3_step(stmt)) { NSLog(@" update ok"); }else{ NSLog(@"update fail"); } } } -(void)deleteSql { sqlite3 *db; sqlite3_stmt *stmt; sqlite3_open([PATH UTF8String], &db); int rst=sqlite3_prepare_v2(db, "delete from team where stu_id=9", -1, &stmt, nil); // 判断是否删除成功 if (rst==SQLITE_OK) { if (SQLITE_DONE==sqlite3_step(stmt)) { NSLog(@" delete ok"); }else{ NSLog(@"delete fail"); } } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
以上内容是小编给大家日常收集整理的iOS sqlite对数据库的各种操作,希望对大家有所帮助,如果大家想了解更多有关ios sqlite相关知识请登录小牛知识库网站了解详情,同时也非常感谢大家一直以来对小牛知识库网站的支持!
本文向大家介绍python中常用的各种数据库操作模块和连接实例,包括了python中常用的各种数据库操作模块和连接实例的使用技巧和注意事项,需要的朋友参考一下 工作中,经常会有用python访问各种数据库的需求,比如从oracle读点配置文件或者往mysql写点结果信息之类的。 这里列一下可能用到的各个模块。 sqlite3: 内置模块 用sqlite,有时候确实很方便,我觉得它确实做到了宣称的“
实现列表(UITableView)的删除、移动、多选等操作功能。适合初学者学习iOS的列表编程。 [Code4App.com]
本文向大家介绍SQLServer数据库的各种管理方法,包括了SQLServer数据库的各种管理方法的使用技巧和注意事项,需要的朋友参考一下 本文适用范围:全面阐述SQLServer数据库的各种操作,分虚拟主机和服务器两种情况。 这篇文章比较长,请使用下面的提纲访问。 提纲 一、虚拟主机 1.安装在线企业管理器 2.注册远程企业管理器(SQL2000) 3.注册远程企业管理器(SQL
本文向大家介绍全面总结Javascript对数组对象的各种操作,包括了全面总结Javascript对数组对象的各种操作的使用技巧和注意事项,需要的朋友参考一下 数组 数组定义:简而言之就是一组有序的数据集合,其索引为从0开始且自然增长的整数,其元素值可以是任何js数据!并且包含一个名为length的属性,该属性表示数组元素的个数! 一、定义数组,有三种定义方式: 方式一: 方式二: 方式三: 二、
本文向大家介绍Python对数据库操作,包括了Python对数据库操作的使用技巧和注意事项,需要的朋友参考一下 Windows下安装MySQL-python 下载地址:https://pypi.python.org/pypi/MySQL-python/1.2.5 安装到系统即可。 linux下安装MySQL-python以连接MySQL: 下载地址:https://pypi.python.org/
本文向大家介绍Oracle数据库中外键的相关操作整理,包括了Oracle数据库中外键的相关操作整理的使用技巧和注意事项,需要的朋友参考一下 racle使用外键来限制子表中参考的字段值,要求子表中的数据必须在主表中存在。当主表的记录发生变化时导致外键参考唯一约束值发生了变化时,Oracle指定了三种动作:默认值(类似于restrict)、delete cascade和delete set null。