当前位置: 首页 > 编程日记 > 正文

Sqlite3数据库之第三方库FMDB学习心得

很早之前就接触Sqlite数据库,但是之前对数据库操作未使用任何第三方库,只是实现基本的增、删、改、查功能,自己对着一本iPhone开发入门级的书籍写了一个类,基本能实现上述四个功能。最近在开发一个软件,由于是一个本地应用,经过再三思量,最好决定使用sqlite数据库存储数据。但是此次数据有点复杂,以前写的对数据库操作的类已经完全不能满足本次开发的需求,故上网找了下FMDB这个第三方库,该库把对数据库操作全部封装,使我们对于复杂的API视而不见,只需要调用接口,而且FMDB支持数据库事务处理以及支持ARC和非ARC,故好好研究了下FMDB的用法。

FMDatabase *fmDatabase = [FMDatabase databaseWithPath:dbPath];  //dbPath 为数据库路径,如果该路径不存在该数据库,则会自动创建一个数据库

对数据库操作,首先要打开数据库    [fmDatabase open] ,这里要提醒的是,频繁打开、关闭数据库很耗时。

[fmDatabase tableExists:tableName];   //tableName 表格名 判断数据库中是否存在该表

1. 创建表

CREATE TABLE project (projectName text,prototypeCount integer,iconData Binary,projectId integer)        //创建project表SQL 语句

[fmDatabase executeUpdate:SQL]  //SQL sql语句, 创建表格,FMDB中执行SQL语句,除了执行查询语句用executeQuery外,其它都用 executeUpdate

2. 向表格插入数据

[fmDatabase executeUpdate:@"INSERT INTO project (projectName, prototypeCount, iconData, projectId) VALUES (?,?,?,?)",project.projectName,[NSNumbernumberWithInteger:project.prototypeCount],project.iconData,[NSNumbernumberWithInteger:project.projectId]];

//注意,此处变量都为对象,起初传入int类型,直接crash

3. 查询数据

[fmDatabase executeQuery:@"SELECT * FROM project"]

转载于:https://www.cnblogs.com/keviniptv/p/FMDB.html

相关文章:

您会让自己的小孩将来从事软件研发吗?

您会让自己的小孩将来从事软件研发吗?非常多程序猿,都已经30多岁了。过了而立之年,有了自己的老婆,自己温馨的小家庭,自己可爱的小孩。小孩也都是00后的。“您会让自己的孩子从事软件研发吗?”本来小孩的事…

CSDN湘苗培优|成长,从走出舒适区开始

湘苗培优CSDN高校俱乐部报名火热进行中!基础训练交付训练实践练习湘苗培优 随着我国信息产业飞速发展,通过常规灌输式培养出来的学员已经不能够满足企业要求。企业更缺乏的是具备自主学习能力、具备综合解决问题能力的高素质技术人才。高素质技术人才需要…

使用VS自带的混淆器防止你的程序被反编译

这里就介绍大家使用VS自带的混淆器dotfuscator.exe来阻止这种行为。首先要做的找到dotfuscator.exe: D:/Microsoft Visual Studio .NET 2003/PreEmptive Solutions/Dotfuscator Community Edition运行dotfuscator.exe首先是是否注册的界面,先不注册吧&am…

【124】排球基本技术

排球基本技术 1.基本技术的概念 是指在规则允许的条件下,运用人体解剖和运动生物力学的原理,所采用的合理击球和完成击球动作的其他配合的总称。 2.排球技术的特点 (1)完成动作时间短促; (2)完成…

FairyGUI和NGUI对比

一直在做Unity方面的游戏开发,经同事介绍了解到有这么一个GUI能提供跨平台的能力,有独立UI编辑器,而且功能强大,能够组合成复杂的UI界面,可以导出到Unity,Flash,Starling等,文档还说未来将支持UE4&#xff…

用like语句时的C#格式化函数

*********************************************************************************** * 版权声明 * 此文章为ocean所有,版权归ocean所有,任何网站 *和 媒体转载必须包含此段声明,否则将…

JS-arguments分析

JS-arguments分析waiting……转载于:https://blog.51cto.com/frabbit2013/1242112

200万注册开发者,13亿全景图片,90%数据生产AI化,百度地图如何造生态?

