日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

iOS UI 18 数据库

發布時間:2023/11/29 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS UI 18 数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

//

//? RootViewController.m

//? Ui - 18 數據庫

//

//? Created by dllo on 15/12/2.

//? Copyright (c) 2015 dllo. All rights reserved.

//


#import "RootViewController.h"

#import "DataBasehandle.h"

#import "Student.h"

@interface RootViewController ()

@property (retain, nonatomic) IBOutlet UIButton *button;

@property (retain, nonatomic) IBOutlet UIButton *button1;

@property (retain, nonatomic) IBOutlet UIButton *button2;

@property (retain, nonatomic) IBOutlet UIButton *button3;

@property (retain, nonatomic) IBOutlet UIButton *insert;

@property (retain, nonatomic) IBOutlet UIButton *updat;

@property (retain, nonatomic) IBOutlet UIButton *deleteda;

@property (retain, nonatomic) IBOutlet UIButton *button4;

@property (retain, nonatomic) IBOutlet UIButton *button5;


@end


@implementation RootViewController




- (void)viewDidLoad {

? ? [super viewDidLoad];

? ? NSLog(@"%@",NSHomeDirectory());

?? ?

?? ?

?? ?

? ? // Do any additional setup after loading the view from its nib.

}

//打開數據庫

- (IBAction)button:(id)sender {

?? ?

? ? [[DataBasehandle sharedDatabase] openDB];

?? ?

?? ?

?? ?

}

//關閉數據庫

- (IBAction)button1:(id)sender {

?? ?

? ? [[DataBasehandle sharedDatabase] closeDB];

}

//創建表單

- (IBAction)button2:(id)sender {

?? ?

?? ? [[DataBasehandle sharedDatabase] createTable];

?? ?

?? ?

}

//刪除表單

- (IBAction)button3:(id)sender {

?? ?

?? ? [[DataBasehandle sharedDatabase] deleteTable];

?? ?

}

//插入數據

- (IBAction)insert:(id)sender {

?? ?

? ? Student *stu = [[Student alloc]init];

? ? stu.name = @"dfsa";

? ? stu.sex = @"fdsf";

? ? stu.age = 1;

? ? ? [[DataBasehandle sharedDatabase] insertDataWithStudent:stu];

?? ?

}

//修改數據

- (IBAction)updat:(id)sender {

?? ?

? ? Student *stu = [[Student alloc]init];

? ? stu.name = @"小平好帥";

?? ? stu.sex = @"";

? ? stu.age = 100;

?? ? [[DataBasehandle sharedDatabase] updataWithNumber:4 Student:stu];

?? ?

}

//刪除數據

- (IBAction)deleteda:(id)sender {

?? ?

?? ?

? ? [[DataBasehandle sharedDatabase] deleteDataWithNumber:2];

?? ?

?? ?

?? ?

}

//查詢所有數據

- (IBAction)button4:(id)sender {

? ? NSMutableArray *stuArr = [[DataBasehandle sharedDatabase] selectAllStudent];

? ? for (Student *stu in stuArr) {

? ? ? ? NSLog(@"%@ %@ %ld", stu.name, stu.sex, stu.age);

? ? }

?? ?

?? ?

}

- (IBAction)button5:(id)sender {

? ? NSMutableArray *stuArr = [[DataBasehandle sharedDatabase]selectBySexOfStudent:@"" name:@"小平好帥"];

? ? for (Student *stu in stuArr) {

? ? ? ? NSLog(@"%@ %@ %ld", stu.name, stu.sex, stu.age);

? ? }

}




- (void)didReceiveMemoryWarning {

? ? [super didReceiveMemoryWarning];

? ? // Dispose of any resources that can be recreated.

}


/*

#pragma mark - Navigation


// In a storyboard-based application, you will often want to do a little preparation before navigation

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

? ? // Get the new view controller using [segue destinationViewController].

? ? // Pass the selected object to the new view controller.

}

*/


- (void)dealloc {

? ? [_button release];

? ? [_button1 release];

? ? [_button2 release];

? ? [_button3 release];

? ? [_insert release];

? ? [_updat release];

? ? [_deleteda release];

? ? [_button4 release];

? ? [_button5 release];

? ? [super dealloc];

}

@end

//

//? DataBasehandle.h

//? Ui - 18 數據庫

//

//? Created by dllo on 15/12/2.

//? Copyright (c) 2015 dllo. All rights reserved.

//


#import <Foundation/Foundation.h>

@class Student;

@interface DataBasehandle : NSObject

+(instancetype)sharedDatabase;

- (void)openDB;

- (void)closeDB;


- (void)createTable;


- (void)deleteTable;

- (void)insertDataWithStudent:(Student *)stu;

- (void)deleteDataWithNumber:(NSInteger)num;

- (void)updataWithNumber:(NSInteger)num Student:(Student *)stu;

- (NSMutableArray *)selectAllStudent;

- (NSMutableArray *)selectBySexOfStudent:(NSString *)sex name :(NSString *)name;

