A
system and method that facilitate
data access in a
software development environment is provided. The
system generates strongly typed objects (e.g., TableAdapter(s)) that encapsulate raw, untyped
data access logic, for example, via generated wrapped method(s). The
system can group together like
database commands in a common
data access component. For example, the TableAdapter can encapsulate a configured DataAdapter and
expose public method(s) for the “Fill” and “Update” methods normally found on the DataAdapter. The system provides a mapping between
database types and common language runtime data types including the impedance mismatch of null representations. The system includes a data access configuration component (e.g., configuration
wizard) that configures data access component(s) (e.g., TableAdapter(s)). The configured data access component(s) can be employed at design-time to facilitate access to data object(s) (e.g.,
database(s)) by application(s). The user of data access component(s) configured by the data access configuration component can, for example, dramatically improve developer productivity and / or reduce the quantity of runtime errors that are introduced into code. In one example, the data access component is a generated class / type. The data access component can be instanced on
multiple forms components and / or with the developer's own class(es). Thus, change(s) to a query and / or interface can be accomplished within the data access component and be available to the forms components and / or object(s) that utilize the data access component.