Typed DataSets
There is nothing syntactically wrong with this line of code:
Dim dt As System.Data.DataTable = ds.Tables("Custumers")
However, “Custumers” is misspelled. If it were the name
of a variable, property, or method, it would cause a compile-time
error (assuming the declaration were not similarly misspelled).
However, because the compiler has no way of knowing that the DataSet
ds
will not hold a table called
Custumers
, this
typographical error will go unnoticed until
runtime. If this code path is not common, the error may go unnoticed
for a long time, perhaps until after the software is delivered and
running on thousands of client machines. It would be better to catch
such errors at compile time.
Microsoft has provided a tool for creating customized DataSet-derived classes. Such classes expose additional properties based on the specific schema of the data that an object of this class is expected to hold. Data access is done through these additional properties rather than through the generic Item properties. Because the additional properties are declared and typed, the Visual Basic .NET compiler can perform compile-time checking to ensure that they are used correctly. Because the class is derived from the DataSet class, an object of this class can do everything that a regular DataSet object can do, and it can be used in any context in which a DataSet object is expected.
Consider again Example 8-1, shown earlier in this chapter. This fragment of code displays the names of ...
Get Programming Visual Basic .NET now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.