Visual Studio 2005 中的 TableAdapter
jiels - by - 06 六月, 2006 03:38
Me.EmployeesTableAdapter.FillByCountryAndCity ( _
Me.NorthwindDataSet.Employees, Me.CountryListbox.SelectedValue.Trim(),
_ Me.CityTextbox.Text.Trim() )
Me.NorthwindDataSet.Employees, Me.CountryListbox.SelectedValue.Trim(),
_ Me.CityTextbox.Text.Trim() )
举一个简单的代码片断示例会有助于解释这些特性。在 Visual Studio 2002/2003 中,即使使用了类型化 DataSet,执行一个带有两个参数的简单查询也需要不少的代码。对于下列查询
SELECT FirstName, LastName from Employees WHERE Country = @country AND City = @city
我们必须按以下方式编写代码:
Me.SqlAdapter1.SelectCommand.Parameters ("@country").value =
Me.CountryListbox.SelectedValue.Trim()
Me.SqlAdapter1.SelectCommand.Parameters ("@city").value =
Me.CityTextbox.Text.Trim()
Me.SqlAdapter1.Fill (Me.NorthwindDataSet.Employees)
毫无疑问,随着参数数量的增长,代码行数也将不断增加。但更重要的是,正确地记忆和输入所有参数名的机率却大大降低了。即使准确记住了参数名,也仍然需要记住参数的数据类型。这还不是最糟糕的情况,如果错误地输入了字段名或者为值赋了错误的类型,那么很可能到运行时才会察觉。
如果使用 Visual Studio 2005 中的 TableAdapter,一旦定义了命令 FillByCountryAndCity,在任何地方使用它时只需编写一行代码,将其以参数值形式传递即可:
Me.EmployeesTableAdapter.FillByCountryAndCity ( _
Me.NorthwindDataSet.Employees, Me.CountryListbox.SelectedValue.Trim(),
_ Me.CityTextbox.Text.Trim() )