当前位置: 首页 > news >正文

官网网站怎么创建网站如何做双语言

官网网站怎么创建,网站如何做双语言,免费资源部落wordpress,关于绿色环保网站的建设历程什么是数据库数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,我们可以很方便的对数据库中的数据进行增、删、改、查操作数据库类型数据库可以分为2大种类关系型数据库(主流)关系型数据库(主流)对象型数据库常用关系型数据库PC端#xff1a;Oracle、MySQL、SQL S…什么是数据库数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,我们可以很方便的对数据库中的数据进行增、删、改、查操作数据库类型数据库可以分为2大种类关系型数据库(主流)关系型数据库(主流)对象型数据库常用关系型数据库PC端Oracle、MySQL、SQL Server移动客户端SQLiteSQLite3简介官方网站: http://www.sqlite.org/是一款轻型的数据库设计目标是嵌入式的占用资源非常的低在嵌入式设备中可能只需要几百K的内存就够了它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快关系型数据库存储数据和Excel很像一个 字段(COL)存储一个值类似于对象的一个属性一 行(ROW)存储一条记录,保存一个对象里面的所有属性一个 表(TABLE)存储一系列数据类似于对象数组Person(name:zhangsan, age 20, height 1.78)Person(name:lisi, age 19, height 1.70)Person(name:wangwu, age 22, height 1.80)术语字段(Field/Col)一个字段存储一个值Sqlite提供 INTEGER, REAL, TEXT, BLOB, NULL五种类型的数据SQLite 在存储时本质上并不区分准确的数据类型主键Primary Key简称PK唯一地标示一条记录具有以下特点名字xxx_id类型Integer自动增长准确数值由数据库决定程序员不用关心开发数据库的步骤建立数据库 - 存储数据的文件创建数据表 - 每一张数据表存储一类数据数据表添加字段(column,列,属性)操作数据.增/删/查/改移动应用中使用数据库的好处将网络数据存储在本地不用每次都去网络加载减少用户网络流量开销FMDBFMDB是iOS平台的SQLite数据库框架FMDB以OC的方式封装了SQLite的C语言APIFMDB的优点使用起来更加面向对象省去了很多麻烦、冗余的C语言代码对比苹果自带的Core Data框架更加轻量级和灵活提供了多线程安全的数据库操作方法有效地防止数据混乱CocoaPods集成 FMDBuse_frameworks!pod FMDB核心类FMDB核心类:FMDatabase: 一个FMDatabase表示一个sqlite数据库.所有对数据库的操作都是通过这个类executeStatements: 执行多条sqlexecuteQuery: 执行查询语句executeUpdate: 执行除查询以外的语句,create, drop, insert, delete, updateFMDatabaseQueue: 内部封装FMDatabase和串行queue,用于多线程操作数据库,并且提供事务,建议使用这个inDatabase: 参数是一个闭包,在闭包里面可以获得FMDatabase对象inTransaction: 使用事务.FMResultSet: 查询的结果集通过字段名称获取字段值FMDB使用建立SQLiteManager.swift 单例对象class SQLiteManager: NSObject {// 单例static let sharedManager SQLiteManager()let dbQueue: FMDatabaseQueueoverride init() {let documentPath NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).last! as NSStringlet path documentPath.stringByAppendingPathComponent(fmdb.db)print(path: \(path))// 创建FMDatabaseQueue对象会自动打开数据库,如果数据库不存在会创建数据库// 后续的所有数据库操作都是通过dbQueue来调用dbQueue FMDatabaseQueue(path: path)super.init()// 创建数据表createTable()}private func createTable() {// 之前的sql语句都是在代码里面在写的,通过文件来加载sql语句,在文件中可以编写多条sql语句// 获取table.sql文件的路径let bundlePath NSBundle.mainBundle().pathForResource(table, ofType: sql)!// 加载table.sql文件里的内容let sql try! String(contentsOfFile: bundlePath)// print(加载文件sql: \(sql))dbQueue.inDatabase { (db) - Void indb.executeStatements(sql)}}}FMDB 插入单条数据/**测试FMDB插入单条数据*/func testInsert() {// 插入数据sqllet sql INSERT INTO T_Person (name, age, height) VALUES (赵六6, 26, 1.70);SQLiteManager.sharedManager.dbQueue.inDatabase { (db) - Void indo {try db.executeUpdate(sql, values: [])print(插入数据成功)// 获取插入数据的主键let id db.lastInsertRowId()print(插入数据的id: \(id))} catch let error as NSError {print(error: \(error))}}}FMDB 大批量添加数据/**测试FMDB大批量添加数据*/func testManyInsert() {// 插入数据sqllet sql INSERT INTO T_Person (name, age, height) VALUES (?, ?, ?);SQLiteManager.sharedManager.dbQueue.inTransaction { (db, rollback) - Void in// 添加10000条数据do {let start CFAbsoluteTimeGetCurrent()for i in 0..10000 {try db.executeUpdate(sql, values: [lisi\(i), 20, 1.72])}let end CFAbsoluteTimeGetCurrent()print(消耗时间:\(end - start))} catch {}}}FMDB 事务回滚/**测试FMDB大批量添加数据*/func testManyInsert() {// 插入数据sqllet sql INSERT INTO T_Person (name, age, height) VALUES (?, ?, ?);SQLiteManager.sharedManager.dbQueue.inTransaction { (db, rollback) - Void in// 添加10000条数据do {let start CFAbsoluteTimeGetCurrent()for i in 0..10000 {try db.executeUpdate(sql, values: [lisi\(i), 20, 1.72])// 模拟数据错误,回滚事务if i 1000 {// UnsafeMutablePointer: 表示 ObjCBool类型的指针// 在OC中: *rollback YES// 在swift中rollback.memory true 表示设置ObjCBool的值为trueprint(数据出错,回滚)rollback.memory truebreak}}let end CFAbsoluteTimeGetCurrent()print(消耗时间:\(end - start))} catch {}}}FMDB 修改数据/**测试FMDB修改数据*/func testUpdate() {SQLiteManager.sharedManager.dbQueue.inDatabase { (db) - Void inlet sql UPDATE T_Person SET name ? WHERE id ?;do {try db.executeUpdate(sql, values: [liedehua, 1])print(更新数据成功)} catch let error as NSError {print(error: \(error))}}}FMDB 查询/**测试FMDB查询*/func testQuery() {SQLiteManager.sharedManager.dbQueue.inDatabase { (db) - Void indo {// 查询sql语句let sql SELECT id, name, age, height FROM T_Person LIMIT ?;let result try db.executeQuery(sql, values: [20])while result.next() {// 通过字段名称获取字段值let id result.intForColumn(id)let name result.stringForColumn(name)let age result.intForColumn(age)let height result.doubleForColumn(height)print(id: \(id), name: \(name), age: \(age), height: \(height))print(------------)}} catch let error as NSError {print(error: \(error))}}}
http://www.sadfv.cn/news/172476/

