VB.NET处理数据行实用经验总结

开发 后端
VB.NET处理数据行的相关操作对于初学者来说,在一开始可能比较困难。但是一旦掌握了这一应用技巧,就可以帮助我们大大提高编程效率。

对于编程人员来说,运用VB.NET能给他们带来好处是不言而喻的。那么它的哪些优点能将编程人员的眼光吸引过去呢?我们今天就可以通过对VB.NET处理数据行的一些相关操作方法的认识,来体验这一语言给我们带来的好处。

Windows窗体中的数据绑定列表框和组合框很节省时间。典型的代码如下(假定已经建立了SqlDataAdapter或者其它部件获取数据):

 

  1. Dim ds As New DataSet()  
  2. SqlDataAdapter1.Fill(ds,
     "Customers")  
  3. ListBox1.DataSource = 
    ds.Tables("Customers")  
  4. ListBox1.DisplayMember = 
    "CompanyName" 
  5. ListBox1.ValueMember = 
    "CustomerID"  

 


在这种情况下,VB.NET处理数据行的代码使用Northwind数据库的顾客记录工作。DisplayMember属性设置为你希望用户在列表框中看到的记录字段,它是customers表的CompanyName.通常ValueMember属性设置为数据表中的一个键字段,对于customer来说是CustomerID.一旦用户选择了列表框中的一行,很容易使用列表框的SelectedValue属性获得键字段:

 

  1. MsgBox(ListBox1.SelectedValue) 

但是有可能需要一个与被选择项相关的整个数据行对象的引用。例如,如果被选择的行需要被删除,就不知道键了。你需要一个数据行的引用以使用Delete方法。

典型的Visual Basic开发者通常这样想:"我已经得到了该行的键了,我将编写一些逻辑来查找使用该键的行".这样可以实现,但是有更好的实现方法。可以使用一行代码获取与列表框中选项关联的数据行:

 

  1. Dim dr As DataRow = 
    CType(ListBox1.SelectedItem, 
    DataRowView)。Row 

 

通常该逻辑不会凭直觉出现,即使对经验丰富的开发者。为了解释这是怎样实现的,我把上面的一行拆成几行,下面的VB.NET处理数据行代码与上面代码的功能相同:

 

  1. Dim drv As DataRowView  
  2. drv = CType(ListBox1.
    SelectedItem, DataRowView)  
  3. Dim dr As DataRow  
  4. dr = drv.Row  

 

DataRowView类是数据行的包装,它被多个Windows窗体控件使用。它使得显示与控件中的数据行相关的数据更加容易。当列表框被数据绑定到数据表时(假定列表框中的有些行当前被选定了),列表框的SelectedItem属性保存了一个DataRowView对象。#t#

这意味着我们能把列表框的SelectedItem属性转换到DataRowView对象,这就是上面代码中的第二行实现的。接着DataRowView暴露一个Row属性,它指向被包装的数据行。上面的代码声明了一个数据行并设置了Row属性。

转换对象的类型以访问它的接口的技术在Visual Basic 6.0中不是经常使用,但是在Visual Basic .NET中这是经常的。有了上面的例子后,大多数有经验的开发者迅速跟上了这种技术。

数据行的引用(dr)可用于用任何方式维护行。访问数据行中的任何特定字段是可行的。行中的数据可以被改变,能使数据行的Delete方法把该行标识为删除,或者从数据表的行集合中删除该行。下面的代码标识删除了一行:

 

  1. dr.Delete() 

使用主键(由ListBox.SelectedValue返回)查找下层数据行的方法需要很多代码,要花很长时间,执行起来更慢。对于刚开始使用Visual Basic .NET的程序员来说花几个小时编码是很正常的。理解上面的VB.NET处理数据行技术节约了很多时间,更简单、容易维护代码。

责任编辑:曹凯 来源: wewill.cn
相关推荐

2010-01-18 16:49:36

VB.NET基本数据类

2009-10-15 13:06:12

VB.NET Shar

2010-01-21 14:49:44

VB.NET操作Wor

2009-10-15 17:57:33

VB.NET List

2009-10-14 09:29:43

VB.NET加密

2009-10-16 18:01:06

VB.NET调用Win

2010-01-12 16:44:53

VB.NET数组

2010-01-14 11:09:35

VB.NET文本框

2010-01-14 16:14:15

VB.NET界面设计

2009-10-16 13:30:51

VB.NET水晶报表控

2010-01-20 15:01:26

VB.NET组件显示时

2010-01-15 18:50:25

VB.NET资源文件

2009-10-26 14:18:46

2010-01-14 19:09:02

VB.NET动态标题

2010-01-08 14:27:28

VB.NET属性生成器

2009-10-26 13:46:31

VB.NET注册表权限

2009-10-26 16:01:03

VB.NET正则表达式

2010-01-14 15:15:22

VB.NET数据行处理

2010-01-12 16:39:26

VB.NET数据绑定

2009-10-13 17:08:10

CLR VB.NET
点赞
收藏

51CTO技术栈公众号