zoukankan      html  css  js  c++  java
  • C#操作Access数据库

    声明:本文内容主要参考了百度文库某位网友的文章,具体地址找不到了,在此对原作者表示感谢!

      对于数据库操作,有简单有复杂。如果不考虑性能和通用性,可以写得很简单。但如果面对的数据库数据量比较庞大,或面对的数据库类型不一,就不得不考虑数据库操作类的性能和通用性,此时的数据库操作就比较复杂。本文是关于Access数据库的C#操作,不打算也没有能力事无巨细地讨论所有关于数据库操作的细节,所以,以下通过一些具体代码来演示对Access的最基本的操作:SELECT、UPDATE、DELETE、INSERT。

      要想操作一个数据库,不论是那种操作,首先要做的肯定是打开数据库。下面我们就针对Access数据库,说明如何打开一个数据库连接。在这里,我们需要用到的是System.Data.OleDb.OleDbConnection类。(如果操作SQL数据库,我们最好使用System.Data.SqlClient.SqlConnection类)

    代码:

    1 using System.Data;
    2 using System.Data.OleDb;
    3 
    4 public OleDbConnection CreatConn()
    5 {
    6   string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:Workspace\Test.accdb";   // 如果是Access 2007以前的版本,则驱动Provider为Provider=Microsoft.Jet.OLEDB.4.0;
    7   OleDbConnection conn = new OleDbConnection(connString);   // 创建数据库链接
    8   return conn;
    9 }

    上例中,我们先定义一个string类型的变量connString用来存放数据库的连接字符串,然后再定义一个System.Data.OleDb.OleDbConnection类型的对象并实例化,最后返回这个对象。需要说明的是,我们并没有把语句conn.Open();放到这个函数中,原因稍后说明,这里只是先提醒一下。

      通过以上函数CreatConn(),我们得到了类似于ADO中的连接对象Connection,下面就是具体的数据库操作了。

      在具体讲操作前,有必要先认识一下下面这两个类:
    System.Data.OleDb.OleDbDataAdapter
    System.Data.OleDb.OleDbDataReader

    • System.Data.OleDb.OleDbDataAdapter 可以直接和DataSet联系,该数据集可用于查询和更新数据源。它的功能相对强大一些,因此也比较耗系统资源
    • System.Data.OleDb.OleDbDataReader 则有些类似于ADO中的那个只读向前的记录集,它最常用在只需要依次读取并显示数据的时候,相比System.Data.OleDb.OleDbDataAdapter来说,他耗用的系统资源要小。其实,OleDbDataReader能实现的功能,OleDbDataAdapter都可以实现,不过从资源使用率的角度考虑我们应该尽量使用前者,但有些功能,却是必须使用OleDbDataAdapter才可以实现的

    1、SELECT操作

  • 相关阅读:
    SpringMVC之五:自定义DispatcherServlet配置及配置额外的 servlets 和 filters
    DTP模型之一:(XA协议之三)MySQL数据库分布式事务XA优缺点与改进方案
    Spring Bean基本管理--bean注入方式汇总
    类装载器ClassLoader
    spring中的BeanFactory与ApplicationContext的作用和区别?
    Spring IoC,IoC原理
    mybatis实战教程(mybatis in action)之九:mybatis 代码生成工具的使用
    session.write类型引发的思考---Mina Session.write流程探索.doc--zhengli
    MyBatis的association示例——MyBatis学习笔记之三
    MyBatis一对多双向关联——MyBatis学习笔记之七
  • 原文地址:https://www.cnblogs.com/avin/p/6801150.html
Copyright © 2011-2022 走看看