FMDB数据库框架的是使用
IOS操作数据库,SQLite3和coredata是两个非常好的选择,但是对于我们这些掌握了其他数据库语言的人来说,使用这两中操作都会觉得不方便,SQLite3使用起来太复杂了,而使用coredata的时候却封装太死了,我们需要自己些自己的数据库语句,这时候,FMDB就是一个非常不错的选择
下面是FMDB的基本使用
在Main.storyboard中添加4个按钮分别是(插入 , 更新,删除 , 查询)
在ViewController中
//
// ViewController.m
//
//
#import "ViewController.h"
#import "FMDB.h"
@interface ViewController ()
@property (nonatomic, strong) FMDatabase *db;
- (IBAction)insert;
- (IBAction)update;
- (IBAction)delete;
- (IBAction)query;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// 0.获得沙盒中的数据库文件名
NSString *filename = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"student.sqlite"];
// 1.创建数据库实例对象
self.db = [FMDatabase databaseWithPath:filename];
// 2.打开数据库
if ( [self.db open] ) {
NSLog(@"数据库打开成功");
// 创表
BOOL result = [self.db executeUpdate:@"create table if not exists t_student (id integer primary key autoincrement, name text, age integer);"];
if (result) {
NSLog(@"创表成功");
} else {
NSLog(@"创表失败");
}
} else {
NSLog(@"数据库打开失败");
}
}
- (IBAction)insert
{
for (int i = 0; i<40; i++) {
NSString *name = [NSString stringWithFormat:@"rose-%d", arc4random() % 1000];
NSNumber *age = @(arc4random() % 100 + 1);
[self.db executeUpdate:@"insert into t_student (name, age) values (?, ?);", name, age];
}
}
- (IBAction)update
{
[self.db executeUpdate:@"update t_student set age = ? where name = ?;", @20, @"jack"];
}
- (IBAction)delete
{
}
- (IBAction)query
{
// 1.查询数据
FMResultSet *rs = [self.db executeQuery:@"select * from t_student where age > ?;", @50];
// 2.遍历结果集
while (rs.next) {
int ID = [rs intForColumn:@"id"];
NSString *name = [rs stringForColumn:@"name"];
int age = [rs intForColumn:@"age"];
NSLog(@"%d %@ %d", ID, name, age);
}
}
@end
转载于:https://www.cnblogs.com/cainiao-blogs/p/4070844.html
FMDB数据库框架的是使用相关推荐
- ios mysql数据库查询语句_ios fmdb数据库查询语句
iOS开发数据库篇-FMDB简单介绍 iOS开发数据库篇-FMDB简单介绍 一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语 ...
- iOS数据库框架 WCDB的使用详解
WCDB是一个高效.完整.易用的移动数据库框架,基于SQLCipher,支持iOS, macOS和Android. 前几年的项目用到的数据库框架,都是FMDB.从最初的摸索到工具类的封装,也是经历了一 ...
- Wcdb android 目录,介绍 - 《WCDB - 腾讯开源的移动数据库框架》 - 书栈网 · BookStack...
WCDB 相关讨论可以加我们的QQ群WCDB 技术交流群: 190485752 WCDB iOS/macOS 群: 708134978 WCDB Android 群: 868268492 WCDB W ...
- Android客户端开发—开源数据库框架LitePal
LitePal是一款开源的Android数据库框架,采用对象关系映射(ORM)模式,将常用的数据库功能进行封装,不使用SQL语句就可以完成创建表以及表单的CRUD操作,并且很轻量级,几乎零配置.(它将 ...
- Java-ORM数据库框架CDM介绍
cdm-core Cdm Framework 一个使用简单,零配置,容错率高,效率的Java™ ORM 数据库框架 ✨ 特性 使用简单 没有依赖,一行代码即可初始化连接,调用接口像使用脚本语言一样畅爽 ...
- Android 数据库框架ormlite 使用精要
Android 数据库框架ormlite 使用精要 前言 本篇博客记录一下笔者在实际开发中使用到的一个数据库框架,这个可以让我们快速实现数据库操作,避免频繁手写sql,提高我们的开发效率,减少出错的机 ...
- php mysql 框架_Medoo 轻量级的 PHP 数据库框架 - 文章
Medoo 是一个轻量级的PHP数据库框架,提高开发效率,Medoo 需要 PHP 支持 PDO 扩展,请在配置文件中开启 PDO 扩展. 为什么选择 Medoo 非常的轻量 未压缩只有 34KB. ...
- 安卓进阶系列-07数据库框架(GreenDAO)的使用
GreenDAO的使用 简介 安卓提供了一个占用内存极小的数据库SQLite,也提供了不少操作数据库的API,然而不是所有程序员都擅长编写SQL语句,这时一个ORM的数据库框架就显得很好用了. 在之前 ...
- 安卓进阶系列-06数据库框架(LitePal)的使用
LitePal的使用 背景 安卓内置了一个轻量数据库SQLite,然而很多时候使用SQLite是不方便的,更多开发者习惯服务器部署MySQL之类的数据库,而且复杂的SQL语言对于很多没有系统学习过数据 ...
最新文章
- go环境变量配置 (GOROOT和GOPATH)
- 如何查询高考成绩2021年的成绩排位,2021年四川高考个人排名怎么查询,四川高考成绩排名查询方法...
- linux查看cpu运行速度,linux 性能篇 -- 查看cpu核数
- mysql 递归查询树型结构_MySQL递归查询所有子节点,树形结构查询
- 数据结构思维 第五章 双链表
- IAR软件中直接查看编译后代码大小
- 微信小程序的特点是什么?
- Windows下部署安装Docker
- 伽马校正(Gamma Correction)
- 哈尔滨五星酒店马桶刷洗杯子事件舆情监测报告
- IBM JDK(J9)垃圾回收(GC)策略
- Dazdata BI产品3D+BI医院综合管理应用案例
- 阿里云服务器和腾讯云不同的地方
- MPU和MMU、MPU和MCU的区别
- cron每半个小时执行一次_Linux中Cron任务间隔执行:每隔几分钟/几小时/几天
- 什么是人工智能_人工智能的利弊_人工智能技术
- Atcoder TOYOTA SYSTEMS Programming Contest 2021(AtCoder Beginner Contest 228) B - Takahashi‘s Secret
- TensorFlow进阶--实现学习率随迭代次数下降
- 在手机上安装Ubuntu(Termux)
- 一个Shift的后门程序,可以让你可以进入你不知道密码的电脑
热门文章
- 智慧讲台必须支持的协议
- 95-30-020-Channel-NioSocketChannel
- Netty : java.io.IOException: Connection reset by peer
- 60-100-030-使用-Docker MySQL 8 主从复制
- 【ambari】Ambari Rest api 使用
- hortonworks/registry 的Registry,registry存在,但是却查不到
- SparkStreaming之mapWithState
- Spring : Spring 事务控制 设置手动回滚 TransactionAspectSupport
- 【Maven】log4j-slf4j-impl cannot be present with log4j-to-slf4j
- MySQL : MySQL如何查看操作记录