wuxiios吧 关注:54贴子:877
  • 0回复贴,共1

15th team-3 summary

只看楼主收藏回复

#import "intelViewController.h"
@interface intelViewController ()
@end
@implementation intelViewController
#define DBNAME @"personinfo.sqlite"
#define NAME @"name"
#define AGE @"age"
#define ADDRESS @"address"
#define TABLENAME @"PERSONINFO"
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documents = [paths objectAtIndex:0];
NSString *database_path = [documents stringByAppendingPathComponent:DBNAME];
if (sqlite3_open([database_path UTF8String], &db) != SQLITE_OK) {
sqlite3_close(db);
NSLog(@"数据库打开失败");
}
else
{
NSString *sqlCreateTable = @"CREATE TABLE IF NOT EXISTS PERSONINFO (ID INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, address TEXT)";
[self execSql:sqlCreateTable];
}
NSString *sql1 = [NSString stringWithFormat:
@"INSERT INTO *%@* (*%@*, *%@*, *%@*) VALUES (*%@*, *%@*, *%@*)",
TABLENAME, NAME, AGE, ADDRESS, @"bob", @"21", @"shenyang"];
NSString *sql2 = [NSString stringWithFormat:
@"INSERT INTO *%@* (*%@*, *%@*, *%@*) VALUES (*%@*, *%@*, *%@*)",
TABLENAME, NAME, AGE, ADDRESS, @"ricky", @"20", @"wuxi"];
[self execSql:sql1];
[self execSql:sql2];
NSString *sqlQuery = @"SELECT * FROM PERSONINFO";
sqlite3_stmt * statement;
if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK) {
while (sqlite3_step(statement) == SQLITE_ROW) {
char *name = (char*)sqlite3_column_text(statement, 1);
NSString *nsNameStr = [[NSString alloc]initWithUTF8String:name];
int age = sqlite3_column_int(statement, 2);
char *address = (char*)sqlite3_column_text(statement, 3);
NSString *nsAddressStr = [[NSString alloc]initWithUTF8String:address];
NSLog(@"name:%@ age:%d address:%@",nsNameStr,age, nsAddressStr);
}
}
sqlite3_close(db);
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
//当程序进入后台时执行写入数据库操作
// UIApplication *app = [UIApplication sharedApplication];
// [[NSNotificationCenter defaultCenter]
// addObserver:self
// selector:@selector(applicationWillResignActive:)
// name:UIApplicationWillResignActiveNotification
// object:app];
}
-(void)newtable
{
// NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
// NSString *documents = [paths objectAtIndex:0];
// NSString *database_path = [documents stringByAppendingPathComponent:DBNAME];
//
// if (sqlite3_open([database_path UTF8String], &db) != SQLITE_OK) {
// sqlite3_close(db);
// NSLog(@"数据库打开失败");
// }
}
//创建数据库表
-(void)execSql:(NSString *)sql
{
char *err;
if (sqlite3_exec(db, [sql UTF8String], NULL, NULL, &err) != SQLITE_OK) {
sqlite3_close(db);
NSLog(@"fail ");
}
}
-(void)sqlFind
{
// NSString *sqlQuery = @"SELECT * FROM PERSONINFO";
// sqlite3_stmt * statement;
//
// if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK) {
// while (sqlite3_step(statement) == SQLITE_ROW) {
// char *name = (char*)sqlite3_column_text(statement, 1);
// NSString *nsNameStr = [[NSString alloc]initWithUTF8String:name];
//
// int age = sqlite3_column_int(statement, 2);
//
// char *address = (char*)sqlite3_column_text(statement, 3);
// NSString *nsAddressStr = [[NSString alloc]initWithUTF8String:address];
//
// NSLog(@"name:%@ age:%d address:%@",nsNameStr,age, nsAddressStr);
// }
// }
// sqlite3_close(db);
// sqlite3_close(db);
// NSString *query = @"SELECT TAG, FIELD_DATA FROM FIELDS ORDER BY TAG";
// sqlite3_stmt *statement;
// if (sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil) == SQLITE_OK) {
// //依次读取数据库表格FIELDS中每行的内容,并显示在对应的TextField
// while (sqlite3_step(statement) == SQLITE_ROW) {
// //获得数据
// int tag = sqlite3_column_int(statement, 0);
// char *rowData = (char *)sqlite3_column_text(statement, 1);
// //根据tag获得TextField
// UITextField *textField = (UITextField *)[self.view viewWithTag:tag];
// //设置文本
// textField.text = [[NSString alloc] initWithUTF8String:rowData];
// }
// sqlite3_finalize(statement);
// }
}
-(void)insert
{
// NSString *sql1 = [NSString stringWithFormat:
// @"INSERT INTO *%@* (*%@*, *%@*, *%@*) VALUES (*%@*, *%@*, *%@*)",
// TABLENAME, NAME, AGE, ADDRESS, @"bob", @"21", @"shenyang"];
//
// NSString *sql2 = [NSString stringWithFormat:
// @"INSERT INTO *%@* (*%@*, *%@*, *%@*) VALUES (*%@*, *%@*, *%@*)",
// TABLENAME, NAME, AGE, ADDRESS, @"ricky", @"20", @"wuxi"];
// [self execSql:sql1];
// [self execSql:sql2];
}
@end
书上说的已经很详细了,我不想做太多说明,这段代码是今天敲的,测试完了能用,不过我的数据库是自己添加内容不是向强哥那样text输入的
数据库
1.创建数据库 sqlite_open
2.建表,插入数据 sqlite_exec(db,[createSQL UTF8String])
3.释放 sqlite3_close


1楼2014-09-15 19:22回复