sqlite3 数据操作 查询单个信息

打开数据库
    sqlite3 * db = [Database openDB];
    
    sqlite3_stmt * stmt = nil;
    NSString * sqlString = [NSString stringWithFormat:@"select * from Student where id = %d" , aID];
    int result = sqlite3_prepare_v2(db, [sqlString UTF8String], -1, &stmt,NULL);
    Student * student = nil;
    if (result == SQLITE_OK) {
        if (sqlite3_step(stmt) == SQLITE_ROW) {
            int ID = sqlite3_column_int(stmt, 0);

const unsigned char * name = sqlite3_column_text(stmt, 1);
            
            const unsigned char * gender = sqlite3_column_text(stmt ,2);
            int age = sqlite3_column_int(stmt, 3);
            
            int lenght = sqlite3_column_bytes(stmt, 4);
            
            const void * photo = sqlite3_column_blob(stmt, 4);
            
            NSData * photoData = [NSData dataWithBytes:photo length:lenght];
            
            UIImage * image = [UIImage imageWithData:photoData];
            
            student = [[Student alloc]init];
            student.ID = ID;
            student.name = [NSString stringWithUTF8String:(const char *)name];
            student.gender = [NSString stringWithUTF8String:(const char *)gender];
            student.age = age;
            
            student.photo = image;
            
            
        }
    }
    
    sqlite3_finalize(stmt);
    [Database closeDB];

时间: 2024-08-20 23:30:06

sqlite3 数据操作 查询单个信息的相关文章

sqlite3 数据操作 查询

打开数据库    sqlite3 * db = [Database openDB];         数据库的操作指针 stmt:statement    sqlite3_stmt * stmt = nil;        参数1 , 数据库指针 ,     参数2 SQL语句     参数3 SQL语句的长度 (-1 代表的是无限长 , 自动匹配长度)     参数4 返回数据库操作指针    参数5 为未来做准备的 , 预留参数 , 一般写成NULL         验证SQL语句的正确性 

sqlite3 数据操作 修改

sqlite3 * db = [Database openDB];        sqlite3_stmt * stmt = nil;        NSString * sqlstring = [NSString stringWithFormat:@"update Student set name = '%@' where id = %ld" , name , (long)ID];        int result = sqlite3_prepare_v2(db, [sqlstri

sqlite3 数据操作 删除

sqlite3 * db = [Database openDB];        sqlite3_stmt * stmt = nil;        NSString * sqlString = [NSString stringWithFormat:@"delete from Student where id = %d",ID];    int result = sqlite3_prepare_v2(db, [sqlString UTF8String], -1, &stmt,

sqlite3 数据操作 添加

sqlite3 * db = [Database openDB];        sqlite3_stmt * stmt = nil;        NSString * sqlString = [NSString stringWithFormat:@"insert into Student (name , age , gender ) values ('%@' , %ld ,'%@' )",studnt.name , (long)studnt.age ,studnt.gender];

Django 链接MySQL及数据操作

Django 链接MySQL Django创建的项目自带的数据库是SQLite3,我们想要链接MySQL的话,需要更改settings.py中的配置 1.在MySQL中创建好数据库,Django项目不会创建数据库,只会根据models.py中的模型类创建对应的表 2.在项目文件下的settings.py文件中,找到 DATABASES属性,配置MySQL相关参数 DATABASES = { 'default': { # 将数据库引擎修改成 mysql 'ENGINE': 'django.db.b

SQL应用与开发:(七)数据操作 · 查 · (三)使用子查询访问和修改数据

3.使用子查询访问和修改数据 子查询和连接查询一样提供了使用单个查询访问多个表中的数据的方法.子查询在其他结果的基础上提供一种有效地方式来表示WHERE子句的条件.子查询是一个SELECT语句,它定义在SELECT.INSERT.UPDATE或DELECT语句或者另一个子查询中.子查询的SELECT语句可与外部查询指向不同的表. 嵌套的子查询或嵌套的SELECT语句是指包含一个或多个子查询的SELECT语句.子查询可嵌套在外部的SELECT.INSERT.UPDATE或DELECT语句的WHER

oracle-2-sql数据操作和查询

主要内容: >oracle 数据类型 >sql建表和约束 >sql对数九的增删改 >sql查询 >oracle伪例 1.oracle的数据类型 oracle数据库的核心是表,表中常见的数据类型有: char(length):存储固定长度的字符串,length默认1,最长2000 varchar2(length):存储可变长度的字符串,length默认长度是1,最大4000 number(p,s)存储浮点数或者是整数,p表示的是最大位数(包含小数点),p默认是38,s表示小数位

mysql第四篇:数据操作之多表查询

mysql第四篇:数据操作之多表查询 一.多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment PRIMARY KEY, dname VARCHAR(50) not null COMMENT '部门名称' )ENGINE=INNODB DEFAULT charset utf8; #添加部门数据 INSERT INTO `dept` VALUES ('1', '教学部'); INSERT INT

BIM工程信息管理系统-EF实体框架数据操作基类

EF实体框架数据操作基类主要是规范增.改.查.分页.Lambda表达式条件处理,以及异步操作等特性,这样能够尽可能的符合基类这个特殊类的定义,实现功能接口的最大化重用和统一. 1.程序代码 /// <summary> /// MSSQL数据库 数据层的父类 /// </summary> /// <typeparam name="T"></typeparam> public class BaseDAL<T> where T :