FMDB(数据库的操作)
来源:互联网 发布:考研网络课程 编辑:程序博客网 时间:2024/04/29 22:22
#import "ViewController.h"
#import "FMDatabase.h"
//需要导入库FMDB 库文件libsqlite3.dylib
@interface ViewController ()<UINavigationControllerDelegate,UIImagePickerControllerDelegate>{
IBOutlet UIImageView* _headView;
IBOutlet UITextField* _nameField;
IBOutlet UITextField* _desField;
FMDatabase* _db;
}
//增 删 查 改
- (IBAction)add:(id)sender;
- (IBAction)del:(id)sender;
- (IBAction)fetch:(id)sender;
- (IBAction)update:(id)sender;
@end
@implementation ViewController
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
_headView.image = info[UIImagePickerControllerOriginalImage];
[picker dismissViewControllerAnimated:YEScompletion:nil];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
[picker dismissViewControllerAnimated:YEScompletion:nil];
}
- (void)selectImage{
UIImagePickerController* ipc = [[UIImagePickerControlleralloc] init];
ipc.delegate =self;
[selfpresentViewController:ipc animated:YEScompletion:nil];
}
- (void)viewDidLoad {
[superviewDidLoad];
UITapGestureRecognizer* tap = [[UITapGestureRecognizeralloc] initWithTarget:selfaction:@selector(selectImage)];
[_headViewaddGestureRecognizer:tap];
//数据库存在沙盒目录
NSString* path = [NSStringstringWithFormat:@"%@/Documents/data.db",NSHomeDirectory()];
NSLog(@"%@", path);
//数据库操作类
_db = [[FMDatabasealloc] initWithPath:path];
//打开数据库
BOOL res = [_dbopen];
//[_db close];
if (res == NO) {
NSLog(@"数据库打开失败");
return;
}
//创建一个表
res = [_dbexecuteUpdate:@"create table if not exists USER(uid integer primary key autoincrement, name, des, image)"];
if (res == NO) {
NSLog(@"创建表失败");
}
}
- (void)add:(id)sender{
//添加一条数据
//NSString, NSNumber, NSData
if (_nameField.text ==nil || _desField.text ==nil || _headView.image ==nil) {
return;
}
NSData* data =UIImagePNGRepresentation(_headView.image);
//插入数据
BOOL res = [_dbexecuteUpdate:@"insert into USER(name,des,image) values(?,?,?)",_nameField.text,_desField.text, data];
if (res == NO) {
NSLog(@"插入数据失败");
}
_nameField.text =@"";
_desField.text =@"";
_headView.image =nil;
}
//删除
- (void)del:(id)sender{
BOOL res = [_dbexecuteUpdate:@"delete from USER where name=?",_nameField.text];
if (res == NO) {
NSLog(@"删除失败");
}
}
//查询
- (void)fetch:(id)sender{
FMResultSet* set = [_dbexecuteQuery:@"select * from USER"];
/*
id name des image
1 曹操 魏王
2 曹仁 大将
3 曹洪 大将
4 夏侯惇 大将
*/
//每次遍历,指针向下走一行,我们通过列数取值
while ([set next]) {
int uid = [set intForColumn:@"uid"];
//[set objectForColumnName:@"float"];
NSString* name = [set stringForColumn:@"name"];
NSString* des = [set stringForColumn:@"des"];
NSData* data = [set dataForColumn:@"image"];
NSLog(@"%d-%@",uid, name);
}
}
- (void)update:(id)sender{
}
- FMDB(数据库的操作)
- 数据库的操作(使用FMDB)
- fmdb 数据库的基本操作
- IOS 操作数据库(FMDB)
- iOS关于数据库的操作(使用第三方类库FMDB)
- iOS关于数据库的操作(使用第三方类库FMDB)
- iOS的数据库相关操作(基于fmdb)
- 数据库操作之FMDB的使用方法
- FMDB下的数据库操作DML语言
- 数据库操作(使用FMDB)
- 数据库操作(使用FMDB)
- 数据库操作(使用FMDB)
- FMDB 数据库简单操作
- 数据库操作(使用FMDB)
- 数据库操作 FMDB
- 数据库操作(使用FMDB)
- 数据库操作(使用FMDB)
- 数据库操作FMDB
- source insight 常用快捷键
- 善于利用指针
- 棋盘覆盖
- 简单常用的正则表达式学习
- 151127UITableView顶部有一个空白区域
- FMDB(数据库的操作)
- oracle的备份与恢复
- Linux中安装libsqlora函数库
- bzoj1053 反素数ant 搜索
- STM32关于NRF24L01
- 安卓开发中Handler的应用
- c++获取linux本地文件的大小
- 欢迎使用CSDN-markdown编辑器
- 九度oj-1203-IP地址