#import @H_502_2@<UIKit/UIKit.h>
@interface@H_502_2@ ViewController : UIViewController@H_502_2@
{
}
@property@H_404_33@ (@H_502_2@retain@H_404_33@,@H_502_2@nonatomic@H_404_33@) @H_502_2@IBOutlet@H_404_33@ @H_502_2@UITextView@H_502_2@@H_404_33@ *textView;@H_502_2@
502_2@nonatomic@H_404_33@) @H_502_2@IBOutlet@H_404_33@ @H_502_2@UITextField@H_502_2@@H_404_33@ *textFieldName;@H_502_2@
502_2@nonatomic@H_404_33@) @H_502_2@IBOutlet@H_404_33@ @H_502_2@UITextField@H_502_2@@H_404_33@ *textFieldAge;@H_502_2@
502_2@nonatomic@H_404_33@) @H_502_2@IBOutlet@H_404_33@ @H_502_2@UITextField@H_502_2@@H_404_33@ *textFieldSex;@H_502_2@
502_2@nonatomic@H_404_33@) @H_502_2@IBOutlet@H_404_33@ @H_502_2@UITextField@H_502_2@@H_404_33@ *textFieldiID;@H_502_2@
- (IBAction@H_502_2@)saveButton:(id@H_502_2@)sender;
- (IBAction@H_502_2@)getButton:(id@H_502_2@)sender;
- (BOOL@H_502_2@)initDataBase:(NSString@H_502_2@ *)dbName;
- (BOOL@H_502_2@)creatChannelsTable;
- (BOOL@H_502_2@) insertOneChannel:(NSString@H_502_2@ *)name
cAge:(NSInteger@H_502_2@ )age
caddress:(NSString@H_502_2@ *)addr
cSex:(NSString@H_502_2@ *)sex;
//@H_502_2@返回值 @H_502_2@ 可变数组 @H_502_2@(数组内存放多个字典 @H_502_2@每个字典存储表中的一行的数据)
- (NSMutableArray@H_502_2@ *)getAlldata;
@end
#import @H_502_2@"ViewController.h"
@interface@H_502_2@@H_404_33@ @H_502_2@ ViewController@H_404_33@ ()@H_502_2@
@end
@implementation@H_502_2@ ViewController
- (void@H_502_2@)viewDidLoad
{
@H_404_33@ [@H_502_2@super@H_502_2@@H_404_33@ @H_502_2@viewDidLoad@H_404_33@];@H_502_2@
@H_404_33@ @H_502_2@//调用函数@H_502_2@
@H_404_33@ [@H_502_2@self@H_502_2@@H_404_33@ @H_502_2@initDataBase@H_404_33@:@H_502_2@@"member.db"@H_502_2@@H_404_33@];@H_502_2@
}
- (IBAction@H_502_2@)saveButton:(id@H_502_2@)sender
{
NSString@H_502_2@ *pName = self@H_502_2@.textFieldName@H_502_2@.text@H_502_2@;
NSInteger@H_502_2@ pAge = [self@H_502_2@.textFieldAge@H_502_2@.text@H_502_2@ integerValue@H_502_2@];
NSString@H_502_2@ *pAD = self@H_502_2@.textFieldiID@H_502_2@.text@H_502_2@;
NSString@H_502_2@ *pSex = self@H_502_2@.textFieldSex@H_502_2@.text@H_502_2@;
@H_404_33@ [@H_502_2@self@H_502_2@@H_404_33@ @H_502_2@insertOneChannel@H_404_33@:pName @H_502_2@cAge@H_404_33@:pAge @H_502_2@caddress@H_404_33@:pAD @H_502_2@cSex@H_404_33@:pSex];@H_502_2@
}
- (IBAction@H_502_2@)getButton:(id@H_502_2@)sender
{
@H_404_33@ @H_502_2@NSMutableString@H_404_33@ *pResultStr = [@H_502_2@NSMutableString@H_404_33@ @H_502_2@string@H_502_2@@H_404_33@];@H_502_2@
NSMutableArray@H_502_2@ *pArr = [self@H_502_2@ getAlldata@H_502_2@];
for@H_502_2@ (int@H_502_2@ i =0@H_502_2@; i < pArr.count@H_502_2@; i++)
{
NSMutableDictionary@H_502_2@ *pTempDic = [pArr objectAtIndex@H_502_2@:i];
[pResultStr appendFormat@H_502_2@:@"%@"@H_502_2@,[pTempDic objectForKey@H_502_2@:@"name"@H_502_2@]];
[pResultStr appendString@H_502_2@:@"\t"@H_502_2@];
[pResultStr appendFormat@H_502_2@:@"%@"@H_502_2@,[pTempDic objectForKey@H_502_2@:@"age"@H_502_2@]];
[pResultStr appendString@H_502_2@:@"\t"@H_502_2@];
[pResultStr appendFormat@H_502_2@:@"%@"@H_502_2@,[pTempDic objectForKey@H_502_2@:@"add"@H_502_2@]];
[pResultStr appendString@H_502_2@:@"\t"@H_502_2@];
[pResultStr appendFormat@H_502_2@:@"%@"@H_502_2@,[pTempDic objectForKey@H_502_2@:@"sex"@H_502_2@]];
[pResultStr appendString@H_502_2@:@"\n"@H_502_2@];
}
self@H_502_2@.textView@H_502_2@.text@H_502_2@ = pResultStr;
}
/*
@H_502_2@接口说明
@H_502_2@返回值:数据是否创建成功
*/
- (BOOL@H_502_2@)initDataBase:(NSString@H_502_2@ *)dbName
{
@H_404_33@ @H_502_2@//查找沙河路径@H_502_2@
@H_404_33@ @H_502_2@NSArray@H_502_2@@H_404_33@ *paths = @H_502_2@NSSearchPathForDirectoriesInDomains@H_404_33@(@H_502_2@NSDocumentDirectory@H_404_33@,@H_502_2@NSUserDomainMask@H_404_33@,@H_502_2@YES@H_502_2@@H_404_33@);@H_502_2@
NSString@H_502_2@ *filePath = [paths objectAtIndex@H_502_2@:0@H_502_2@];
NSString@H_502_2@ *path = [filePath stringByAppendingPathComponent@H_502_2@:dbName];
NSLog@H_502_2@(@"path = %@"@H_502_2@,path);
@H_404_33@ @H_502_2@//打开文件@H_502_2@
if@H_502_2@ (sqlite3_open@H_502_2@([path UTF8String@H_502_2@],&_dataBase@H_502_2@) != sqlITE_OK@H_502_2@)
{
NSAssert@H_502_2@(NO@H_502_2@,@"@H_502_2@打开数据失败@H_502_2@"@H_502_2@);
}
@H_404_33@ @H_502_2@NSLog@H_502_2@@H_404_33@(@H_502_2@@"打开数据成功@H_502_2@"@H_404_33@);@H_502_2@
/*@H_502_2@
*/
@H_404_33@ [@H_502_2@self@H_502_2@@H_404_33@ @H_502_2@creatChannelsTable@H_404_33@];@H_502_2@
@H_404_33@ @H_502_2@return@H_404_33@ @H_502_2@ YES@H_404_33@;@H_502_2@
}
- (BOOL@H_502_2@)creatChannelsTable
{
@H_404_33@ @H_502_2@/*创建表得@H_502_2@sql语句@H_502_2@*/
@H_404_33@ @H_502_2@char@H_502_2@@H_404_33@ *sql = @H_502_2@"create table if not exists member(id integer primary key autoincrement,name text,age integer,addr text,sex text)"@H_404_33@;@H_502_2@
@H_404_33@ @H_502_2@sqlite3_stmt@H_404_33@ *stmt;@H_502_2@
@H_502_2@//@H_502_2@判断编译语句结果是不是成功
if@H_502_2@ (sqlite3_prepare_v2@H_502_2@(_dataBase@H_502_2@,sql,-1@H_502_2@,&stmt,nil@H_502_2@) != sqlITE_OK@H_502_2@)
{
@H_404_33@ @H_502_2@NSLog@H_502_2@@H_404_33@(@H_502_2@@"创建表的@H_502_2@sql语句编译失败@H_502_2@"@H_404_33@);@H_502_2@
}
@H_404_33@ @H_502_2@NSLog@H_502_2@@H_404_33@(@H_502_2@@"创建表的@H_502_2@sql语句编译成功@H_502_2@"@H_404_33@);@H_502_2@
int@H_502_2@ success = sqlite3_step@H_502_2@(stmt);
if@H_502_2@ (success != sqlITE_DONE@H_502_2@)
{
NSLog@H_502_2@(@"@H_502_2@创建表失败@H_502_2@"@H_502_2@);
}
@H_404_33@ @H_502_2@NSLog@H_502_2@@H_404_33@( @H_502_2@@" 创建表成功@H_502_2@"@H_404_33@);@H_502_2@
@H_404_33@ @H_502_2@return@H_404_33@ @H_502_2@ YES@H_404_33@;@H_502_2@
}
@H_502_2@返回值 @H_502_2@ : @H_502_2@插入数据是不是成功
@H_502_2@参数:往表内要插入的数据 @H_502_2@对应绑定参数
*/
- (BOOL@H_502_2@) insertOneChannel:(NSString@H_502_2@ *)name
cAge:(NSInteger@H_502_2@ )age
caddress:(NSString@H_502_2@ *)addr
cSex:(NSString@H_502_2@ *)sex
{
@H_404_33@ @H_502_2@sqlite3_stmt@H_404_33@ *stmt;@H_502_2@
@H_404_33@ @H_502_2@char@H_502_2@@H_404_33@ *sql = @H_502_2@"INSERT OR REPLACE INTO member(name,age,addr,sex) VALUES(?,?,?)"@H_404_33@;@H_502_2@
int@H_502_2@ success = sqlite3_prepare_v2@H_502_2@(_dataBase@H_502_2@,nil@H_502_2@);
if@H_502_2@ (success != sqlITE_OK@H_502_2@)
{
@H_404_33@ @H_502_2@NSLog@H_502_2@@H_404_33@(@H_502_2@@"插入参数的@H_502_2@sql语句编译失败@H_502_2@"@H_404_33@);@H_502_2@
}
@H_404_33@ @H_502_2@NSLog@H_502_2@@H_404_33@(@H_502_2@@"插入参数的@H_502_2@sql语句编译成功@H_502_2@"@H_404_33@);@H_502_2@
sqlite3_bind_text@H_502_2@(stmt, 1@H_502_2@,[name UTF8String@H_502_2@],nil@H_502_2@);
sqlite3_bind_int@H_502_2@(stmt, 2@H_502_2@,age);
sqlite3_bind_text@H_502_2@(stmt, 3@H_502_2@,[addr UTF8String@H_502_2@],nil@H_502_2@);
@H_404_33@ @H_502_2@sqlite3_bind_text@H_404_33@(stmt,@H_502_2@4@H_502_2@@H_404_33@,[sex @H_502_2@ UTF8String@H_404_33@],-@H_502_2@1@H_502_2@@H_404_33@,@H_502_2@nil@H_502_2@@H_404_33@);@H_502_2@
success = sqlite3_step@H_502_2@(stmt);
@H_502_2@//@H_502_2@重新设置一个已经准备好得状态对象
@H_404_33@ @H_502_2@sqlite3_finalize@H_404_33@(stmt);@H_502_2@
if@H_502_2@ (success == sqlITE_ERROR@H_502_2@)
{
NSLog@H_502_2@(@"@H_502_2@插入数据失败@H_502_2@"@H_502_2@) ;
}
@H_404_33@ @H_502_2@NSLog@H_502_2@@H_404_33@(@H_502_2@@"插入数据成功@H_502_2@"@H_404_33@);@H_502_2@
@H_404_33@ @H_502_2@return@H_404_33@ @H_502_2@ YES@H_404_33@;@H_502_2@
}
- (NSMutableArray@H_502_2@ *)getAlldata
{
@H_404_33@ @H_502_2@NSMutableArray@H_404_33@ *allDatas =[[[@H_502_2@NSMutableArray@H_404_33@ @H_502_2@alloc@H_502_2@@H_404_33@]@H_502_2@init@H_502_2@@H_404_33@]@H_502_2@autorelease@H_502_2@@H_404_33@];@H_502_2@
sqlite3_stmt@H_502_2@ *stmt = nil@H_502_2@;
@H_404_33@ @H_502_2@char@H_502_2@@H_404_33@ *sql = @H_502_2@"SELECT * FROM member"@H_404_33@;@H_502_2@
if@H_502_2@ (sqlite3_prepare_v2@H_502_2@(_dataBase@H_502_2@,27)"> @H_404_33@ @H_502_2@NSLog@H_502_2@@H_404_33@(@H_502_2@@"读取表中的@H_502_2@sql文件编译失败@H_502_2@"@H_404_33@);@H_502_2@
}
@H_404_33@ @H_502_2@NSLog@H_502_2@@H_404_33@(@H_502_2@@"读取表中的@H_502_2@sql文件编译成功@H_502_2@"@H_404_33@);@H_502_2@
while@H_502_2@ (sqlite3_step@H_502_2@(stmt) == sqlITE_ROW@H_502_2@)
{
@H_404_33@ @H_502_2@NSMutableDictionary@H_404_33@ *tempDic = [[@H_502_2@NSMutableDictionary@H_404_33@ @H_502_2@alloc@H_502_2@@H_404_33@]@H_502_2@init@H_502_2@@H_404_33@];@H_502_2@
char@H_502_2@ *pName = (char@H_502_2@ *)sqlite3_column_text@H_502_2@(stmt,1@H_502_2@);
if@H_502_2@ (pName)
{
[tempDic setObject@H_502_2@:[NSString@H_502_2@ stringWithUTF8String@H_502_2@:pName] forKey@H_502_2@:@"name"@H_502_2@];
}
NSInteger@H_502_2@ nAge = (int@H_502_2@)sqlite3_column_int@H_502_2@(stmt,2@H_502_2@);
if@H_502_2@ (nAge)
{
[tempDic setObject@H_502_2@:[NSNumber@H_502_2@ numberWithInteger@H_502_2@:nAge] forKey@H_502_2@:@"age"@H_502_2@];
}
char@H_502_2@ *pAdd = (char@H_502_2@ *)sqlite3_column_text@H_502_2@(stmt,3@H_502_2@);
if@H_502_2@ (pName)
{
@H_404_33@ [tempDic @H_502_2@setObject@H_404_33@:[@H_502_2@NSString@H_502_2@@H_404_33@ @H_502_2@stringWithUTF8String@H_404_33@:pAdd] @H_502_2@forKey@H_404_33@:@H_502_2@@"add"@H_502_2@@H_404_33@];@H_502_2@
}
char@H_502_2@ *pSex = (char@H_502_2@ *)sqlite3_column_text@H_502_2@(stmt,4@H_502_2@);
if@H_502_2@ (pName)
{
@H_404_33@ [tempDic @H_502_2@setObject@H_404_33@:[@H_502_2@NSString@H_502_2@@H_404_33@ @H_502_2@stringWithUTF8String@H_404_33@:pSex] @H_502_2@forKey@H_404_33@:@H_502_2@@"sex"@H_502_2@@H_404_33@];@H_502_2@
}
[allDatas addObject@H_502_2@:tempDic];
[tempDic release@H_502_2@];
}
@H_404_33@ @H_502_2@sqlite3_finalize@H_404_33@(stmt);@H_502_2@
return@H_502_2@ allDatas;
}
- (void@H_502_2@)touchesBegan:(NSSet@H_502_2@ *)touches withEvent:(UIEvent@H_502_2@ *)event
{
[self@H_502_2@.view@H_502_2@ endEditing@H_502_2@:YES@H_502_2@];
}
- (void@H_502_2@)didReceiveMemoryWarning
{
@H_404_33@ [@H_502_2@super@H_502_2@@H_404_33@ @H_502_2@didReceiveMemoryWarning@H_404_33@];@H_502_2@
}
- (void@H_502_2@)dealloc
{
@H_404_33@ [@H_502_2@_textFieldAge@H_404_33@ @H_502_2@release@H_502_2@@H_404_33@];@H_502_2@
@H_404_33@ [@H_502_2@_textFieldiID@H_404_33@ @H_502_2@release@H_502_2@@H_404_33@];@H_502_2@
@H_404_33@ [@H_502_2@_textFieldName@H_404_33@ @H_502_2@release@H_502_2@@H_404_33@];@H_502_2@
@H_404_33@ [@H_502_2@_textFieldSex@H_404_33@ @H_502_2@release@H_502_2@@H_404_33@];@H_502_2@
@H_404_33@ [@H_502_2@_textView@H_404_33@ @H_502_2@ release@H_502_2@@H_404_33@];@H_502_2@
[super@H_502_2@ dealloc@H_502_2@];
}
@end