12月29日, 2020百度地图生态大会在京举办。据悉,在AI技术加持下,百度地图实现了90%数据生产环节AI化,并全新升级生态全景2.0。围绕百度地图2020年的各项进展,百度地图总经理季永志做出了全方面回顾,并展示了…

内核中的内存申请:kmalloc、vmalloc、kzalloc、kcalloc、get_free_pages【转】

转自:http://www.cnblogs.com/yfz0/p/5829443.html 在内核模块中申请分配内存需要使用内核中的专用API:kmalloc、vmalloc、kzalloc、kcalloc、get_free_pages;当然,设备驱动程序也不例外;对于提供了MMU功能的处理器而言,Linux提供了复杂的内存管理系统,使得进程所能…

以实例说明如何使用C#从数据库中提取数据,按要求自动生成定制的Excel表格

最近因为需要学习了一下使用C#操作Excel表格,现在把我使用C#如何定制表格的过程提供给需要的兄弟: /*从数据库提取数据*/ string strconn"packet size4096;user idsa;data sourcelocalhost;persist security infoTrue;initial catalogDatabase;pa…

7_7_2013 E.Function

2019独角兽企业重金招聘Python工程师标准>>> Problem E: Function Time Limit: 1 Sec Memory Limit: 32 MB Submit: 52 Solved: 26 [ Submit][ Status][ Web Board] Description Define a function f(n)(f(n-1)1)/f(n-2). You already got f(1) and f(2). Now…

快手日入数据量超 5120TB,数据管治如何做?

​近日,快手大数据团队联合“快手中学”,举办“快手数据管治技术交流会”,各行业数据相关开发者报名参与。在海量的 UGC 数据、业务数据、用户数据背后,支撑快手数据业务的快手大数据平台,秉承“以领先的大数据技术&am…

LINUX创建www的用户组和用户,并且不允许登录权限:

# id www id: www:无此用户 # groupadd www # useradd -g www -s /sbin/nologin www # id www uid501(www) gid501(www) 组501(www) 转载于:https://www.cnblogs.com/cnbing/p/6957239.html

GridView自定义分页导航

自己做的一个项目中所运用到的技术&#xff1a;| 1. 日历控件&#xff08;带时分秒&#xff09;2. GridView 批量删除,自定义分页,定位页码3. GridView 修改4. GridView 鼠标经过改变行的颜色效果如下&#xff1a;HTML&#xff1a;<% Page L…

一文看懂AI数据采集标注未来三年的发展和趋势

影响人工智能发展的三大要素分别是数据、算法、算力&#xff0c;限于篇幅&#xff0c;本篇内容将重点分析未来几年内人工智能所需要的数据趋势及探讨数据服务商发展方向。 作为AI数据采集标注的领先企业&#xff0c;云测数据分析认为人工智能在经历了算法研究、技术扩张和商业落…

HTTP 状态代码及其定义

相关文章&#xff1a;http://ruby-china.org/topics/12384 所有 HTTP 状态代码及其定义。  代码 指示 2xx 成功 200 正常&#xff1b;请求已完成。 201 正常&#xff1b;紧接 POST 命令。 202 正常&#xff1b;已接受用于处理&#xff0c;但处理尚未完成。 203 正常&#xff1…

html5地理定位数据

2019独角兽企业重金招聘Python工程师标准>>> <html><head><meta charset"UTF-8"/> <meta name"viewport" content"widthdevice-width, initial-scale1.0"><script type"text/javascript">fu…

GridView控件修改、删除示例(修改含有DropDownList控件)

GridView控件修改、删除例子&#xff0c;修改时含有DropDownList控件。示例运行效果图&#xff1a;GridViewUp.aspx文件代码&#xff1a; <% Page Language"C#"AutoEventWireup"true"CodeFile"GridViewUp.aspx.cs"Inherits"gridview_Gri…

国产AI芯片加速,鲲云携手浪潮推出数据流AI服务器

近日&#xff0c;鲲云科技携手浪潮基于星空X3加速卡推出新一代的数据流AI服务器&#xff0c;定位高性能图像视频智能分析的AI计算加速&#xff0c;支持智慧城市、智能制造、智慧油田、智慧工地、智算中心等典型AI应用场景&#xff0c;这是双方“元脑生态计划”战略签约后推进的…

织梦dedecms如何快速使用拼音首字母做栏目名称

