关闭

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

标签: 数据库accessexcelC#net
1232人阅读 评论(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
查看评论

C#导入Excel2007数据的连接驱动

xlsx文件:     这是用来连接带Xlsx扩展名的Excel 2007文件。这是不带宏的Office Open XML格式。以下是语法格式: Provider=Microsoft.ACE.OLEDB.12.0;DataSource=c:\myFolder\myExc...
  • SunCherryDream
  • SunCherryDream
  • 2015-05-26 11:10
  • 1242

C# ASP.NET 数据库连接ACCESS2010

连接access2010数据库。 要添加命名空间。,这里旨在前面添加了一个gridview控件,来绑定数据,button控件没有实际的作用。,.accdb数据库放在E盘下。DataBase1数据库中有一个表userinfusing System; using System.Collections....
  • u010454636
  • u010454636
  • 2015-04-13 20:59
  • 1751

Csharp连接Access数据库

Csharp和Access连接的方法写成了一个类,相信会有很多大家可以共用的方法。放在这里分享一下。
  • zhoujunwei321
  • zhoujunwei321
  • 2015-05-11 14:22
  • 2489

jdbc直接连接access或excel

java 连接access数据库 编写连接驱动字符串时特别需要注意的内容。
  • q19334473
  • q19334473
  • 2015-06-28 12:05
  • 535

C#用ado.net访问EXCEL(含EXCEL2010)的常见问题及解决方法

C#用ado.net访问EXCEL的常见问题及解决方法,除了像sql server,access常见的数据库,其实Excel文件也可以做为数据库访问。 ado.net访问excel的实例: OleDbConnection cn = new OleDbConnection(); cn.C...
  • bear_79
  • bear_79
  • 2016-12-15 15:28
  • 609

C#连接带密码的Access数据库!...

//定义连接字符串             String strConn = "Provider=Microsoft.Jet.OLEDB.4.0;"+  &...
  • friendan
  • friendan
  • 2012-03-19 21:41
  • 1399

C# 独占方式打开 Access

最近使用C#连接Access, 总有讨厌的ldb文件. 不喜欢, 如何去掉呢. 看了下独占模式就可以去掉. 网上搜了搜, 都是相互抄一大片... 没有一个能用的. 只好去微软官网上看看了. 原来OleDbConnection中连接字符串中有mode参数 Mode=12 ...
  • dingding3224
  • dingding3224
  • 2015-10-13 14:35
  • 530

C#连接Excel和Access(包括2003和2007版)方法总结

一、说明:        C#采用OLEDBConnection连接Excel、Access。要连接的数据源版本不同,连接字符串也不同。 97-2003版本 EXCEL Provider=Microsoft.Jet.OLEDB.4.0;Data Sou...
  • lucky51222
  • lucky51222
  • 2016-06-08 17:49
  • 2161

vba连接数据 代码 (excel/access/sqlserver)

Sub 创建access连接并查询()     Dim AdoConn As New ADODB.Connection     Dim strConn As String     Dim strSQL As String   &#...
  • kilolo_w
  • kilolo_w
  • 2016-12-02 11:18
  • 670

C#实现Access导入导出Excel

一、Access从Excel中导入数据1.用到的Excel表的格式及内容 实现 OleDbConnection con = new OleDbConnection(); try { OpenFileDial...
  • licl19870605
  • licl19870605
  • 2010-01-27 11:18
  • 13229
    个人资料
    • 访问:8504次
    • 积分:308
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论