可以根据DataTable类来定义数据表中的列,而表中的数据是用DataRow对象来访问的。
实例82:使用DataRow对象
下面通过一个具体的实例来说明使用DataRow对象的过程。本实例代码保存在“光盘:\daima\17”文件夹内,项目名为DataRowchuli。实例的功能是将数据库数据建立一个树。实例文件DataRowchuli.cs的主要代码如下:
上述实例文件的实现流程如下。
1)定义连接参数source,实现和指定数据库northwind的连接。
2)定义查询语句参数select查询库内Customer表的信息。
3)定义SqlDataAdapter类对象mm,用于选择DataSet中的数据。
4)定义DataSet对象nn,使用Fill()方法对表的数据进行处理。
5)使用DataRow的索引器访问各数据行上的值。指定列的值可用几个重载的索引器来检索,这样就可以通过已知的列号、列名或DataColum来检索数据的值。
执行后将输出显示各对应同行元素的值,如图17-15所示。
(www.xing528.com)
图17-15 输出显示各对应同行元素的值
多学一招
在使用过程中,DataRow可以接收某一行上指定列的各个值,各版本(Version)的具体说明如表17-5所示。
表17-5 DataRow各取值说明
如果从DataRow索引器中检索某个版本的值,应使用索引器方法,把DataRowVersion值作为一个参数。例如,下面的代码通过foreach语句获得了DataTable中每一列的所有值:
整个数据行的状态标志RowState可以确定在返回数据库时需要对该行进行什么操作。RowState标志跟踪对DataTable所做的所有改变,例如添加行、删除行和改变表中的列。当数据与数据库保持一致时,行的状态标志用于确定应执行什么SQL操作。这些标志由DataRowState枚举定义,各DataRowState枚举值的具体说明如表17-6所示。
表17-6 DataRowState枚举值
在C#中,可以使用索引器来修改DataRow中的数据。但如果对数据进行了许多修改,就需要考虑使用BeginEdit()方法和EndEdit()方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。