当前位置:数据库 > SQLite >>

当用select从sqlite3中查询出来一些数据,怎样获得这些记录的详细信息,用Xcode的,就是objective-c的。

答案:通过while语句逐条读取,这是我项目里的部分源码,自己理解一下,希望能帮到你。 - (BOOL) databaseTest { //数据库操作 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *path = [documentsDirectory stringByAppendingPathComponent:@"mydb.db"];//查找db文件返回其path NSLog(path);//打印db文件的路径 NSFileManager *fileManager = [NSFileManager defaultManager]; BOOL find = [fileManager fileExistsAtPath:path]; if(find){ NSLog(@"Sucess:find dn file."); if(sqlite3_open([path UTF8String], &database_) == SQLITE_OK)//打开数据库 { //打开数据库成功 NSLog(@"Sucess:open database sucess."); ///////////////////////////////////////////////////////////////////////////////// //这里进行数据库操作 ///////////////////////////////////////////////////////////////////////////////// //////////////////////////1.插入数据//////////////////////////////////////////////// //SQL查询语句 char *sql = "INSERT INTO students (name) VALUES(?)"; //会话 sqlite3_stmt *statement; //调制一个会话 int success = sqlite3_prepare_v2(database_, sql, -1, &statement, NULL); if (success != SQLITE_OK) { NSLog(@"Error: failed to insert:channels"); } //绑定数据 sqlite3_bind_text(statement, 1, "Kevin", -1, SQLITE_TRANSIENT);//注意此处的字符串为旧字符串 success = sqlite3_step(statement); sqlite3_finalize(statement); if (success == SQLITE_ERROR) { NSLog(@"Error: failed to insert into the database with message."); } //2.查询数据 statement = nil; char *sql_select= "SELECT name FROM students"; if (sqlite3_prepare_v2(database_, sql_select, -1, &statement, NULL) != SQLITE_OK) { NSLog(@"Error: failed to prepare statement with message:get channels."); } //查询结果集中一条一条的遍历所有的记录,这里的数字对应的是列值。 while (sqlite3_step(statement) == SQLITE_ROW) { char* name = (char*) sqlite3_column_text(statement, 0);//第一列数据,注意此处师从0开始的 NSString *nameNs=[[NSString alloc] initWithUTF8String:name]; NSLog(nameNs); [nameNs release]; } sqlite3_finalize(statement); //关闭数据库 sqlite3_close(database_); return YES; } else { sqlite3_close(database_); NSLog(@"Error: open database file."); return NO; } return NO; }

上一个:如何将SQLite3 创建的数据库与android 程序连接
下一个:php怎样处理sqlite3

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,