【最佳实践系列】灵活使用单机应用程序中的数据库

一、工程背景

  假定一个应用程序(App)需要新建、打开和保存项目文件,并且每个项目文件中又包含数据文件的情形,那么要求在创建或编辑项目的过程中动态的创建数据库文件,或者已知数据库结构时在应用程序中包含一个空的数据库文件,然后在需要时将其副本拷贝到当前项目的工作目录下。下面给出一种实现模式,实现这种面向单机的数据库使用方式。

二、工具

  我们以VS2012+SQLite作为工具实现上述任务。选择SQLite的主要因为它是基于文件系统的数据库,能够方便地执行拷贝和连接等操作。另外,经本人简单测试发现其连接速度明显优于内置的SQL Server Compact数据库。总之,对于桌面应用通常足够了。

三、关键技术

  1、创建数据库

   假定App所需数据库结构已知,那么在VS2012的服务器资源管理器中右键点击“数据连接”,然后“添加连接”。在“数据源”项中选择System.Data.SQLite Database File,然后点击“New”按钮,定位到一个目录,输入数据库文件名,如MyDb.db,点击保存。测试连接成功后,点确定返回服务器资源管理器视图。此时可以看到已创建的数据库连接,然后就可以为其添加数据表了。

  2、在特定项目中使用数据库

  将数据库复制到当前App项目的工作目录下,可以使用Microsoft.VisualBasic.FileIO.FileSystem.CopyFile()函数实现数据库文件的拷贝。然后建立与该数据库文件的连接即可以“断开连接层”的方式对数据库进行操作了。  

string conStr= @"data source=c:\MyDb.db";
    using (SQLiteConnection scon = new SQLiteConnection(conStr))
    {
        SQLiteDataAdapter sda = new SQLiteDataAdapter("SELECT * FROM Table1", scon);
        DataTable dt = new DataTable();
        sda.Fill(dt);
    }

  注意引用System.Data和System.Data.SQLite两个命名空间。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值