@end

//

//? DataBasehandle.m

//? Ui - 18 數據庫

//

//? Created by dllo on 15/12/2.

//? Copyright (c) 2015 dllo. All rights reserved.

//


#import "DataBasehandle.h"

#import "Student.h"

#import <sqlite3.h>

@implementation DataBasehandle

+(instancetype)sharedDatabase

{

? ? static DataBasehandle *dataBase = nil;

? ? if (nil == dataBase) {

? ? ? ? dataBase = [[DataBasehandle alloc]init];

? ? }

? ? return dataBase;

}


? ? ? static sqlite3? *DB = nil;


//sql指令(Student舉例):

//

//創建表單 : @"CREATE TABLE IF NOT EXISTS student(number integer PRIMARY KEY AUTOINCREMENT, name TEXT, sex TEXT, age integer)"

//

//刪除表單 : @"DROP TABLE student"

//

//插入數據 : @"INSERT INTO student(name, sex, age) VALUES ('%@', '%@', '%ld')", stu.name, stu.sex, stu.age

//

//刪除數據 : @"DELETE FROM student WHERE number = '%ld'", num

//

//修改數據(num) : @"UPDATE student SET name = '%@', sex = '%@', age = '%ld' WHERE number = '%ld'", stu.name, stu.sex, stu.age, num

//

//查詢所有數據 : SELECT * FROM student

//

//按分類查找(sex) : @"SELECT * FROM student WHERE? sex LIKE '%%%@%%'", sex

- (void)openDB

{

? ? NSString *path = [NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES)lastObject];

? ? NSString *filepath = [path stringByAppendingPathComponent:@"dataBase.db"];

?? ?

? ? //打開數據庫

? ? //注意將文件路徑轉為c語言識別的字符串類型

? ? int ret = sqlite3_open(filepath.UTF8String, &DB);

? ? if (SQLITE_OK == ret) {

? ? ? ? NSLog(@"打開數據庫成功");

?? ? ? ?

? ? } else {

? ? ? ? NSLog(@"打開數據庫失敗");

? ? }

?? ?

?? ?

}

- (void)closeDB

{

? ? int ret = sqlite3_close(DB);

? ? if (SQLITE_OK == ret) {

? ? ? ? NSLog(@"關閉數據庫成功");

? ? } else {

? ? ? ? NSLog(@"關閉數據庫失敗");

? ? }

}


- (void)createTable

{

? ? NSString *sqlStr = @"CREATE TABLE IF NOT EXISTS student(number integer PRIMARY KEY AUTOINCREMENT, name TEXT, sex TEXT, age integer)";

?? ?

? ? int ret = sqlite3_exec(DB, sqlStr.UTF8String, NULL, NULL, NULL);

?? ?

? ? if (SQLITE_OK == ret) {

? ? ? ? NSLog(@"創建表單成功");

? ? } else {

? ? ? ? NSLog(@"創建表單失敗");

? ? }

}

- (void)deleteTable

{

? ? NSString *sqlStr =? @"DROP TABLE student";

?? ?

? ? int ret = sqlite3_exec(DB, sqlStr.UTF8String, NULL, NULL, NULL);

?? ?

? ? if (SQLITE_OK == ret) {

? ? ? ? NSLog(@"刪除表單成功");

? ? } else {

? ? ? ? NSLog(@"刪除表單失敗");

? ? }

}

- (void)insertDataWithStudent:(Student *)stu

{

? ? NSString *sqlStr = [NSString stringWithFormat:@"INSERT INTO student(name, sex, age) VALUES ('%@', '%@', '%ld')", stu.name, stu.sex, stu.age];

?? ?

? ? int ret = sqlite3_exec(DB, sqlStr.UTF8String, NULL, NULL, NULL);

?? ?

? ? if (SQLITE_OK == ret) {

? ? ? ? NSLog(@"插入數據成功");

? ? } else {

? ? ? ? NSLog(@"插入數據失敗");

? ? }

}

- (void)deleteDataWithNumber:(NSInteger)num

{

? ? NSString *sqlstr = [NSString stringWithFormat: @"DELETE FROM student WHERE number = '%ld'", num];

? ? int ret = sqlite3_exec(DB, sqlstr.UTF8String, NULL, NULL, NULL);

?? ?

? ? if (SQLITE_OK == ret) {

? ? ? ? NSLog(@"刪除數據成功");

? ? } else {

? ? ? ? NSLog(@"刪除數據失敗");

? ? }

?? ?

}

- (void)updataWithNumber:(NSInteger)num Student:(Student *)stu

{

? ? NSString *sqlstr = [NSString stringWithFormat: @"UPDATE student SET name = '%@', sex = '%@', age = '%ld' WHERE number = '%ld'", stu.name, stu.sex, stu.age, num];

? ? int ret = sqlite3_exec(DB, sqlstr.UTF8String, NULL, NULL, NULL);

?? ?

? ? if (SQLITE_OK == ret) {

? ? ? ? NSLog(@"修改數據成功");

? ? } else {

? ? ? ? NSLog(@"修改數據失敗");

? ? }

}

