博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET C# 访问Access、Xml等数据库
阅读量:6657 次
发布时间:2019-06-25

本文共 3474 字,大约阅读时间需要 11 分钟。

  

  1. 简介
    1. 目前主流的数据库是SQL2008 SQL2012了等等,从一开始我们接触的也是这些RDMS数据库管理系统,似乎认为AccessSQL2000等已经没有什么用处,其实,它们用处也非常大。
    2. 比如Access比较轻便、易用,如果你的系统需用不了太多的表以及表之间的关系,或者说数据库表结构设计不是特别复杂,你可以试试用Access数据库。
  1. Office 集成了Access
    1. 这个数据库并不需要我们安装,它集成在了Office 里,我们都知道只要是电脑一般都安装了微软的Office办公软件,如果再给客户部署系统时,就可以不需要安装大的数据库管理软件,会很方便的安装。
  1. 连接例子
    1. 下面是C#连接Access数据库文件的代码,采用了三层结构,其实,很简单只需要引入System.Data.OleDb命名空间即可,其余的地方同连接SQL Server数据库一样。
    1. 代码
      1. //DAL层using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using Entity;using System.Data.OleDb;namespace DAL{    public class ProductDAO    {        //调用D层的方法        public DataTable QueryProductByCa(CagetoryEntity enCagetory)        {            string SQL = "SELECT * FROM Product WHERE CagetoryID=@CaID";            //查询参数            OleDbParameter[] parms =            {                 new OleDbParameter("@CaID", enCagetory.ID)            };            return new SQLHelper().ExecuteQuery(SQL, parms, CommandType.Text);        }    }}//SQL层using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.OleDb;using System.Data.SqlClient;using System.Configuration;using System.Configuration.Assemblies;namespace DAL{    public class SQLHelper    {        private OleDbCommand cmd = null;        private OleDbConnection con = null;        private OleDbDataReader sdr = null;        #region 构造方法        ///           /// 构造函数        ///           public SQLHelper()        {   //连接字符串,从配置文件获取            string strConn = ConfigurationManager.ConnectionStrings["mydb"].ConnectionString;            con = new OleDbConnection(strConn);        }        #endregion        #region 获得数据库连接        ///           /// 获得数据库连接          ///           private OleDbConnection GetCnn()        {            if (con.State == ConnectionState.Closed)            {                con.Open();            }            return con;        }        #endregion        #region 执行带参数的查询命令        ///           /// 执行带参数的查询命令          ///           /// Sql语句或存储过程          /// 参数集合          /// 命令类型          public DataTable ExecuteQuery(string cmmText, OleDbParameter[] para, CommandType cmmType)        {            DataTable dt = new DataTable();            cmd = new OleDbCommand(cmmText, GetCnn());            cmd.CommandType = cmmType;            cmd.Parameters.AddRange(para);            using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))            {                dt.Load(sdr);                return dt;            }        }        #endregion    }}
        配置文件连接字符串
      2. 说明
      3. App_Data文件,从vs2005版以后是自动加入的一个数据库文件夹,默认在这个文件夹下面的文件对于用户是只读的,当程序发布之后,不可以下载里面的东西,起到保护数据作用。
  1. 设计模式(抽象工厂)
    1. 在连接数据库我们可以利用抽象工厂模式结局更换数据库的问题,不需要过多的修改源码,如果一点也不改也是不现实的,修改也是相对的,尽可能把修改的范围、大小降低到最小即可。
    2. 工厂模式可以把连接数据库的D层换了,我们可以把分别连接SQLAccess数据库的类,编译成DLL文件,当我们再需要换数据库时,只需要在Web.config配置文件里面改变连接字符串。
    3. 连接不通的数据库,它们的本质类都在System.Data命名空间下。System.Data 命名空间提供对表示 ADO.NET 结构的类的访问。
      1. ADO.NET中核心是DataSet类,还有其它一些类、接口,实现对该类的辅助操作,不通的数据源都实现了同一个父抽象类,它们都有一个每个数据提供程序都有相应的 DataAdapter,可用作数据源和 DataSet 之间的桥梁。
      2. 例如:通过使用 System.Data.SqlClient 命名空间(用于 SQL Server 的 .NET Framework 数据提供程序)、System.Data.Odbc 命名空间(用 ODBC 的 .NET Framework 数据提供程序)、System.Data.OleDb 命名空间(用于 OLE DB 的 .NET Framework 数据提供程序)或 System.Data.OracleClient 命名空间(用于 Oracle 的 .NET Framework 数据提供程序),可以访问数据源从而用于 DataSet。
  1. 另外,我们还可以利用XMLExcel等等,保存数据,它们都有自己的优点,需要根据需要进行选择。

 

转载于:https://www.cnblogs.com/lilongsheng1125/archive/2013/04/12/4978595.html

你可能感兴趣的文章
keepalived 自生存活监测
查看>>
python paramiko模块讲解
查看>>
端口聚合配置
查看>>
各大门户网站全局CSS样式定义
查看>>
《Linux菜鸟入门2》mail服务
查看>>
Python字节码是什么?
查看>>
监控易Linux Agent 安装说明
查看>>
RedHat/CentOS 7如何更改网卡名为eth0 eth1......
查看>>
Zabbix2.4安装部署、编码及翻译不准确解决方案
查看>>
PowerQuery实战:数据转置的综合应用
查看>>
VSD
查看>>
LNMP之PHP安装操作步骤
查看>>
一份每位Java工程师都要学习的【Spring Boot深入实践.pxf】资料
查看>>
mysql6.5主从库同步
查看>>
Python字符串的方法,查找和替换
查看>>
Mysql DOS: 进入Mysql运行文目录 F:\mysql-8.0.13-winx64\bin
查看>>
phpcms 整合 discuz!
查看>>
中小型企业网络构建之路由的简单配置
查看>>
Create an inbound email action
查看>>
课程测试用图
查看>>