iOS sqlite C语言操作
利用周六时间看了一下关于sqlite的知识。在这记录一下。看的传智播客视频
对数据的操作基本上就是增删改查:
static sqlite3 *db; //声明一个数据库
@implementation XSDBOperator + (void)initialize
{
NSString *filename = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]stringByAppendingPathComponent:@"student.sqlite"]; //数据库文件路径
//假设文件存在,则打开数据库文件。假设不存在则创建,而且打开
int result = sqlite3_open(filename.UTF8String, &db); //
//推断是否打开数据库成功
if (result == SQLITE_OK) {
NSLog(@"打开数据库成功");
}
else
{
NSLog(@"打开失败");
}
}
#pragma mark - 创建数据库表
+(BOOL)creatTable
{
char *sql = "create table if not exists t_student (id integer primary key autoincrement,name text,age integer,score integer);";
char *errorMesg = NULL;
int result = sqlite3_exec(db, sql, NULL, NULL, &errorMesg);//用于操作数据库
if (result == SQLITE_OK) {
return YES;
}
else
{
NSLog(@"创建表失败,失败原因:%s",errorMesg);
return NO;
}
} +(BOOL)insert
{
char *sql = "insert into t_table (name,age) values('jack',20)";
char *errorMesg = NULL;
int result = sqlite3_exec(db, sql , NULL, NULL, &errorMesg);
if (result == SQLITE_OK) {
return YES;
}
else
{
NSLog(@"插入数据失败,失败原因:%s",errorMesg);
return NO;
}
} + (BOOL)updata
{
char *sql = "updata t_table set age = 12";
char *errorMesg = NULL;
int result = sqlite3_exec(db, sql , NULL, NULL, &errorMesg);
if (result == SQLITE_OK) {
return YES;
}
else
{
NSLog(@"更新数据失败,失败原因:%s",errorMesg);
return NO;
}
} + (void)query
{
char *sql = "select id,name,age from t_student;";
//查询结果保存集合
sqlite3_stmt *stmt= NULL;
int result = sqlite3_prepare_v2(db, sql , -1, &stmt, NULL);
if (result == SQLITE_OK) {
NSLog(@"查询语句合法");
while (sqlite3_step(stmt) == SQLITE_ROW) { //依照行进行遍历 直到取完为止
int sid = sqlite3_column_int(stmt, 0); //取当前行出第几列的值
const unsigned char *sname = sqlite3_column_text(stmt, 1);
int sage = sqlite3_column_int(stmt, 2);
NSLog(@"%d,%s,%d",sid,sname,sage);
}
}
else
{
NSLog(@"查询语句不合法");
}
}
@end
iOS sqlite C语言操作的更多相关文章
- iOS sqlite 的各种操作
iOS --SQL的增加.删除.查找.修改 iOS对于数据库的操作:增加.删除.查找.修改 首先需要创建一个数据库:本程序的数据库是在火狐浏览器里的插件里写的微量型数据库 火狐找查找SQLite Ma ...
- iOS sqlite 使用事务操作数据库
业务层代码: //将解析的更新人员数据批量同步到数据库 +(void)operateCompUsers:(NSMutableArray*)operateCompUsers { sqliteHelper ...
- iOS - SQLite Database 操作数据库
iOS - SQLite Database 操作数据库 Sqlite 能被用在ios上做数据处理用,只要你懂得一点sql 就很容易使用sqlite 1:创建一个简单的View based appl ...
- IOS开发-UI学习-sqlite数据库的操作
IOS开发-UI学习-sqlite数据库的操作 sqlite是一个轻量级的数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了,而且它的处理速度比Mysql.PostgreSQL这 ...
- 使用iOS原生sqlite3框架对sqlite数据库进行操作
摘要: iOS中sqlite3框架可以很好的对sqlite数据库进行支持,通过面向对象的封装,可以更易于开发者使用. 使用iOS原生sqlite3框架对sqlite数据库进行操作 一.引言 sqlit ...
- 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...
- iOS sqlite数据库实现(转)
转载自:http://www.cnblogs.com/macroxu-1982/archive/2012/10/01/2709960.html 1 实现过程添加libsqlite3组件 选择项目后,在 ...
- Android &Swift iOS开发:语言与框架对比
转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_sour ...
- ios sqlite的创建数据库,表,插入查看数据
iOS sqlite数据库操作.步骤是: 先加入sqlite开发库libsqlite3.dylib, 新建或打开数据库, 创建数据表, 插入数据, 查询数据并打印 1.新建项目sqliteDemo,添 ...
随机推荐
- 用开源项目ExpandableTextView打造可以下拉扩展的TextView
这次还是用开源项目来实现效果,我个人觉得上面的这个效果还是很赞的.于是就记录下如何实现这个效果,其实相当简单.这就是开源项目写的好的例子,整个开源项目的代码十分清晰,逻辑和代码结构都很棒,接入自己的工 ...
- 02 如何创建线程 线程并发与synchornized
所有程序运行结果 请自行得出 创建线程方式一:继承Thread类 步骤: 1,定义一个类继承Thread类. 2,覆盖Thread类中的run方法. 3,直接创建Thread的子类对象创建线程. 4, ...
- godep使用
安装: 1.mac:brew Install godep,全局可用 2.go get -u -v github.com/tools/godep 参数-u表示更新,-v可以看到进度信息.成功安装后,在 ...
- BMap:WEB 服务API
ylbtech-Map-Baidu: WEB 服务API 百度地图Web服务API为开发者提供http/https接口,即开发者通过http/https形式发起检索请求,获取返回json或xml格式的 ...
- linux(ubuntu) 开发环境配置
1,首先安装jdk,这是必然的. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...
- [leetcode]Next Permutation @ Python
原题地址:https://oj.leetcode.com/problems/next-permutation/ 题意: Implement next permutation, which rearra ...
- webservice发布问题,部署iis后调用不成功
我使用的环境win8.vs2010.IIS8.0 vs2010中创建的webservice中的方法可以正常调用,但是发布到IIS上后,asmx文件能正常访问, 但是进入方法后, 点击 "调用 ...
- RxJava【变换】操作符 map flatMap concatMap buffer MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- CSS的50个代码片段
1.css全局 html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a ...
- C++模拟键盘消息
实现功能:在现有DLL程序中向特定的EXE窗口中发送模拟键盘的消息 使用API根据窗口标题递归查找特定的窗口句柄,之后模拟调用. 注意:keybd_event函数不能在VS下使用,所以用SendInp ...