Monday, September 10, 2012

Lập trình iphone Kết nối cơ sở dữ liệu với SQLite

Kết nối cơ sở dữ liệu với SQLite

A - Tạo kết nối đến file database sqlite
B1 : Add File .sqlite vào project
B2: Copy file B1 vào thư mục build của iOS Simulator
- Mở file default .m, hàm viewDidLoad

PHP Code:
NSString *databaseName = @"thegioididong.sqlite"; NSArray *documentPaths NSSearchPathForDirectoriesInDomains(NSDocumentDirectoryNSUserDomainMaskYES); NSString *documentsDir = [documentPaths objectAtIndex:0]; NSString *databasePath = [documentsDir stringByAppendingPathComponent:databaseName]; NSFileManager *fileManager = [NSFileManager defaultManager]; BOOL success=[fileManager fileExistsAtPath:databasePath];
if (!
success) {
        
NSString *databasePathFromApp = [[[NSBundle mainBundleresourcePathstringByAppendingPathComponent:databaseName];
        [
fileManager copyItemAtPath:databasePathFromApp toPath:databasePath error:nil];  

A - SELECT: Lấy dữ liệu từ datbase

PHP Code:
sqlite3 *contactDB;
const 
char *dbpath = [databasePath UTF8String];
if(
sqlite3_open(dbpath, &contactDB)==SQLITE_OK){
        
        
sqlite3_stmt *statement;
        
NSString *sql = @"SELECT * FROM dienthoai";
        const 
char *query_stmt = [sql UTF8String];
        if(
sqlite3_prepare_v2(contactDBquery_stmt, -1, &statementNULL)==SQLITE_OK){
            
            while(
sqlite3_step(statement)==SQLITE_ROW){
                
NSString *ten = [[NSString allocinitWithUTF8String:(const char*)sqlite3_column_text(statement1)];
                
                [
danhsach addObject:ten];
            }
            
sqlite3_finalize(statement);
            
            
        }
        
        
}else{
        
NSLog(@"Có lỗi xảy ra");
B - INSERT (Thêm), UPDATE (Sửa), DELETE (Xóa)

PHP Code:
sqlite3 *contactDB;
    
    const 
char *dbpath = [databasePath UTF8String];
    
    if(
sqlite3_open(dbpath, &contactDB)==SQLITE_OK){
        
        
sqlite3_stmt *statement;
        
NSString *sql = [NSString stringWithFormat:@"INSERT INTO dienthoai VALUES(null, '%@','%@')",hotensodt];

        const 
char *query_stmt = [sql UTF8String];
        if(
sqlite3_prepare_v2(contactDBquery_stmt, -1, &statementNULL)==SQLITE_OK){
            
sqlite3_step(statement);
            
sqlite3_finalize(statement);
 
        }
   
    }else{
        
NSLog(@"iiiii");
    } 

A - Tạo kết nối đến file database sqlite
B1 : Add File .sqlite vào project
B2: Copy file B1 vào thư mục build của iOS Simulator
- Mở file default .m, hàm viewDidLoad

PHP Code:
NSString *databaseName = @"thegioididong.sqlite"; NSArray *documentPaths NSSearchPathForDirectoriesInDomains(NSDocumentDirectoryNSUserDomainMaskYES); NSString *documentsDir = [documentPaths objectAtIndex:0]; NSString *databasePath = [documentsDir stringByAppendingPathComponent:databaseName]; NSFileManager *fileManager = [NSFileManager defaultManager]; BOOL success=[fileManager fileExistsAtPath:databasePath];
if (!
success) {
        
NSString *databasePathFromApp = [[[NSBundle mainBundleresourcePathstringByAppendingPathComponent:databaseName];
        [
fileManager copyItemAtPath:databasePathFromApp toPath:databasePath error:nil];  

A - SELECT: Lấy dữ liệu từ datbase

PHP Code:
sqlite3 *contactDB;
const 
char *dbpath = [databasePath UTF8String];
if(
sqlite3_open(dbpath, &contactDB)==SQLITE_OK){
        
        
sqlite3_stmt *statement;
        
NSString *sql = @"SELECT * FROM dienthoai";
        const 
char *query_stmt = [sql UTF8String];
        if(
sqlite3_prepare_v2(contactDBquery_stmt, -1, &statementNULL)==SQLITE_OK){
            
            while(
sqlite3_step(statement)==SQLITE_ROW){
                
NSString *ten = [[NSString allocinitWithUTF8String:(const char*)sqlite3_column_text(statement1)];
                
                [
danhsach addObject:ten];
            }
            
sqlite3_finalize(statement);
            
            
        }
        
        
}else{
        
NSLog(@"Có lỗi xảy ra");
B - INSERT (Thêm), UPDATE (Sửa), DELETE (Xóa)

PHP Code:
sqlite3 *contactDB;
    
    const 
char *dbpath = [databasePath UTF8String];
    
    if(
sqlite3_open(dbpath, &contactDB)==SQLITE_OK){
        
        
sqlite3_stmt *statement;
        
NSString *sql = [NSString stringWithFormat:@"INSERT INTO dienthoai VALUES(null, '%@','%@')",hotensodt];

        const 
char *query_stmt = [sql UTF8String];
        if(
sqlite3_prepare_v2(contactDBquery_stmt, -1, &statementNULL)==SQLITE_OK){
            
sqlite3_step(statement);
            
sqlite3_finalize(statement);
 
        }
   
    }else{
        
NSLog(@"iiiii");
    } 

No comments:

Post a Comment