FMDB----SQL----数据库

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #822e0e }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #3d1d81 }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; min-height: 21.0px }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #539aa4 }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #1d9421 }
p.p7 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c91b13 }
p.p8 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #1d9421 }
p.p9 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c32275 }
p.p10 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #6122ae }
span.s1 { }
span.s2 { font: 18.0px "PingFang SC" }
span.s3 { color: #c32275 }
span.s4 { color: #1d9421 }
span.s5 { font: 18.0px "PingFang SC"; color: #1d9421 }
span.s6 { color: #000000 }
span.s7 { color: #6122ae }
span.s8 { color: #c91b13 }
span.s9 { color: #539aa4 }
span.s10 { color: #3c828c }
span.s11 { color: #3d1d81 }
span.s12 { color: #294c50 }
span.s13 { color: #703daa }
span.s14 { color: #0435ff }
span.s15 { font: 18.0px Menlo; color: #000000 }
span.s16 { font: 18.0px Menlo }

#pragma mark -- 数库

- (void)createDatabase{

//路径

NSString *path = [NSString stringWithFormat:@"%@/Documents/maxueshan.db",NSHomeDirectory()];

//创建

_database = [[FMDatabase alloc]initWithPath:path];

//打开

[_database open];

NSLog(@"%@",path);

}

//重写析构方法   ,  不能写 [super dealloc]

- (void)dealloc{

//关闭数据库

[_database close];

}

#pragma mark -- 创建表格

- (void)createTable{

NSString *sql = @"create table if not exists Student(stuName text,stuAge text, stuSex text)";

BOOL isSuccess = [_database executeUpdate:sql];

if (isSuccess) {

NSLog(@"table表格创建成功");

}else {

NSLog(@"table表格创建失败");

}

}

//增

- (void)insertDataWithArray:(NSArray *)array{

if (array.count == 0) {

//数组为空,没有模型

return;

}

//1.SQL语句  拼接

NSString *sql = @"insert into Student values(?,?,?)";

//2.遍历数组

for (StudentModel *model in array) {

//

[_database executeUpdate:sql,model.stuName,model.stuAge,model.stuSex];

}

}

//删

- (void)deleteDataWithArray:(NSArray *)array{

if (array.count == 0) {

return ;

}

NSString *sql = @"delete from Student where stuName=? and stuAge=? and stuSex=?";

for (StudentModel *model in array) {

[_database executeUpdate:sql,model.stuName,model.stuAge,model.stuSex];

}

}

//改

- (BOOL)updateDataWithSourceModle:(StudentModel *)sourceModel andNewModel:(StudentModel *)newModel{

if (sourceModel && newModel) {

//两个模型都不为空时,才执行 数据的修改

NSString *sql = @"update Student set stuName=? , set stuAge=? , set stuSex=? where stuName=? and stuAge=? and stuSex=?";

BOOL isSuccess = [_database executeUpdate:sql,newModel.stuName,newModel.stuAge,newModel.stuSex,sourceModel.stuName,sourceModel.stuAge,sourceModel.stuSex];

return isSuccess;

}

return NO;

}

//查

- (NSArray *)selectAllDatas{

//1.数组,接收模型

NSMutableArray *dataArr = [NSMutableArray array];

//2.sql 语句

NSString *sql = @"select *from Student";

//3.查询

FMResultSet *set = [_database executeQuery:sql];

//4.遍历,分装模型

while ([set next]) {

NSString *name = [set stringForColumn:@"stuName"];

NSString *age  = [set stringForColumn:@"stuAge"];

NSString *sex  = [set stringForColumn:@"stuSex"];

NSDictionary *dic = @{@"stuName":name,@"stuAge":age,@"stuSex":sex};

StudentModel *model = [StudentModel createModelWithDic:dic];

[dataArr addObject:model];

}

return dataArr;

}

//姓名

- (NSArray *)selectForName:(NSString *)name {

if (name.length == 0) {

return nil;

}

NSMutableArray *dataArr = [NSMutableArray array];

NSString *sql = @"select * form Student where stuName=? ";

FMResultSet *set = [_database executeQuery:sql,name];

while ([set next]) {

NSString *name = [set stringForColumn:@"stuName"];

NSString *age = [set stringForColumn:@"stuAge"];

NSString *sex = [set stringForColumn:@"stuSex"];

NSDictionary *dic = @{@"stuName":name,@"stuAge":age,@"stuSex":sex};

StudentModel *model = [StudentModel createModelWithDic:dic];

[dataArr addObject:model];

}

return dataArr;

}

时间: 2025-01-14 07:19:57

FMDB----SQL----数据库的相关文章

SQL 数据库T-SQL语句查询

         SQL 数据库T-SQL语句查询 附加数据库的数据文件 查询表中种类是水果的出厂日期在201-04-01之后的 查询所有种类的总成本 以倒序的方式查询表中水果的成本 查询种类是蔬菜的并且价格在1-5之间 将product表中的名称,种类,出厂日期的数据保存在另一个名为product_new的表中,并查看 在products表和sales表中查询产品的名称.种类.成本.销售地点和销售价格. 在products表和sales表中查询销往海南的产品名称.种类.成本和销售价格. 查询年

根据.mdf文件查看 SQL数据库的版本信息

手上有 经理带来的一个教学管理系统,由于不知道开发环境,在向SQL2000附件数据库的时候 报出附加失败的信息 ,上网查知说的2005的数据库不能向2000添加,好吧 那我在安装一个2005的行吧?但是安装SQL2005的时候确出现了问百度一段时间后知道因为我的机器上安装VS2005的时候他会给你带一个SQL2005的简化版(sql2005express),正是这个原因在安装SQL2005开发版的时候才会出现问题,所以需要把自带的sql2005express删除在重新安装;2005的安装上之后

windows Server 2012安装SQL数据库步骤

第一步.下载SQL Server 2008R2文件 刻录成光盘放进光驱中 点击setup执行SQL安装 输入SQL产品密钥 相应的步骤 根据需求安装SQL server功能,本次功能全选 数据库的名称.安装位置,本次为默认安装 SQL数据库用户名.密码设置,此次为统一设置 身份验证模式 第一步 登录SQL数据库服务 开启远程服务 创建数据库

C# 用vs2008连接SQL数据库做动态水晶报表

博主是个还在上大学的新手,如果有什么说错的地方请务必帮我指出来,谢谢! 想要完成一个能够动态改变其中数据的水晶报表,可以通过创建一个 数据的中转站来存储和输出数据的方式. 借由这个中转站,我们可以通过为它动态输入数据,然后再将数据导出到水晶报表,来达到得到有动态数据的水晶报表的目的. 仅在vs2008中,很多它自带的应用也可以达到中转站的作用,比如数组,数据集等. 博主最近刚在学SQL所以尝试了用VS连接数据库来做水晶报表. 1.首先,博主在SQL中创建了名为xxs的数据库,然后再在数据库xxs

SQL数据库查询方法

SQL数据库查询方法 简单查询: 一.投影 select * from 表名 select 列1,列2... from 表名 select distinct 列名 from 表名 二.筛选 select top 数字 列|* from 表名 (一)等值与不等值 select * from 表名 where 列名=值 select * from 表名 where 列名!=值 select * from 表名 where 列名>值 select * from 表名 where 列名<值 selec

SQL数据库基础知识-巩固篇&lt;一&gt;

SQL数据库基础知识-巩固篇<一>... 首先展示两款我个人很喜欢的数据库-专用于平时个人SQL技术的练习<特点:体积小,好安装和好卸载,功能完全够用了> MySQL-57 DataBase MS-SQLServer-2000 DataBase SQL的含义:结构化查询语言(Structured Query Language)简称SQL 作用:SQL(Structured Query Language,结构化查询语言)是一种用于操作数据库的语言. 结构化查询语言包含6个部分:一:数

SQL数据库和表的管理

SQL数据库和表的管理(二) 利用SSMS数据库管理工具登陆数据库 创建一个名为db_class的数据库 设置数据库为自动收缩 将数据库分离,以便数据库文件的迁移 分离数据库 为学分设置限制,限制在0-20分之间 其他列的数据类型如下 附加数据库 将之前移动的日志文件从新附加 创建一个名叫course的表 插入数据 利用命令语句插入数据 修改任课老师为王老师,备注为生病,课程编号为0002 创建一个表 查询表中工资大于3000的员工信息 查询表中出生年月为1950-1958年之间的人 查询家庭住

用友金蝶SQL数据库误格式化恢复 SQL数据库修复 SQL数据库恢复 工具 方法

用友金蝶SQL数据库误格式化恢复 SQL数据库修复 SQL数据库恢复 硬盘误格式化.重分区.重装操作系统覆盖 SQL数据解决方法 [客户名称]:贵州铜仁市开天驾驶人培训中心 [软件名称]:用友T3普及版 [数据库版本]:MS SQL server 2000  [数据库大小]:1GB X 6  (3个账套 总共6个年度). [问题描述]:由于服务器中毒或卡顿,客户将服务器电脑送到 装机店 重做操作系统.未详细告知电脑用途,导致整个硬盘被维修店技术员 全盘格式化重新分区,并且重新做好了新的操作系统,

SQL数据库的简单使用

一. SQL数据库的建立,查询和删除等常用操作可以参考这个网址   http://www.w3school.com.cn/sql/ 二.数据库的打开和关闭(iOS下要导入libsqlite3.dylib框架) 一般情况下会将其封装为一个单一的类,便于外界使用. 其 .h 中声明两个类方法,代码为 #import <Foundation/Foundation.h> #import <sqlite3.h> @interface DataBase : NSObject // 打开数据库

SQL数据库&mdash;&mdash;存储过程

SQL数据库--存储过程 语法格式: use 数据库名 在存储过程第一行就要首先声明所在数据库 go create(alter) proc 存储过程名 形参(@-), - as begin 执行体 (return) end go 注意:建立一个存储过程后,修改的话应该把create 改为alter. 执行体内的语法: 1.定义变量:declare 变量名(@-) 数据类型 2.赋值语法:set/select 变量名=表达式 3.if语句格式: if- begin - end else begin