swift2使用sqlite数据库及常见错误总结(模拟机下)

0、效果图:


1、语言:swift2

2、工具:Xcode7.2

3、系统版本:

     MAC OS X 10.10.5

3、准备的材料:

      A、swift使用sqlite的代码封装文件,(这是我在github上找到的开源代码)我准备好了,传送门:这里

      B、sqlite图形化管理工具:SQLiteManager, 我也准备好了。传送门:来吧,点我

4、用SQLiteManager新建sqlite数据库文件:

     A、打开可视化管理工具,按照下面的步骤创建数据库文件,当然,也可以用代码来创建表。这里,就不做介绍了。

     B、该可视化管理工具还提供了查询的SQL语句。 

     C、关于该数据库文件存储路径,可以暂时存放在桌面或者你熟悉的地方。(这里没做好, 理论上应该把该数据库文件放到 .bandle文件中,统一管理的。)







5、创建swift工程

      A、创建一个singleView的swift的工程。

      B、拷贝数据库文件到创建的工程文件夹下。

      C、把上面的swift操作sqlite的文件拷贝到已经创好的swift工程中。比如下面这样:


6、创建桥接文件


     Build Settings    ->  Swift Complier -Code Generation


     接着刚刚创建的 .h文件,打开它,输入下面的内容即可。

#import "sqlite3.h"
#import <time.h>

 7、添加数据库驱动

       Build Phases  ->Link Binary With Libraries 

     

8、设计界面

     storyboard设计的效果如下:

    通过辅助编辑器,把控件关联起来:


  9、写代码了。

     我实现的效果很简单,当程序启动的时候,读取数据库的内容,并显示出来。代码如下:

import UIKit

class ViewController: UIViewController {
    
    var db:SQLiteDB!;

    @IBOutlet weak var txtName: UITextField!
    @IBOutlet weak var txtVersion: UITextField!
    override func viewDidLoad() {
        super.viewDidLoad()
        
        
        db = SQLiteDB.sharedInstance();
        initInfo();
        
        //db.execute("create table if not exists MacInfo(name VARCHAR, version VARCHAR");
    }
    
    /// 加载数据
    func initInfo()
    {
        let data = db.query("SELECT rowid, * FROM \"MacInfo\"");
        
        if (0 > data.count)
        {
            /// 提示框
            let alert = UIAlertController(title: "tips", message: "don't find", preferredStyle: UIAlertControllerStyle.Alert);
            let action = UIAlertAction(title:"sure", style: UIAlertActionStyle.Default, handler: nil);
            alert
                .addAction(action);
            presentViewController(alert, animated: true, completion: nil);
            return;
        }
        /// 显示数据
        print(data.count-1);
        let user = data[data.count - 1];
        txtName.text = user["name"] as? String;
        txtVersion.text = user["version"] as? String;
        
    }
    
    /// 保存到数据库
    func saveInfo()
    {
        let name = txtName.text!;
        let version = txtVersion.text!;
        
        let result = db.execute("insert into MacInfo(name, version) values'\(name)', '\(version)') ");
        print(result);
        
    }
    
    /// 保存按钮按下
    @IBAction func saveBtnTouched(sender: UIButton) {
        saveInfo();
        
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

10、编译

     先别着急,还需要修改一个地方:

      SQLiteDB.swift  文件

     接着,编译试试吧。会发现有个警告(没有修正该警告):

 

     可以自己用UIAlertController代替UIAlertView在这里的用法。(这里,我不做修改,向下兼容)。关于UIAlertController的简单使用,比如下面这样:

/// 提示框  
            let alertController = UIAlertController(title: "提示", message: "音乐没有开始播放", preferredStyle: UIAlertControllerStyle.Alert);  
            let action = UIAlertAction(title: "OK", style: .Default, handler: nil);  
            alertController.addAction(action);  
            self.presentViewController(alertController, animated:true, completion:nil);

    是不是没在程序启动的时候看到之前展示的效果图?  先看看这里输出的是什么:


    报错信息如下:

SQLiteDB - failed to copy writable version of DB!
Error - The file “test.sqlite” couldn’t be opened because there is no such file.
    

11、做好数据库文件的配置:

       前面,创建好了数据库文件,还没派上用场呢。

       解决上面出错的方法:

      A、 打开Finder, 按快捷键:shift + command + G,将上面模拟器提示的路径copy上来,点击 “前往”,我的路径是:

/Users/用户名/Library/Developer/CoreSimulator/Devices/3CA1FFF2-F868-4D3C-AA01-E4BEEEFBAC36/data/Containers/Data/Application/75DB3D7A-E63D-4655-AB2E-C91EEEC869B0/Documents/
      B、将创建好的数据库文件拷贝到该目录下,即可。

12 、重新编译,就达到了:程序启动,读取数据库指定表中得数据了。    

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LabVIEW是一种图形化编程语言和开发环境,用于控制和测量应用程序的开发。它可以与各种数据库进行集成,包括SQLite数据库。 要在LabVIEW中使用SQLite数据库,您需要安装SQLite数据库驱动程序和相应的LabVIEW工具包。以下是使用SQLite数据库的一般步骤: 1. 安装SQLite数据库驱动程序:首先,您需要下载并安装SQLite数据库驱动程序。您可以从SQLite官方网站(https://www.sqlite.org/download.html)下载适合您操作系统的驱动程序。 2. 安装LabVIEW工具包:LabVIEW有一些第三方工具包可用于与SQLite数据库进行交互。您可以在LabVIEW Tools Network(https://www.ni.com/labview-tools-network)上搜索并下载适合您版本的SQLite工具包。 3. 创建数据库连接:在LabVIEW中,您可以使用SQLite数据库工具包提供的函数来创建与SQLite数据库的连接。您需要提供数据库文件的路径和名称,然后使用适当的函数来打开连接。 4. 执行SQL查询:一旦建立了数据库连接,您可以使用SQLite工具包提供的函数来执行SQL查询。您可以执行各种操作,如创建表、插入数据、更新数据和查询数据等。 5. 关闭数据库连接:在完成与数据库的交互后,确保使用适当的函数关闭数据库连接,以释放资源并确保数据的完整性。 请注意,LabVIEW中使用SQLite数据库的具体步骤可能会因LabVIEW版本和所使用SQLite工具包而有所不同。因此,建议您参考相关的LabVIEW和SQLite工具包文档以获取更详细的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值