This is small article to provide the information that how you can connect to database from Sharepoint WebPart using ASP.NET web user control.

1. Create a Sharepoint Webpart project as below

sharepoint1.gif

2. In Solution Explorer, double-click the AssemblyInfo file

Add the following line to the top of the file

using System.Security;

Add the following line to the bottom of the file

[assembly: AllowPartiallyTrustedCallers]

3. Add a new ASP.NET web application to the solution

sharepoint2.gif

4. Add new web user control

sharepoint3.gif

5. Add a GridView to the usercontrol and configure it to retrieve the records from Customer table of Adventureworks database

sharepoint4.gif

6. Delete the CodeBehind attribute in the SampleWebUserControl.ascx file
7. Right-click the MyWebPart project, point to Add, and then click New Folder. Name the folder Templates.
8. Right-click the Templates folder, point to Add, and then click New Folder. Name the folder ControlTemplates.
9. Right-click the ControlTemplates folder, point to Add, and then click New Folder. Name the folder WebPart1.

sharepoint5.gif

10. Right-click the SampleWebPart folder, point to Add, and then click Existing Item. Browse to the SampleWebUserControl.ascx file, and then click Add as Link in the drop-down box.

11. In the SampleWebApplication project, open the SampleWebUserControl.ascx file. Replace the existing value of the Inherits attribute with SampleWebPart.SampleWebUserControl, SampleWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5. This allows the code behind to be compiled into the SampleWebApplication.dll.

<%@ Control Language="C#" AutoEventWireup="true" Inherits="SampleWebPart.SampleWebUserControl, SampleWebPart,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5"
%>

12. Update the Webpart1.cs with following

public class WebPart1 : System.Web.UI.WebControls.WebParts.WebPart
{
Control SampleWebUserControl; String err;
public WebPart1()
{
this.ExportMode = WebPartExportMode.All;
}

protected override void Render(HtmlTextWriter writer)
{
try
{
SampleWebUserControl.RenderControl(writer);
}
catch (Exception e)
{
writer.Write(e.Message + " : " + err);
}
}

protected override void CreateChildControls()
{
base.CreateChildControls();
try
{
this.Controls.Clear();
SampleWebUserControl = this.Page.LoadControl("~/_controltemplates/WebPart1/SampleWebUserControl.ascx");
}
catch (Exception e)
{
err = e.Message;
}
}
}

13. Add connection string for your sql server in sharepoint web.config mine at (C:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config)

<connectionStrings>
<
add name="AdventureWorksConnectionString" connectionString="Data Source=.;Initial Catalog=AdventureWorks;Persist Security Info=True;User ID=sa;Password=wintellect"
providerName="System.Data.SqlClient" />
</connectionStrings>


14. Set the Start browser url to a Sharepoint website

sharepoint6.gif

15. Deploy the webpart project

sharepoint7.gif

16. Open the sharepoint site and click the Site Actions - > Site Settings

sharepoint8.gif

17. Select Galleries -> Web Parts

sharepoint9.gif

18. You now see a new entry in Web Part gallery (WebPart1.webpart)

sharepoint10.gif

19. Click on the newly added webpart to see the preview

sharepoint11.gif

20. Now lets edit a page and add your newly added web part to it. Click on the Site Actions-> Edit Page

sharepoint12.gif

21. Click on the Add a Web Part and select Webpart1.webpart from the list

sharepoint13.gif

22. And "Exit edit mode" and you get a final screen that will show the Customer records from Adventure works database in your sharepoint website using webpart that host a Web User Control.

sharepoint14.gif