ios Sqlite3的简单使用 增删改查
来源:互联网 发布:手机淘宝新品上架链接 编辑:程序博客网 时间:2024/05/22 09:45
- (void)viewDidLoad {
[superviewDidLoad];
// 数据库操作句柄
sqlite3 *dbHandle;
// 数据库路径
NSString *documentPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)[0];
NSString *dbPath = [documentPathstringByAppendingPathComponent:@"stock.db"];
//打开数据库获取句柄不存在则会创建
int result =sqlite3_open([dbPathUTF8String], &dbHandle);
if (result ==SQLITE_OK) {
//创建表
NSString * sql =@"CREATE TABLE IF NOT EXISTS t_stock_info (Number text PRIMARY KEY,Name text NOT NULL,Data text NOT NULL,FinalPrice float NOT NULL);";
char *error =NULL;
result =sqlite3_exec(dbHandle, [sql UTF8String],NULL,NULL, &error);
if (result ==SQLITE_OK) {
}
else
{
[ShowAlertControllershowAlertInVC:self.view.window.rootViewControllermessage:@"Error"title:@"Open / Create table failed!"];
}
}
else
{
[ShowAlertControllershowAlertInVC:self.view.window.rootViewControllermessage:@"Error"title:@"Open / Create database failed!"];
}
[selfinsertDataNumber:@"600582"name:@"天地科技"data:@"2017.2.21"finalPrice:5.4toSqliteDB:dbHandlewithTableName:@"t_stock_info"];
[selfinsertDataNumber:@"002266"name:@"浙富控股"data:@"2017.2.23"finalPrice:5.8toSqliteDB:dbHandlewithTableName:@"t_stock_info"];
[selfgetInfoFromTable:@"t_stock_info"inSqliteDB:dbHandle];
[selfdeletName:@"Name"realName:@"浙富控股"inSqliteDB:dbHandletbName:@"t_stock_info"];
[selfupdatePrice:5.7name:@"FinalPrice"inSqliteDB:dbHandletbName:@"t_stock_info"];
}
#pragma mark -增
-(void)insertDataNumber:(NSString *)number name:(NSString *)name data:(NSString *)data finalPrice:(float)price toSqliteDB:(sqlite3 *)dbHandle withTableName:(NSString *)tbName
{
NSString *sql=[NSStringstringWithFormat:@"INSERT INTO %@ (Number,Name,Data,FinalPrice) VALUES ('%@','%@','%@',%f);",tbName,number,name,data,price];
char *errmsg =NULL;
int result =sqlite3_exec(dbHandle, sql.UTF8String,NULL,NULL, &errmsg);
if (result ==SQLITE_OK) {
}
else
{
}
}
#pragma mark -查
-(void)getInfoFromTable:(NSString *)tbName inSqliteDB:(sqlite3 *)dbHandle
{
NSString *sql =@"SELECT * FROM t_stock_info WHERE FinalPrice>=0;";
sqlite3_stmt *stmt =NULL;
//进行查询前的准备工作
int result =sqlite3_prepare_v2(dbHandle, [sqlUTF8String], -1, &stmt,NULL);
if (result ==SQLITE_OK) {//SQL语句没有问题
// 每调用一次sqlite3_step函数,stmt就会指向下一条记录
NSLog(@"Begin get info");
while (sqlite3_step(stmt) ==SQLITE_ROW) {//找到一条记录
// 取出数据
char *number = (char *)sqlite3_column_text(stmt,0);
char *name = (char *)sqlite3_column_text(stmt,1);
char *data = (char *)sqlite3_column_text(stmt,2);
float price =sqlite3_column_double(stmt,3);
NSLog(@"number = %@ ,name = %@ ,data %@,price %f",[NSStringstringWithUTF8String:number],[NSStringstringWithUTF8String:name],[NSStringstringWithUTF8String:data],price);
}
}
else
{
}
}
#pragma mark -改
-(void)updatePrice:(float)price name:(NSString *)name inSqliteDB:(sqlite3 *)dbHandle tbName:(NSString *)tbName
{
NSString *sql = [NSStringstringWithFormat:@"UPDATE %@ SET %@ = %f WHERE Name == '天地科技';",tbName,name,price];
sqlite3_stmt *stmt =NULL;
//进行查询前的准备工作
int result =sqlite3_prepare_v2(dbHandle, [sqlUTF8String], -1, &stmt,NULL);
if (result ==SQLITE_OK) {//SQL语句没有问题
if (sqlite3_step(stmt) ==SQLITE_DONE) {
sqlite3_finalize(stmt);
[selfgetInfoFromTable:tbNameinSqliteDB:dbHandle];
}
}
else
{
}
}
#pragma mark -删
-(void)deletName:(NSString *)name realName:(NSString *)realName inSqliteDB:(sqlite3 *)dbHandle tbName:(NSString *)tbName
{
NSString *sql = [NSStringstringWithFormat:@"DELETE FROM %@ WHERE %@ == '%@';",tbName,name,realName];
sqlite3_stmt *stmt =NULL;
//进行查询前的准备工作
int result =sqlite3_prepare_v2(dbHandle, [sqlUTF8String], -1, &stmt,NULL);
if (result ==SQLITE_OK) {//SQL语句没有问题
if (sqlite3_step(stmt) ==SQLITE_DONE) {
sqlite3_finalize(stmt);
[selfgetInfoFromTable:tbNameinSqliteDB:dbHandle];
}
}
else
{
}
}
- ios Sqlite3的简单使用 增删改查
- iOS-FMDB的简单使用-增删改查
- IOS sqlite3 数据增删改查
- Dom4j的增删改查简单使用
- mybatis 使用简单的增删查改
- iOS CoreData的使用,增删改查
- django sqlite3 后台数据库的增删改查
- sqlite3增删查改应用
- iOS sqlite3 的基本使用(增 删 改 查)
- iOS SQLite3 “增删改查”(Objective-C)
- iOS 源生SQLite3 “增删改查”(Swift-OC混编)
- ios开发系列之Sqlite3的增删改查相关操作
- 使用Nutz进行简单的增删改查
- 使用Hibernate实现简单的数据库增删改查。
- Mybatis使用之简单的增删改查
- 使用 NodeJS+Express+MySQL 实现简单的增删改查
- 数据库---简单的使用Java操作数据库增删改查
- 使用springMvc+easyui+mysql实现简单的增删改查
- 把敏捷融合到瀑布式环境中
- 计算机语言
- Crazyflie微型四轴 深入解读2
- 1.简单工厂模式( Simple Factory Pattern )
- Podfile文件规范
- ios Sqlite3的简单使用 增删改查
- python_使用matplotlib画柱状图(bar),散点图(scatter)
- IOS-HTTP/Socket/TCP/IP通信协议学习总结
- 继承父类的范型
- DLL入门浅析(4)——从DLL中导出类
- 动态代码设置assetbundleName,将一个纹理(Texture)文件夹打包,加载assetbundle
- 九度题目1185的解决
- MySql提示:The server quit without updating PID file(…)失败
- perl中=~模式匹配