//數據庫的增長操做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(@"登陸失敗");
}
}