How-To Add an Ado.Net Data Source to Excel and SQL Server | Visual Studio
This part 2 of a three part tutorial. Part 1 created the Excel Application in Visual Studio and created the database table that I will use for the Data Source and CRUD Operations. In Part 3, I will create a Ribbon and add code to load and update (Insert, Update, Delete) data from Excel to SQL Server.
Create and configure a Data Source
Creating a Data Source for the Excel client is very easy with Visual Studio 2008.
Data -> Show Data Sources
Data Sources panel appears. Click New Data Source
Select Database Object
Select an existing Connection or Create New Connection.
If you don’t have a connection to the database where you created the table go ahead and create one.
Right-click on “Data Connections”. From the context menu click “Add Connection”.
In the “Add Connection” wizard enter the name of your server. Example “MyDevLaptop” for the server. You need to add the name of your server exactly as you created when you created the SQL Server Express or networked SQL Server.
Leave the Authentication at “Windows Authentication” unless you really need to use a SQL User. Finally enter the name of the database where the table that you created is stored. In my database, it is SRM (Software Requirement Management).
Click OK to close the wizard and allow Visual Studio to create the connection.
Name the Typed DataSet “ExcelDS” and click “Ok” to let the Wixard create the Data Source.
That’s it for the DataSource. Next II am going to add the DataSource to the Excel file (client) .
Actually adding the DataSet to the Excel Application is very easy. First you need to open either Sheet1.cs, Sheet2.cs or Sheet3.cs by double-clicking in the corresponding file in the Solution Explorer.
From Data Source window select the new Data Source "ExcelDS" and click drop down arrow next to data source and select “ListObject” from the choices.
Drag and drop datasource unto cell “A1” of ether of the open sheets. the Columns will be automatically created to match the “ProjectIdentification” table in the data source.
DataSet, TableAdapter, AdapterManager and BindingSource objects created automatically and are displayed just below the open Excel Worksheet.
Next I am going to add some additional CRUD operations to the default methods that are created by the wizard. Open the DataSet “ExcelDS” by double clicking on the file. The DataSet will open in the DataSet Designer.
The Data Source wizard created the DataTable and TableAdapter for you. This process also added two methods to the TableAdapter. By default its Fill and GetData(). Select the TableAdapter and if you look in the Properties window you should see that you have a SelectCommand and an InsertCommand already defined. You will also want to define an UpdateCommand and a DeleteCommand commands.
To do so, click on the UpdateCommand drop down arrow and select “New”.This will create an empty UpdateCommand. Now expand the UpdateCommand node. Select the CommandText property and click on the “ellipsis” button to bring up the Query Builder.
UPDATE ProjectIdentification SET ProjectNumber =@ProjectNumber, ProjectName =@ProjectName, ProjectIntroduction =@ProjectIntro
DELETE FROM ProjectIdentification WHERE (ProjectNumber = @ProjectNumber)
You will do the same process for the DeleteCommand as with the UpdateCommand. In the Query Builder you will add this query to delete a project from the table:
This completes the Data Source part of this tutorial. Next will Part 3
More by this Author
(c) klanguedoc 2010. iOS SQLite Database is a tutorial that demonstrates how to create an iOS iPhone and iPad applications with a SQLite database.
This Storyboard Connections tutorial provides insight on how to create connection in a Storyboard, set delegates, add code to interact with the different objects. It is designed for new programmers or at least...
Learn to create PDF documents using the APIs in the iOS UIKit. Use the UIGraphicsBeginPDFContextToFile and the UIGraphicsBeginPDFContextToData to quickly create and save PDF files with this sample iOS iPhone app.
No comments yet.