How to: Populate documents with data from a database
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
You can access data in document-level projects for Microsoft Office in the same way that you access data in Windows Forms projects. You use the same tools and code to bring the data from a database into your solution, and you can use Windows Forms controls to display the data.
In addition, you can display data by using host controls. Host controls are native objects in Microsoft Office Word that have been enhanced with events and data binding capability. For more information, see Host items and host controls overview.
Applies to: The information in this topic applies to document-level projects for Word. For more information, see Features available by Office application and project type.
The following example shows how to add data-bound controls in document-level projects using a designer. For an example of how to add data-bound controls in VSTO Add-in projects at run time, see Walkthrough: Simple data binding in VSTO Add-in project.
For a related video demonstration, see Bind data to Word 2007 content controls Using Visual Studio Tools for the Office system (3.0).
Add a control to a document at design time
To populate a document with data from a database
Open a Word document-level project in Visual Studio, with the document open in the designer.
Open the Data Sources window and create a data source from a database. For more information, see Add new connections.
Drag the field you want from the Data Sources window to your document.
A content control is added to the document. The type of content control depends on the data type of the field you selected. For more information, see Content controls.
You can add a different control by selecting the data field in the Data Sources window and then choosing a different control from the drop-down list.
Objects in the project
In addition to the control, the following data-related objects are automatically added to your project:
A typed dataset that encapsulates the data tables that you connected to in the database. For more information, see Dataset tools in Visual Studio.
A BindingSource that connects the control to the typed dataset. For more information, see BindingSource component overview.
A TableAdapter that connects the typed dataset to the database. For more information, see Create and configure TableAdapters.
A TableAdapterManager, which is used to coordinate table adapters in the dataset to enable hierarchical updates. For more information, see Hierarchical update and TableAdapterManager reference.
When you run the project, the control displays the first record in the data source. You can use the BindingSource to enable users to scroll through the records.
To scroll through the records
- Use BindingSource methods such as MoveNext and MovePrevious.
For information about how to send updates to the typed dataset and the database, see How to: Update a data source with data from a host control.
See also
- Bind data to controls in Office solutions
- Add new data sources
- Bind Windows Forms controls to data in Visual Studio
- How to: Populate documents with data from objects
- How to: Update a data source with data from a host control
- Use local database files in Office solutions overview
- BindingSource component overview