`
lizhuang
  • 浏览: 900214 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

sqlite3导入到程序Document

 
阅读更多
/*===---===
        在这个部分中我么进行一下操作:(要把数据库文件存放到储存的位置中)
           1.获取应用程序的路径,在手机中就是 应用程序存储数据的地方
           2.把数据库文件的名称拼接到上面得到的路径上
           3.根据拼接好的路径去寻找,并判断这个文件是否存在
     ===---===*/
    //获取应用程序的路径
    NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(
                                                               NSDocumentDirectory,
                                                               NSUserDomainMask,
                                                               YES);
    NSString *documentFolderPath = [searchPaths objectAtIndex:0];
    NSLog(@"docoumentFolderPath=%@",documentFolderPath);
   
    //往应用程序路径中添加数据库文件名称,把它们拼接起来, 这里用到了宏定义(目的是不易出错)
    dbFilePath = [documentFolderPath stringByAppendingPathComponent:DATABASE_FILE_NAME];
    NSLog(@"dbFilePath = %@",dbFilePath);

    //
   
   
    /*
     为什么要往应用程序里添加数据库文件这个过程:
         因为下面要进行判断,会根据这个路径去查找应用程序的路径中到底有没有这个文件,
             如果有,则不用在此拷贝了,
             如果没有,则重新拷贝一次,
       数据库文件必须添加进取,否则无法进行数据库的操作,而且必须添加一次,
    
     那么为什么必须要添加一次呢?
         因为我们在程序中实现对数据库的修改,然而却又把数据库添加了一次,
            那么新添加的数据库就会把旧的数据库覆盖掉,那么程序中对数据库的修改也不能实现,
               所以数据库只能添加一次且是在程序运行初添加
     */
   
    //根据上面拼接好的路径 dbFilePath ,利用NSFileManager 类的对象的fileExistsAtPath方法来检测是否存在,返回一个BOOL值
    //1. 创建NSFileManager对象  NSFileManager包含了文件属性的方法
    NSFileManager *fm = [NSFileManager defaultManager];
   
    //2. 通过 NSFileManager 对象 fm 来判断文件是否存在,存在 返回YES  不存在返回NO
    BOOL isExist = [fm fileExistsAtPath:dbFilePath];
     //- (BOOL)fileExistsAtPath:(NSString *)path;
   
    //如果不存在 isExist = NO,拷贝工程里的数据库到Documents下
    if (!isExist)
    {
        //拷贝数据库
       
        //获取工程里,数据库的路径,因为我们已在工程中添加了数据库文件,所以我们要从工程里获取路径
        NSString *backupDbPath = [[NSBundle mainBundle]
                                  pathForResource:@"shopping"
                                  ofType:@"db"];
        //这一步实现数据库的添加,
        // 通过NSFileManager 对象的复制属性,把工程中数据库的路径拼接到应用程序的路径上
        BOOL cp = [fm copyItemAtPath:backupDbPath toPath:dbFilePath error:nil];
        NSLog(@"cp = %d",cp);
        //- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error
        NSLog(@"backupDbPath =%@",backupDbPath);
       
    }
    NSLog(@"isExist =%d",isExist);
分享到:
评论

相关推荐

    sqlite3 xml读写

    4. **SQLite3到XML**:从SQLite3数据库导出为XML的过程则相反: - 执行SQL查询,获取所需数据。 - 使用LIBXML创建一个新的XML文档。 - 将查询结果映射到XML元素结构,构建DOM树。 - 将DOM树序列化为XML字符串,...

    ios sqlite3 实例,建表,增删攺查

    首先,你需要导入`sqlite3.h`库,并初始化一个数据库连接。在`AppDelegate`中,你可以创建一个方法来打开或创建数据库文件: ```swift func createOrOpenDatabase() -> OpaquePointer? { var db: OpaquePointer?...

    两个 AIR SQLite 例子

    SQLite是一个轻量级、自包含的数据库引擎,常用于桌面应用程序,包括那些使用Adobe AIR开发的应用。这些示例可能涉及如何在AIR应用中创建、查询、更新和删除数据库记录,以及如何将数据存储到本地。 描述中的...

    Android 的 SQLite Database

    9. 数据备份与恢复:Android提供了Intent ACTION_CREATE_DOCUMENT和ACTION_OPEN_DOCUMENT,允许用户选择外部存储位置进行数据库的导出和导入,实现数据备份与恢复。 10. 最佳实践:合理设计数据模型,避免冗余数据...

    Qt实现导出数据库为Excel表

    在IT领域,尤其是在软件开发中,常常需要处理数据的导入导出操作,Qt作为一个功能强大的跨平台应用程序开发框架,提供了丰富的API供开发者使用。本文将详细介绍如何利用Qt来实现从数据库导出数据到Excel表格的功能。...

    在C#/ VB.Net中使用SQLite

    - 使用.NET Framework中的`System.Xml`命名空间进行XML操作,如`XmlDocument`类加载XML文件,`XmlNodeReader`读取XML数据并插入到SQLite中。 6. **Visual Studio集成** - 在VS2013中,可以使用`Add -> New Item -...

    Android代码-Android导入导出txt通讯录工具.rar

    8. **文件选择器和保存对话框**:为了让用户选择TXT文件进行导入或导出,你需要了解如何使用Intent ACTION_OPEN_DOCUMENT或ACTION_CREATE_DOCUMENT,这涉及到Android的存储访问框架(SAF)。 9. **异常处理**:在...

    Android_Excel-master.rar_android_安卓实现数据导入excel文件

    在Android平台上,实现数据的保存和导入到Excel文件是一个常见的需求,特别是在开发涉及大量数据处理的应用时。这个名为"Android_Excel-master"的压缩包似乎包含了一些资源链接,如"去脚本之家看看.url"、"服务器...

    MFC可视化信息管理系统(简单的程序,适合初学者)

    3. **数据库集成**:将数据存储从内存转移到数据库,如使用SQL Server或SQLite,提高数据的安全性和可扩展性。 4. **错误处理和异常安全**:学习如何编写健壮的代码,处理可能出现的错误和异常情况。 总之,“MFC...

    c#例子代码

    1. **A0188_SQLite_SQLiteClient.zip**:这个文件涉及到C#与SQLite数据库的交互,SQLite是一个轻量级的嵌入式数据库,适用于移动设备和本地应用程序。SQLiteClient是.NET Framework提供的用于连接SQLite的库,你可以...

    xmldom

    XMLDOM(XML Document Object Model)是用于处理XML文档的一个接口,它是W3C制定的一套标准,允许程序和脚本动态地访问和更新XML文档的内容、结构和样式。在这个chm格式的文件“XMLDOM对象方法手册”中,很显然包含...

    韩国zeroboardXE ver 1.0.1 整站程序

    (board) 解决使用咨询功能时无法读取公告项的问题 - zero 数据导入(importer) 重新设计导入程序 - 解决导入大容量数据时出现的问题 - zero 解决导入会员信息时处理相同昵称时出现的问题 - zero ...

    xml.zip_Android XML_android

    DOM解析器将整个XML文档加载到内存中,形成一棵DOM树,然后可以方便地通过节点遍历和操作XML结构。这种方式的优点是操作灵活,但缺点是对内存和CPU资源消耗较大,不适用于大文件解析。在Android中,`javax.xml....

    教材科教材管理系统MFC对话框框架

    首先,系统的核心可能由一个基于单文档(Single Document Interface, SDI)的应用程序架构组成。SDI允许每个应用程序实例处理一个单独的文档,用户可以通过菜单、工具栏或者对话框来操作这些文档。在MFC中,`CWinApp...

    XML网页制作实作教程及实例

    2. 移动应用:iOS的Core Data框架和Android的SQLite数据库都支持XML格式的导入导出。 3. 数据库:XML可用于存储非关系型数据,如NoSQL数据库MongoDB。 通过XML实例教程的学习,你将能够熟练创建和解析XML文档,利用...

    基于PHP的苹果cms视频采集插件源码.zip

    这些资源随后会被导入到苹果CMS系统中,供网站用户浏览和播放。 4. **源码**: 提供的".zip"文件包含的是源代码,意味着你可以看到程序的内部结构,理解其工作原理,并根据需要进行修改或扩展。这对于开发者来说非常...

    mobile下XML文件解析

    8. **XML与数据库集成**:在移动设备上,XML有时被用作与嵌入式数据库(如SQLite)交互的数据格式,用于导入导出数据。 9. **XML在网络通信中的应用**:XML常用于RESTful API或SOAP协议,允许移动设备与服务器进行...

    个人理财(MDI窗体制作)

    为了提升用户体验,个人理财应用还需要提供数据导入导出功能,让用户能够从其他财务软件或银行文件中导入数据,或导出数据到CSV、Excel等格式进行备份或进一步处理。此外,图表和图形化的数据分析视图也是必不可少的...

    android备忘录

    此外,备份和恢复功能也很重要,可以利用Android的Intent.ACTION_CREATE_DOCUMENT和ACTION_OPEN_DOCUMENT来实现数据的导入导出。 总的来说,构建一个Android备忘录应用需要掌握Android的基础知识,包括UI设计、...

Global site tag (gtag.js) - Google Analytics