织梦默认使用拼音为保存目录的时候使用的是中文全拼&#xff0c;当遇到栏目名称比较长的时候目录名称看起来有点冗长&#xff0c;这时候大多数站长喜欢使用拼音首字母作为栏目的保存目录&#xff0c;那么有没有什么快速的办法能让我们快速的使用首字母作为栏目名称呢&#xff1…

移动应用AI化成新战场?详解苹果最新Core ML模型构建基于机器学习的智能应用...

Google刚刚息鼓&#xff0c;苹果又燃战火&#xff01;这一战&#xff0c;来自移动应用的AI化之争。近日&#xff0c;苹果发布专为移动端优化的Core ML后&#xff0c;移动开发者对此的需求到底有多强烈&#xff1f;去年大获成功的AI应用Prisma又能告诉我们什么&#xff1f;苹果的…

mysql5.1 与mysql5.5 字符集设置区别

在mysql5.1版本中设置字符集[mysqld]default-character-setutf8在mysql-5.5中设置字符集[mysqld]character_set_serverutf8转载于:https://blog.51cto.com/enable/1247132

@所有技术社区,年度”社区之星“开选,快来盘点各家技术大佬

活动简介那些积极探索技术边界并持续对社区做出贡献的开发者是真正的技术英雄&#xff0c;是开发者的学习榜样&#xff0c;也是各个技术社区发展的生命力&#xff01;2021年伊始&#xff0c;CSDN 为所有技术社区特别准备了一份年终福利&#xff01;CSDN 向所有技术社区&#xf…

Gridview][UpdateCommand的写法要点]

在ASP.NET2.0中的GridView为我们浏览更新数据提供了一个方便的途径。我们只需要添加一个sqldatasouce控件和一个GridView&#xff0c;再为sqldatasource写上正确的UpdateCommand语句就可以达到自动更新数据的目的。基本上无需手写更新代码:但在写UpdateCommand语句时&#xff0…

BZOJ 1040 ZJOI2008 骑士 树形DP

题目大意&#xff1a;给定一个基环树林&#xff0c;每一个点上有权值&#xff0c;要求选择一个权值和最大的点集&#xff0c;要求点集中的随意两个点之间不能直接相连 最大点独立集……考虑到n<100W&#xff0c;网络流铁定跑不了&#xff0c;于是我们考虑树形DP 对于每棵基环…

在GridView内访问特定控件

本文我将为你演示如何访问GridView中的特定控件。我们会看到怎样去访问TextBox控件&#xff0c;DropDownList控件以及ListBox控件。 添加控件到GridView&#xff1a; 你可以简单地使用 <ItemTemplate>选项在GridView控件中增加不同的控件。 填充列表框和下拉框控件 第…

解决 apache 2.4.1 无法解析shtml中的expr指令问题

2019独角兽企业重金招聘Python工程师标准>>> apache 2.4.1上运行内嵌<!--#if expr${mobile}-->的shtml格式文件&#xff0c;在页面上提示一下错误&#xff1a; [an error occurred while processing this directive] SSI对shtml格式的配置是正常的&#xff0c…

新华三发布H3C Workspace数字工作空间:只需一张屏,程序员也能随时随地在云上写代码

随着数字时代的不断发展&#xff0c;工作模式经历了面对面的“纸笔”模式、办公室场景下的“PC电脑”模式、以及远程办公场景下的“手机协同软件”模式&#xff0c;如今&#xff0c;尤其伴随2020年的疫情催生&#xff0c;更迎来以“云屏”架构为核心的未来工作模式。 “云屏”…

centos 安装 NTFS支持

2019独角兽企业重金招聘Python工程师标准>>> 参考的原文网址&#xff1a; centos安装完之后&#xff0c;默认是不支持NTFS磁盘格式的&#xff0c;解决的方法之一就是安装NTFS-3G模块&#xff0c;但是默认的软件源是没有这个依赖库的&#xff0c;我们需要额外的阿里云…

linux基本命令详解の第一季

linux常用命令一&#xff1a;文件名命名规则1&#xff09;除了/之外&#xff0c;所有的字符都合法。 2)有些字符最好不用&#xff0c;如&#xff0c;空格、制表符、退格符和字符#&#xffe5;%&#xff08;&#xff09;-等。 3)避免使用.作为普通文件名的第一个字符,在linux系统…