- (NSMutableArray *)selectAllStudent

{

? ? NSString *sqlstr = @"SELECT * FROM student";

? ? sqlite3_stmt *stmt = nil;

? ? int ret = sqlite3_prepare_v2(DB, sqlstr.UTF8String, -1, &stmt, NULL);

? ? if (SQLITE_OK == ret) {

?? ? ? ?

?? ? ? ?

? ? ? ? NSMutableArray *arr = [NSMutableArray array];

? ? ? ? //判斷是否還有有效數據

? ? ? ? while (SQLITE_ROW == sqlite3_step(stmt)) {

?? ? ? ? ? ?

? ? ? ? ? ? //參數:列數

?? ? ? ? ? const unsigned char *name =? sqlite3_column_text(stmt, 1);

? ? ? ? ? ? const unsigned char *sex =? sqlite3_column_text(stmt, 2);

? ? ? ? ? ? sqlite3_int64 age = sqlite3_column_int(stmt, 3);

? ? ? ? ? ? Student *stu = [[Student alloc]init];

//? ? ? ? ? ? stu.name = name;

? ? ? ? ? ? stu.name = [NSString stringWithUTF8String:(const char *)name];

? ? ? ? ? ? stu.sex = [NSString stringWithUTF8String:(const char *)sex];

? ? ? ? ? ? //整型可以直接強轉

? ? ? ? ? ? stu.age = (NSInteger)age;

?? ? ? ? ? ?

? ? ? ? ? ? [arr addObject:stu];

? ? ? ? ? ? [stu release];

?? ? ? ? ? ?

?? ? ? ? ? ?

? ? ? ? }

? ? ? ? return arr;

? ? } else {

? ? ? ? NSLog(@"獲取數據失敗");

? ? ? ? return nil;

? ? }

}

- (NSMutableArray *)selectBySexOfStudent:(NSString *)sex name:(NSString *)name

{

?? ? NSString *sqlstr = [NSString stringWithFormat:? @"SELECT * FROM student WHERE? sex LIKE '%%%@%%'? ? and name = '%@'", sex, name ];

? ? sqlite3_stmt *stmt = nil;

? ? int ret = sqlite3_prepare_v2(DB, sqlstr.UTF8String, -1, &stmt, NULL);

? ? if (SQLITE_OK == ret) {

?? ? ? ?

?? ? ? ?

? ? ? ? NSMutableArray *arr = [NSMutableArray array];

? ? ? ? //判斷是否還有有效數據

? ? ? ? while (SQLITE_ROW == sqlite3_step(stmt)) {

?? ? ? ? ? ?

? ? ? ? ? ? //參數:列數

?? ? ? ? ?

? ? ? ? ? ? const unsigned char *name =? sqlite3_column_text(stmt, 1);

? ? ? ? ? ? const unsigned char *sex =? sqlite3_column_text(stmt, 2);

? ? ? ? ? ? sqlite3_int64 age = sqlite3_column_int(stmt, 3);

?? ? ? ?

? ? ? ? ? ? Student *stu = [[Student alloc]init];

? ? ? ? ? ? //? ? ? ? ? ? stu.name = name;

? ? ? ? ? ? stu.name = [NSString stringWithUTF8String:(const char *)name];

? ? ? ? ? ? stu.sex = [NSString stringWithUTF8String:(const char *)sex];

? ? ? ? ? ? //整型可以直接強轉

? ? ? ? ? ? stu.age = (NSInteger)age;

? ? ? ?

?? ? ? ? ? ?

? ? ? ? ? ? [arr addObject:stu];

? ? ? ? ? ? [stu release];

?? ? ? ? ? ?

?? ? ? ? ? ?

? ? ? ? }

? ? ? ? return arr;

? ? } else {

? ? ? ? NSLog(@"獲取數據失敗");

? ? ? ? return nil;

? ? }

?? ?

}


@end


//

//? Student.h

//? Ui - 18 數據庫

//

//? Created by dllo on 15/12/2.

//? Copyright (c) 2015 dllo. All rights reserved.

//


#import <Foundation/Foundation.h>


@interface Student : NSObject

@property (nonatomic, copy)NSString *name;

@property (nonatomic, copy)NSString *sex;

@property (nonatomic, assign)NSInteger age;


@end


//

//? Student.m

//? Ui - 18 數據庫

//

//? Created by dllo on 15/12/2.

//? Copyright (c) 2015 dllo. All rights reserved.

//


#import "Student.h"


@implementation Student

- (void)dealloc

{

? ? [_name release];

? ? [_sex release];

? ? [super dealloc];

?? ?

?? ?

}

@end




轉載于:https://www.cnblogs.com/yuhaojishuboke/p/5043070.html

總結

以上是生活随笔為你收集整理的iOS UI 18 数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。