欢迎投稿

今日深度:

SQLite创建表并添加数据,sqlite创建数据

SQLite创建表并添加数据,sqlite创建数据


- (void)viewDidLoad {
    [super viewDidLoad];
    //创建表
    [self creatTable];
    //插入数据
    [self insertTable];
}

// -----------------------创建一个表--------------------
- (void)creatTable
{
// 1.创建一个数据库对象
    sqlite3 *sqlite3 = nil;
    
// 2.数据库的路径
    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/mySqlite.db"];
    
// 3.打开数据库 (通过指定路径打开数据库文件,如果没有就创建)
    int result = sqlite3_open([path UTF8String], &sqlite3);
    if (result != SQLITE_OK) {
        NSLog(@"数据库打开失败!");
        return;
    }
    
// 4.创建sql语句
    NSString *sql = @"CREATE TABLE Students (id integer PRIMARY KEY,name text)";
    
// 5.执行SQL语句
    char *error = NULL;
    result = sqlite3_exec(sqlite3, [sql UTF8String], NULL, NULL, &error);
    if (result != SQLITE_OK) {
        NSLog(@"执行sql语句失败!");
        // 6.关闭数据库
        sqlite3_close(sqlite3);
        return;
    }
// 6.关闭数据库
    sqlite3_close(sqlite3);
}

// -------------------------插入数据------------------------
- (void)insertTable
{
// 1.创建一个数据库对象
    sqlite3 *sqlite3 = nil;
    
// 2.数据库的路径
    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/mySqlite.db"];
    
// 3.打开数据库 (通过指定路径打开数据库文件,如果没有就创建)
    int result = sqlite3_open([path UTF8String], &sqlite3);
    if (result != SQLITE_OK) {
        NSLog(@"数据库打开失败!");
        return;
    }
    
// 4.创建sql语句
    // insert into students(id,name) values('123456','李斯')
    NSString *sql = @"insert into students(id,name) values(?,?)";
    
// 5.编译sql语句
    // 创建一个数据句柄对象
    sqlite3_stmt *stmt = nil;
    result = sqlite3_prepare_v2(sqlite3, [sql UTF8String], -1, &stmt, nil);
    if (result != SQLITE_OK) {
        NSLog(@"编译失败");
        // 关闭数据库
        sqlite3_close(sqlite3);
        return;
    }
    
// 6.绑定数据到数据句柄里面
    sqlite3_bind_int(stmt, 1, 123457);
    sqlite3_bind_text(stmt, 2, "张三", -1, nil);
    
// 7.执行数据句柄的操作
    result = sqlite3_step(stmt);
    if (result == SQLITE_ERROR || result == SQLITE_MISUSE) {
        NSLog(@"插入失败");
        // 关闭数据句柄
        sqlite3_finalize(stmt);
        // 关闭数据库
        sqlite3_close(sqlite3);
        return ;
    }
    
// 8.执行成功
    NSLog(@"插入成功");
    // 关闭数据句柄
    sqlite3_finalize(stmt);
    // 关闭数据库
    sqlite3_close(sqlite3);
   
    
}


android中的SQLite在创建数据库、创建表后,怎给表增加列数,或者更新版本?

//定义升级函数
private void upgradeDatabaseToVersion1(SQLiteDatabase db) {
// Add 'new' column to mytable table.
db.execSQL("ALTER TABLE mytable ADD COLUMN new TEXT");
}

//重写onUpgrade
public void onUpgrade(SQLiteDatabase db, int oldVersion, int currentVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion
+ " to " + currentVersion + ".");

switch (oldVersion) {
case 0:
if (currentVersion <= 1) {
return;
}

db.beginTransaction();
try {
upgradeDatabaseToVersion1(db);
db.setTransactionSuccessful();
} catch (Throwable ex) {
Log.e(TAG, ex.getMessage(), ex);
break;
} finally {
db.endTransaction();
}

return;
}

Log.e(TAG, "Destroying all old data.");
dropAll(db);
onCreate(db);
}

-----------------------------------------------------------------------------------------------------
安卓精英团为你解答
安卓精英团欢迎各位精英加入
 

android中的SQLite在创建数据库,并且创建表后,怎给表增加列数

ALTER TABLE download_info ADD state Integer
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/4270.html NewsArticle SQLite创建表并添加数据,sqlite创建数据 - (void)viewDidLoad { [super viewDidLoad]; //创建表 [self creatTable]; //插入数据 [self insertTable];}// -----------------------创建一个表--------------------- (void)creatTable...
相关文章
    暂无相关文章
评论暂时关闭