相关文章:

  • app网站开发价格手机网站制作教程视频教程
  • 获得网站管理员密码建站合同模板
  • 以个人名义可以做网站吗网站风格分类
  • 网站建设数据库做服装搭配的流行趋势网站
  • 贵阳市建设局地址网站建站公司网站论坛
  • 专注徐州网站开发再网站里做商家店铺
  • 模板网站的域名是什么意思wordpress 后台文章
  • 做推广哪个食品网站好wordpress菜单导入导出
  • 网站的友情连接怎么做企业建站系统信息
  • 免费做文字图网站贵州省建设厅住房和城乡建设官网
  • 南同网站建设软件下载网络营销顾问
  • 做网站到底怎么赚钱哪些网站是营销型网站
  • 照片分享网站开发费用用笔记本电脑能建设网站吗
  • 广州网站建设 中网科技地方网站类型
  • 装修包工头接活网站网站设计需从哪些方面考虑
  • 做公司网站的费用计入什么科目推广用哪个平台效果好
  • 台州网站seo外包黑龙江省城乡建设厅网站首页
  • 网站开发数据库问题网站简繁转换
  • 个人网站 备案 名称营销策略ppt模板
  • 苏中建设集团网站官网建设银行招聘官网网站
  • 手机建网站模板动漫制作好找工作吗
  • dw制作网站网页模板ps网站怎么做超链接
  • 河南住房城乡建设部网站企业门户网站建设方案书
  • 中小学教师兼职做网站网络营销平台有哪些
  • 小企业网站建设多少钱苏州知名高端网站建设机构
  • 做外贸面料的网站隆昌移动网站建设
  • 专业网站设计报价黄山旅游攻略ppt
  • 做红k线网站网站关键字怎么分割
  • 建设设计院网站做网站加盟
  • php网站建设视频教程重庆网站开发工资