SQLITE的增刪改查的簡單運用舉例

//數據庫的增長操做ios

-(void)addDatesql

{數據庫

    NSLog(@"增長");ui

//    惟一數據庫,存儲數據庫指針指針

    sqlite3 *db;orm

//    建立執行命令對象sqlite

    sqlite3_stmt *stmt;對象

//    根據指定文件路徑打開數據庫字符串

    sqlite3_open([[[NSBundle mainBundle]pathForResource:@"ios2classinfo" ofType:@"sqlite"] UTF8String], &db);string

 

//    執行預處理命令,返回一個int類型的值,返回0 則可執行命令,返回其餘 不可執行,語句裏面的參數 db :數據庫指針  "insert into students (stuname,stupro,stunum,stupwd,stuadd,stuage) values(?,?,?,?,?,?)":sql語句,數據庫的增長操做  -1:sql語句的長度,若是爲負的,自動計算sql語句長度,把sql語句當成以\0結尾的字符串)。  &stmt:是sqlite3_stmt 的指針的指針。解析之後的sql語句就放在這個結構裏

    int rst=sqlite3_prepare_v2(db, "insert into students (stuname,stupro,stunum,stupwd,stuadd,stuage) values(?,?,?,?,?,?)", -1, &stmt, nil);

//    綁定數據信息 注意:這裏的數字1,2,3,4,5,6,表明 執行預處理命令語句中的 ?的位置

    sqlite3_bind_text(stmt, 1, "lisi", -1, nil);

    sqlite3_bind_text(stmt, 2, "jixie", -1, nil);

    sqlite3_bind_text(stmt, 3, "15899343588", -1, nil);

    sqlite3_bind_text(stmt, 4, "98836", -1, nil);

    sqlite3_bind_text(stmt, 5, "chongqing", -1, nil);

    sqlite3_bind_text(stmt, 6, "26", -1, nil);

//    返回0 能夠執行命令

    if (rst==SQLITE_OK) {

//        執行完成

        if (SQLITE_DONE==sqlite3_step(stmt)) {

            NSLog(@"添加成功");

        }

    } else {

        NSLog(@"添加失敗");

    }

}

//數據庫的刪除操做

-(void)deleteDate

{

    NSLog(@"刪除");

//    建立惟一數據庫,存儲數據庫指針

    sqlite3 *db;

//    建立執行命令

    sqlite3_stmt *stmt;

//    根據指定數據庫文件路徑打開數據庫

    sqlite3_open([[[NSBundle mainBundle]pathForResource:@"ios2classinfo" ofType:@"sqlite"] UTF8String], &db);

 

    //    執行預處理命令,返回一個int類型的值,返回0 則可執行命令,返回其餘 不可執行,語句裏面的參數1 db :是個sqlite3 * 類型變量   參數2 "delete from students where stuid=1":sql語句,數據庫的刪除操做  參數3  -1:sql語句的長度,若是爲負的,自動計算sql語句長度,把sql語句當成以\0結尾的字符串)。  參數4 &stmt:是sqlite3_stmt 的指針的指針。解析之後的sql語句就放在這個結構裏

    int rst=sqlite3_prepare_v2(db, "delete from students where stuid=1", -1, &stmt, nil);

    if (rst==SQLITE_OK) {

        if (SQLITE_DONE==sqlite3_step(stmt)) {

            NSLog(@"刪除成功");

        }

    } else {

        NSLog(@"刪除失敗");

    }

 

}

//數據庫的修改操做

-(void)updateDate

{

    NSLog(@"修改");

    

    sqlite3 *db;

    sqlite3_stmt *stmt;

    sqlite3_open([[[NSBundle mainBundle]pathForResource:@"ios2classinfo" ofType:@"sqlite"] UTF8String], &db);

 

//    "update students set stuname='mmm' ,stuage='100' where stuid=4" sql語句 數據庫的修改操做

    int rst = sqlite3_prepare_v2(db, "update students set stuname='mmm' ,stuage='100' where stuid=4", -1, &stmt, nil);

    if (rst==SQLITE_OK) {

        if (SQLITE_DONE==sqlite3_step(stmt)) {

            NSLog(@"修改爲功");

        }

    } else {

        NSLog(@"修改失敗");

    }

}

//數據庫的全局查詢操做

-(void)selectDate

{

    NSLog(@"查詢");

    

    sqlite3 *db;

    sqlite3_stmt *stmt;

    sqlite3_open([[[NSBundle mainBundle]pathForResource:@"ios2classinfo" ofType:@"sqlite"] UTF8String], &db);

//    "select *from students" sql語句 數據庫的查詢操做

    int rst=sqlite3_prepare_v2(db, "select *from students", -1, &stmt, nil);

    if (rst==SQLITE_OK) {

        while (sqlite3_step(stmt)==SQLITE_ROW) {

//            循環便利數據庫中的行的信息

            NSLog(@"stuid = %d",sqlite3_column_int(stmt, 0));

            NSLog(@"名字 = %@", [NSString stringWithFormat:@"%s",sqlite3_column_text(stmt, 1)]);

            NSLog(@"專業 = %@",[NSString stringWithFormat:@"%s",sqlite3_column_text(stmt, 2)]);

            NSLog(@"電話 = %@",[NSString stringWithFormat:@"%s", sqlite3_column_text(stmt, 3) ]);

            NSLog(@"密碼 = %@",[NSString stringWithFormat:@"%s", sqlite3_column_text(stmt, 4) ]);

            NSLog(@" = %@",[NSString stringWithFormat:@"%s", sqlite3_column_text(stmt, 5) ]);

            NSLog(@"年齡 = %d",sqlite3_column_int(stmt, 6));

        }

    }

}

//數據庫的局部查詢(登陸)操做

-(void)loginPage

{

    NSLog(@"登陸");

    sqlite3 *db;

    sqlite3_stmt *stmt;

    sqlite3_open([[[NSBundle mainBundle]pathForResource:@"ios2classinfo" ofType:@"sqlite"] UTF8String], &db);

 

//    "select stuname , stupwd from students where stuname=? and stupwd=?" sql語句 數據庫的局部查詢操做(登陸)

    int rst = sqlite3_prepare_v2(db, "select stuname , stupwd from students where stuname=? and stupwd=?", -1, &stmt, nil);

    sqlite3_bind_text(stmt, 1, "shali", -1, nil);

    sqlite3_bind_text(stmt, 2, "520lh", -1, nil);

    if (rst==SQLITE_OK) {

        if (SQLITE_ROW==sqlite3_step(stmt)) {

            NSLog(@"登陸成功");

        }

    } else {

        NSLog(@"登陸失敗");

    }

    

    

}

相關文章
相關標籤/搜索