数据库的数据添加和查询
2015-04-03 15:03
288 查看
[cpp] view
plaincopy
/*= = = - - - = = =
sqlite3 数据库里添加数据
= = = - - - = = = */
//1.定义一个sql
4000
ite3的指针
sqlite3 *db;
//2.用来接收读写数据库操作是否成功的返回值
int dbrc;
//3.转换数据库路径为UTF8的c风格字符串
const char* dbFilePathUTF8 = [dbFilePath UTF8String];
//4.打开数据库
dbrc = sqlite3_open(dbFilePathUTF8, &db);
//判断是否成功打开
if (dbrc == SQLITE_OK) {
NSLog(@"成功打开了数据库");
}
//5.定义执行sql语句的指针
sqlite3_stmt *dbps;
//6.定义sql语句
NSString *insertStatementNS = [NSString stringWithFormat:
@"insert into \"shopping\"\
(item, price, groupid, dateadd)\
values (\"%@\", %@, %d, DATETIME('NOW'))",
@"lll",
@"350",
2];
//7.将定义的NSString的sql语句,转换成UTF8的c风格的字符串
const char *insertStatement = [insertStatementNS UTF8String];
//8.sql语句的预执行。(判断sql语句是否符合语法)
dbrc = sqlite3_prepare_v2
(db, insertStatement, -1, &dbps, NULL);
//9.执行sql语句
dbrc = sqlite3_step (dbps);
NSLog(@"dbrc = %d",dbrc);
/*= = = - - - = = =
数据库里读取数据
= = = - - - = = =*/
//1.定义一个查询语句
NSString *queryStatementNS =
@"select key,item,price,groupid,dateadd from shopping";
//2.将定义的NSString的查询语句转换成UTF8的c字符串
const char *queryStatement = [queryStatementNS UTF8String];
//3.sql语句的预处理
dbrc = sqlite3_prepare_v2 (db, queryStatement, -1, &dbps, NULL);
NSLog (@"prepared statement=%d",dbrc);
//4.获取值,要用相匹配的方法去获取相应类型的值,并要转换类型
while ((dbrc = sqlite3_step (dbps)) == SQLITE_ROW)
{
//获取主健的值 int型的 用 sqlite3_column_int
int primaryKeyValueI = sqlite3_column_int(dbps, 0);
//转换成 NSNumber 类型的
NSNumber *primaryKeyValue = [[NSNumber alloc]
initWithInt: primaryKeyValueI];
NSLog(@"primaryKeyValue = %@",primaryKeyValue);
//获取item的值 字符串用 sqlite3_column_text
NSString *itemValue = [[NSString alloc]
initWithUTF8String: (char*) sqlite3_column_text (dbps, 1)];
NSLog(@"itemValue = %@",itemValue);
//获取price的值 double类型用 sqlite3_column_double
double priceValueD = sqlite3_column_double (dbps, 2);
NSLog(@"priceValueD = %lf",priceValueD);
//转换类型
NSNumber *priceValue = [[NSNumber alloc]
initWithDouble: priceValueD];
NSLog(@"priceValue = %@",priceValue);
//获取guoupid的值
int groupValueI = sqlite3_column_int(dbps, 3);
NSLog(@"groupValueI = %d",groupValueI);
NSNumber *groupValue = [[NSNumber alloc]
initWithInt: groupValueI];
NSLog(@"groupValue = %@",groupValue);
//获取dateadd的值
NSString *dateValueS = [[NSString alloc]
initWithUTF8String:(char*)sqlite3_column_text (dbps, 4)];
NSLog(@"dateValueS = %@",dateValueS);
}
//10.释放资源
sqlite3_finalize (dbps);
//11.关闭数据库
sqlite3_close(db);
plaincopy
/*= = = - - - = = =
sqlite3 数据库里添加数据
= = = - - - = = = */
//1.定义一个sql
4000
ite3的指针
sqlite3 *db;
//2.用来接收读写数据库操作是否成功的返回值
int dbrc;
//3.转换数据库路径为UTF8的c风格字符串
const char* dbFilePathUTF8 = [dbFilePath UTF8String];
//4.打开数据库
dbrc = sqlite3_open(dbFilePathUTF8, &db);
//判断是否成功打开
if (dbrc == SQLITE_OK) {
NSLog(@"成功打开了数据库");
}
//5.定义执行sql语句的指针
sqlite3_stmt *dbps;
//6.定义sql语句
NSString *insertStatementNS = [NSString stringWithFormat:
@"insert into \"shopping\"\
(item, price, groupid, dateadd)\
values (\"%@\", %@, %d, DATETIME('NOW'))",
@"lll",
@"350",
2];
//7.将定义的NSString的sql语句,转换成UTF8的c风格的字符串
const char *insertStatement = [insertStatementNS UTF8String];
//8.sql语句的预执行。(判断sql语句是否符合语法)
dbrc = sqlite3_prepare_v2
(db, insertStatement, -1, &dbps, NULL);
//9.执行sql语句
dbrc = sqlite3_step (dbps);
NSLog(@"dbrc = %d",dbrc);
/*= = = - - - = = =
数据库里读取数据
= = = - - - = = =*/
//1.定义一个查询语句
NSString *queryStatementNS =
@"select key,item,price,groupid,dateadd from shopping";
//2.将定义的NSString的查询语句转换成UTF8的c字符串
const char *queryStatement = [queryStatementNS UTF8String];
//3.sql语句的预处理
dbrc = sqlite3_prepare_v2 (db, queryStatement, -1, &dbps, NULL);
NSLog (@"prepared statement=%d",dbrc);
//4.获取值,要用相匹配的方法去获取相应类型的值,并要转换类型
while ((dbrc = sqlite3_step (dbps)) == SQLITE_ROW)
{
//获取主健的值 int型的 用 sqlite3_column_int
int primaryKeyValueI = sqlite3_column_int(dbps, 0);
//转换成 NSNumber 类型的
NSNumber *primaryKeyValue = [[NSNumber alloc]
initWithInt: primaryKeyValueI];
NSLog(@"primaryKeyValue = %@",primaryKeyValue);
//获取item的值 字符串用 sqlite3_column_text
NSString *itemValue = [[NSString alloc]
initWithUTF8String: (char*) sqlite3_column_text (dbps, 1)];
NSLog(@"itemValue = %@",itemValue);
//获取price的值 double类型用 sqlite3_column_double
double priceValueD = sqlite3_column_double (dbps, 2);
NSLog(@"priceValueD = %lf",priceValueD);
//转换类型
NSNumber *priceValue = [[NSNumber alloc]
initWithDouble: priceValueD];
NSLog(@"priceValue = %@",priceValue);
//获取guoupid的值
int groupValueI = sqlite3_column_int(dbps, 3);
NSLog(@"groupValueI = %d",groupValueI);
NSNumber *groupValue = [[NSNumber alloc]
initWithInt: groupValueI];
NSLog(@"groupValue = %@",groupValue);
//获取dateadd的值
NSString *dateValueS = [[NSString alloc]
initWithUTF8String:(char*)sqlite3_column_text (dbps, 4)];
NSLog(@"dateValueS = %@",dateValueS);
}
//10.释放资源
sqlite3_finalize (dbps);
//11.关闭数据库
sqlite3_close(db);
相关文章推荐
- Qt数据库连接、数据查询、添加、修改、删除
- MVP注册登录模块,结合数据库查询和添加数据
- 如何用eclipse将数据库oracle数据相连接,实现查询数据库中的信息以及更改添加表中内容
- php bug查询数据:数据库请求数据,关联数组会自动添加索引 重复一遍数据
- Android开发—数据库应用—访问数据表(SQLite OpenHelper) —添加查询
- 042医疗项目-模块四:采购单模块—采购单明细添加查询,并且把数据添加到数据库中
- cmd 命令行模式操作数据库 添加查询 修改 删除 ( 表 字段 数据)
- c#数据绑定之向查询中添加参数(.Net连接外部数据库)
- IOS成长之路-数据库的数据添加和查询
- MySql cmd 命令行模式操作数据库 添加查询 修改 删除 ( 表 字段 数据)
- C#实现对数据库中的表的查询、添加、修改、删除数据
- GreenDao + 请求网络数据添加到数据库 + 新增+删除 +查询
- 向SQL Server 2000数据库添加Image数据类型记录
- javascript动态添加表格数据行,ASP后台数据库保存例子
- C#中通过OLE方式连接informix数据库与查询数据方式
- 加快从大容量的数据库中提取数据(查询)
- 查询数据库中满足条件的特定行数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- 查询数据库中满足条件的特定行数据
- 将数据库中的数据添加到treeview中