A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 骆崇飞 中级黑马   /  2012-4-12 22:54  /  2119 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

忘记在哪个地方看过一篇关于写SqlConnection,SqlCommand,SqlDataReader....这些对象之间的关系的文章,现在找不到了,有谁能详述一下?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

倒序浏览
用SqlConnection连接SQL Server
  1加入命名空间
  using System.Data.SqlClient;
      2.连接数据库
  SqlConnection myConnection = new SqlConnection("数据库连接字符串");//用Using 不用也行
       myConnection.Open();//打开数据库
    3创建Command对象
    string SQLstring="查询语句";
    SqlCommand myCommand = new SqlCommand(myConnection,SQLstring);也应该用using
      SqlDataAdapter da = new SqlDataAdapter(myCommand );
      DataSet ds = new DataSet();
      da.Fill(ds);
      ......后面操作略
这就是前面几者的关系

回复 使用道具 举报
转遍详细的:
ADO.NET的内置对象
ADO.NET(ActiveX Data Objects)是一组包括在.NET框架中的类库,用于在.NET应用程序和数据存储之间的通信。ADO.NET的对象模型有:Connection对象、Command对象、DataReader对象、DataAdapter对象、DataSet对象、DataTable对象和DataView对象。

一.Connection对象
Connection对象主要是开启应用程序与数据库之间的连接,对于不同的数据源需要使用不同的类建立连接。
Connection对象的属性:
     1.ConnectionString属性,用于获取或设置用于打开数据库的字符串。
     2.ConnectionTimeout属性,用于获取在尝试建立数据库连接到终止尝试并生成错误之前所等待的时间。属性值为等待连接打开的时间,以秒为单位,默认值为15秒。
     3.Database属性,用于获取当前数据库或连接打开后要使用的数据库名称。
     4.DataSource属性,用于获取要连接的数据库实例的名称。
Connection对象的方法:
    1.Open;2.Close;3.ChangeDatabase

二、Command对象
    Command对象主要可以用来对数据库发出一些命令。Command对象是架构在Connection对象上的,所以Command对象是通过连接到数据源的Connection对象来下达命令的。
Command对象的属性:
1.CommandText属性,用于获取或设置需要对数据源执行的SQL语句或存储过程。
2.CommandTimeout属性,获取或设置在终止执行命令的尝试并生成错误之前的等待时间。默认值为30秒。
3.CommandType属性,用于获取或设置一个值,该值指示如何解释CommandText属性。如果将CommandType属性设置为StoreProceduce,则应将CommandText属性设置为存储过程的名称。
Command对象的方法:
    1.ExecuteNonQuery方法,该方法用于对连接执行SQL语句并返回受影响的行数。该方法执行UPDATA,INSERT,DELATE语句更改数据库中的数据,只返回执行命令所影响到表的行数。
    2.ExecuteScalar方法,执行查询,返回结果集中的第一行,第一列,其他的行和列将被忽略,因此该方法主要是从数据库中检索单个值,多用于聚合函数,如SUM(),COUNT();
    3.ExecuteReader方法,返回多行结果查询数据。

三、DataReader对象
DataReader对象可以用来表示数据库查询结果。在创建Command对象实例后,调用Command对象的ExecuteReader()方法来检索数据,并使用一个DataReader对象来接受返回的数据行。
   DataReader对象方法:
      1.Read方法,可以判断DataReader对象所表示的查询结果是否包含数据行记录。该方法用于把行标从当前行移动到下一行,读取下一行记录。如果存在多个行,则返回值为true,否则为false。
      2.GetValue方法,该方法一般用于获取当前行的所有属性列,可以根据应用需要来设置数组大小;如果需要保存所有的数据,可以利用DataReader.FieldCount属性获得需要的数组容量。
      3.Close方法。


四、DataAdapter对象
    DataAdapter对象相当于DataSet和数据存储之间的桥梁。在连接SQL Server数据库时,使用SqlDataAdapter及与它相关的SqlConnection和SqlCommand对象来提高应用程序的整体性能;DataAdapter对象通过其Fill方法将数据添加到DataSet中。在对数据完成添加、更新、删除操作后在调用Update方法来更新数据源。
    DataAdapter对象有4个主要属性:SelectCommand、InsertCommand、UpdateCommand、DeleteCommand。

五、DataSet对象
    ADO.NET数据访问技术的突出优点是支持离线访问,即访问数据时,不需要在应用程序和数据库之间保持已打开的数据源连接。DataSet对象是实现离线访问技术的核心。ADO.NET从数据库中检索到数据并完成数据抽取后,DataSet就是数据的存放地,它是各种数据源中的数据在计算机内存中映射成的缓存,可以说Dataset就是一个数据容器。DataSet中的数据完全采用XML格式,使得跨平台成为可能。
    DataSet对象的应用:
     1.应用DataAdapter对象填充DataSet
       利用DataAdapter对象填充DataSet的过程分为两步:首先通过DataAdapter对象的SelectCommand属性从数据库中检索出所需的数据,然后在通过DataAdapter的Fill方法把检索到得数据填充到DataSet对象中。
     2.应用DataAdapter对象操作DataSet实现数据库的更新
      
六、DataTable对象
DataTable对象用于表示内存中的数据表,可以独立的创建和使用,也可以由其他对象创建和使用。通常情况下,DataTable对象都作为DataSet对象的成员存在,可以通过DataSet对象的Tables属性来访问DataSet对象中的DataTable对象。
DataTable包含DataColumn对象、DataRow对象和创建表之间父子关系的DataRelation对象。

七、DataView对象
DataView可以创建DataTable中所存储的数据的视图。与关系数据库提供的视图相似,DataView提供了数据的动态视图,可以实现对表中数据的筛选、排序等功能。
    DataView对象的属性:
       1.Sort,用于对DataView所表示的数据进行排序。
       2.RowFilter,用于对DataView所表示的数据行进行过滤。
       3.RowStateFilter,用于对DataView所表示的数据行依照状态进行排序。

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马