关闭

C#连接access和Excel(以数据库的形式)[附驱动资源]

标签: 数据库accessexcelC#net
1070人阅读 评论(0) 收藏 举报
分类:

Access数据库时微软旗下的一款软件,我使用过觉得好处有以下几点:

  1. 图形界面做的好,不像其他数据库在黑乎乎的dos窗口下操作,对于一个只是偶尔使用数据库,不深究的人来说真受不了,幸亏有Navicat软件,具体如何使用,可以看我的另外一篇博文http://blog.csdn.net/endlessseaofcrow/article/details/78058436
  2. 安装简单,甚至不用安装,作为入门的数据库软件来说,还是不错的,注意只适用于数据量比较小的项目。

Excel作为Office套件,大家都很熟悉,其实它也可以作为一个数据库来看待,之前把这两个放在一起来写,主要都是用的相同的驱动,作为微软的‘亲儿子’,使用基本是一样的,下面详细来说。

需要声明的是,驱动有两种ACE和Jet,我在这里使用的是ACE驱动,二者大同小异,ACE性能更好些,至于具体区别如下:

  • Jet 引擎,可以访问 Office 97-2003,但不能访问 Office 2007。
  • ACE 引擎是随 Office 2007 一起发布的数据库连接组件,既可以访问 Office 2007,也可以访问 Office 97-2003。
  • Microsoft.ACE.OLEDB.12.0 可以访问正在打开的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。

连接Access

  • 下载驱动:链接:http://download.csdn.net/download/endlessseaofcrow/9992374
  • 输入以下代码:

  • using System.Data;
    using System.Data.OleDb;
    //定义连接
    string strConnection = “Provider=MicroSoft.ACE.OLEDB.12.0;”;//采用ACE需要下载engine
    strConnection += @”Data Source=H:\Database\Database1.accdb;Persist Security Info=False”;//输入access的物理路径
    OleDbConnection connection = new OleDbConnection(strConnection);
    //定义SQL命令
    string cmdText=” “;//里面输入SQL命令
    OleDbCommand cmd = new OleDbCommand(cmdText, connection);
    //定义datareader,并把数据读取出来
    connection.Open();
    OleDbDataReader cusReader = cmd.ExecuteReader();
    if (connection.State == ConnectionState.Open)
    {
    MessageBox.Show(“连接成功!”);
    }
    //关闭连接
    cusReader.Close();
    connection.Close();

连接Excel

  • 注意,此处连接的Excel是以数据库的形式连接的,要求Excel的格式必须是最原始的格子,不能有合并单元格之类的特殊格子,否则无法导入。其实读取Excel还有更为灵活的非Excel格式,请查看我的其他博文
  • 下载驱动:链接:http://download.csdn.net/download/endlessseaofcrow/9992374

    using System.Data;
    using System.Data.OleDb;
    //定义连接
    string strConnection = "Provider=MicroSoft.ACE.OLEDB.12.0;";//采用ACE需要下载engine
    strConnection += @"Data Source=H:\Database\Database1.xlxs;Persist Security Info=False";//输入Excel的物理路径
    OleDbConnection connection = new OleDbConnection(strConnection);
    //定义SQL命令
    string cmdText="select * from[sheet1$]";//里面输入SQL命令,选择Sheet1
    OleDbCommand cmd = new OleDbCommand(cmdText, connection);
    //定义datareader,并把数据读取出来
    connection.Open();
    OleDbDataReader cusReader = cmd.ExecuteReader();
    if (connection.State == ConnectionState.Open)
    { 
        MessageBox.Show("连接成功!");
    }
    //关闭连接
    cusReader.Close();
    connection.Close();
    
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4592次
    • 积分:188
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档