代码改变世界

Ado.net 第二集

2007-11-18 01:12  Animax!  阅读(226)  评论(0编辑  收藏  举报
DataSet 

    需要在数据库中处理数据,除了使用DataReader以外还有另外一个方式 . 就是使用DataSet.
DataSet 是一个很强大的东西.

    

DataSet 里面可以包含若干个DataTable DataRelation .
DataTable 里面包含了一个完整的表视图. DataRelation 则包含对DataTable的关系描述.

 
把数据库的数据载入DataSet 需要使用到SqlDataAdapter .


        string SQLStr =” SELECT A,B,C FROM Table ”; // SQL 查询语句
        DataSet Ds = new DataSet();  
        SqlDataAdapter SqlDA 
= new SqlDataAdapter(SQLStr, /*打开了的数据库连接:SqlConnection*/);
        SqlDA.Fill(Ds);
SqlDataAdapter 有几个比较重要的属性
  • DeleteCommand :向数据库删除一行数据的SQL语句
  • InsertCommand :向数据库插入一行数据的SQL语句
  • SelectCommand :查询数据库记录的SQL语句
  • UpdateCommand: 更新数据库记录的SQL语句
在实例化
SqlDataAdapter SqlDA
那里赋值的SQLStr 便是直接复制到 SelectCommand 中.

注意: SelectCommand 的SQL语句是在SqlDA.Fill(Ds);这句那里才执行.

当执行了Fill函数后. 那查询语句的结果就存入了DateSet 中的 DataTable.
DataSet 是不和数据库连接的完全独立存在的, SqlDataAdapter 的存在就是用于DataSet 和数据库之间连接的 .

DataSet的数据表就是存储在属性Tables下.
在DataSet中提取DataTable 方式 :
DataSet.Tables[/*数据表的索引*/]
又或者用
DataSet.Tables[/*数据表的表名*/]

如果想要使用表名来获取数据表 , 则需要在Fill时输入表的名字

SqlDA.Fill(Ds,”Name”);
 
DataTable
DataTable基本是由 DataColumn 和 DataRow 组成.

DataColumn 就是表的列.
DataRow 就是表的行.

在 DataTable 中还有一个 Constraints . 用于维护表的约束.

构建DataTable简单示例:
Code

读取表值方法, 是在表 行集合里读取:
dt.Rows[/*行号*/][/*列号*/]
//
dt.Rows[/*行号*/][/*列名*/]

DataTable 还有和强大的函数 : Select 函数
这个函数能直接使用Where子句过滤表的信息. 得到的结果为DataRow[].

.