#import <sqlite3.h>
#define DBName @"datareport.sqlite"
#define TableName @"PEOPLE"
#define Name @"Name"
#define Add @"Add"
#define Date @"Date"
sqlite3 *db;
- (void)db_open
{
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(@"数据库打开失败");
}
NSString *sqlCreateTable = @"CREATE TABLE IF NOT EXISTS PEOPLE (ID INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT, Add TEXT, Date TEXT)";
[self execSql:sqlCreateTable];
}
- (BOOL)addItem:(NSString *)name add:(NSString *)add
{
[self db_open];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *sql1 = [NSString stringWithFormat:
@"INSERT INTO '%@' ('%@', '%@', '%@') VALUES ('%@', '%@', '%@')",
TableName, Name, Add, Date, name, add, [df stringFromDate:[NSDate date]]];
[self execSql:sql1];
return YES;
}
1. SQL执行顺序
2. 读取字段
char *name = (char *)sqlite3_column_name(statement, 0); 读取第0列的字段名