登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: ADO.NET的数据库访问小结[写得象java,很有意思]     [回主站]     [分站链接]
标题
ADO.NET的数据库访问小结[写得象java,很有意思]
clq
浏览(1) + 2010-08-26 10:05:01 发表 编辑

关键字:

来自 http://www.javaeye.com/topic/66032

clq
2010-8-26 10:10:18 发表 编辑

最近因工作需要,用C#做了些应用,现对ADO.NET的数据库访问作一个小结,以供大家交流学习,迟些时候贴上自己的一些代码。
  ADO.NET的数据访问对象是以下几个:
  1、Connection对象:与数据源建立连接,连接sql server7.0 或更新版本数据库用SqlConnection,连接OLEDB数据源使用OledbConnection.
  2、Command 对象:对数据源执行SQL命令并返回结果,SQL Server7.0或更新版本用SqlCommand,OLE DB数据源使用OledbCommand.
  3、DataReader对象: 读取数据源的数据,只能将数据源的数据从头到尾依次读出,Sql server7.0或以上版本使用SqlDataReader,Oledb数据源使用OledbReader
  4、DataAdapter对象:对数据源执行操作并返回结果,在DataSet与数据源之间建立通信,将数据源中的数据写入DataSet ,或根据DataSet中的数据必定数据源。Sql server7.0或以上版本使用SqlDataAdapter,Oledb 数据源使用OledbAdpater.
  5、DataSet对象:服务器内存中的数据库
  6、DataView对象:用于显示DataSet中的数据

  从数据库中读取纪录的另一种方法是使用Dataset对象和Dataadapter对象.Dataset是ADO.NET的主要组 件之一,它用于缓存从数据源检索到的数据信息。Dataadapter作为Dataset和数据源之间的桥接器,用于检索和保存数据。 Dataadapter从数据库中获取数据后使用Fill方法把数据填充到Dataset中。下面以Sqldataadapter为例说明如何使用 Dataset对象和Dataadapter对象从数据库中读取记录。执行查询的关键步骤如下:
  1、创建与数据库建立连接的Sqlconnection,传递连接字符串。
  2、构造包含查询语句的Sqldataadapter对象;
  3、若要使用查询结果填充Dataset对象,则调用命令Fill方法。


  c#利用ado.net进行数据库开发的基本步骤:
  1、创建和数据库连接的connection 对象。
  2、配置DataAdapter对象并创建和操作数据集DataSet。
  3、将数据库中的表添加到DataSet中。
  4、把数据集DataSet绑定到DataGrid上。利用DataAdapter 的Fill方法把数据填充到DataSet,最终的数据库中的数据显示在用户界面的DataGrid中。


  c#中从数据库查询记录的方法分类:
        一般使用两种方法:
        一种是通过DataReader对象直接访问;另一种则是通过数据集Dataset和Dataadapter对象访问.
  使用ADO.NET的Datareader对象能从数据库中检索数据。检索出来的数据形成一个只读只进的数据流,存储在客户端的网络缓冲区内。 Datareader对象的read方法可以前进到一下条记录。在默认情况下,每执行一次read方法只会在内存中存储一条记录系统的开销非常少。
  创建datareader之前必须先创建sqlcommand对象,然后调用该对象的executereader方法来构造sqldatareader对象,而不是直接使用构造函数。
  下面的示例程序完成的功能是访问sqlserver数据库,并使用datareader从northwind数据中读取记录,并将查询结果通过控制台输出。
  using System;
  using System.Data;
  using System.Data.SqlClient;
  namespace ReadDataFromDB{

  class Class1{

  static void Main(string[] args){
  string myconn="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
  //需要执行的SQL语句
  string mysql="select OrderID,CustomerID from Orders where CustomerID='CHOPS'";
  //打开数据库连接。
    SqlConnection myconnection=new SqlConnection(myconn);
  myconnection.Open();
    //创建SqlCommand 对象
  SqlCommand mycommand=new(mysql,myconnection);
    //通过SqlCommand的ExecuteReader()方法构造DataReader 对象。
  SqlDataReader myreader=mycommand.ExecuteReader();
  while(myreader.read()){
  Console.WriteLine(myreader.GetInt32(0)+","+myreader.GetString(1));

  }
  myreader.Close();
  myconnection.Close();

  }

  }

  }

--------------------------------------------------

关键是后面一个网友的评论:


giscat 写道
用java的思路做.net
用.net的思路做java
都是很不错的
  可以取长补短


对的。
我没有做过Java开发,但是从ajoo的这个帖子
http://www.javaeye.com/topic/13649?page=1
可以知道
.net的IDbConnection就是java的Connection
.net的IDbCommand就是java的Statement
IDbCommand实例由IDbConnection.CreateCommand()得到。
Statement的实例由Connection.createStatement()得到。
...

不同的地方就是.net的内存数据库DataSet,很是强大吧,非常适合快速开发。

clq
2010-8-26 15:07:25 发表 编辑

System.Data.SqlClient 是 sqlserver 专用的,oracle 的是 System.Data.OracleClient.
clq
2010-8-26 15:07:53 发表 编辑

OracleClient 好象不存在呀.

clq
2010-8-26 15:09:08 发表 编辑

OracleClient 需要另外安装.
http://www.cnblogs.com/yxbsmx/articles/1710615.html


总数:4 页次:1/1 首页 尾页  
总数:4 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1