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

来源:互联网 发布:我的世界js搬运 编辑:程序博客网 时间:2024/06/06 02:50

一、工程背景

  假定一个应用程序(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 0
原创粉丝点击