I built a dataset using the wizzard and added a connection in there.
I now want to use a connection string which is defined in my web config instead of whats set in the dataset.
I have the following code (i’ve taken a lot of stuff out you don’t need to see)
Partial Public Class downloaditems
Inherits System.Web.UI.PagePrivate dtmboFeed As dsmbo.mboFeedDataTable Private tamboFeed As New dsmboTableAdapters.mboFeedTableAdapter Private itemCount As Integer = 0 Private changedItem As Boolean = False Private headSource As String Private footSource As String Private sideSource As String Private lastHead As String Private lastFoot As String Private lastSide As String Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load feedChecks() If changedItem = True Then If itemCount = "3" Then savetodatabase(headSource, footSource, sideSource) End If End If End Sub Private Sub checkSite(ByVal URL As String, ByVal Type As String) Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(URL) request.UserAgent = ".NET Framework Test Client" Dim response As System.Net.HttpWebResponse = request.GetResponse() Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream()) Dim sourcecode As String = sr.ReadToEnd() Dim compareHead As Integer Dim compareFoot As Integer Dim compareSide As Integer Select Case Type Case "headSource" headSource = sourcecode compareHead = String.Compare(headSource, lastHead) Case "footSource" footSource = sourcecode compareFoot = String.Compare(footSource, lastFoot) Case "sideSource" sideSource = sourcecode compareSide = String.Compare(sideSource, lastSide) End Select If Not compareHead = "0" Then changedItem = True End If If Not compareFoot = "0" Then changedItem = True End If If Not compareSide = "0" Then changedItem = True End If itemCount = itemCount + 1 End Sub Private Sub feedChecks() Dim lastImport As DateTime dtmboFeed = New dsmbo.mboFeedDataTable dtmboFeed = tamboFeed.GetCode() For Each rFeed As dsmbo.mboFeedRow In dtmboFeed lastImport = rFeed.LastImport lastHead = rFeed.HeaderCode lastFoot = rFeed.FooterCode lastSide = rFeed.SideCode Next If lastImport > System.DateTime.Now.AddDays(1) Then checkSite("http://www.xxx.me/sss/header.html", "headSource") checkSite("http://www.xxx.me/sss/footer.html", "footSource") checkSite("http://www.xxx.me/sss/sidenav.html", "sideSource") Else Exit Sub End If End Sub Private Sub savetodatabase(ByVal HeaderCode As String, ByVal FooterCode As String, ByVal SideCode As String) dtmboFeed = tamboFeed.GetData() Dim rFeed As dsmbo.mboFeedRow rFeed = dtmboFeed.NewmboFeedRow rFeed.HeaderCode = HeaderCode rFeed.FooterCode = FooterCode rFeed.SideCode = SideCode rFeed.LastImport = System.DateTime.Now rFeed.Verified = "True" dtmboFeed.AddmboFeedRow(rFeed) tamboFeed.Update(dtmboFeed) lblCode.Text = lblCode.Text & "All downloaded" End Sub End Class
EDIT:
Heres my updated code below as requested. I’m getting an error saying
Error 53 Value of type 'String' cannot be converted to 'System.Data.SqlClient.SqlConnection'.
Code:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim constring As String
constring = ConfigurationManager.ConnectionStrings("ConnectString").ToString()
tamboFeed.Connection = constring
feedChecks()
If changedItem = True Then
If itemCount = "3" Then
savetodatabase(headSource, footSource, sideSource)
End If
End If
End Sub
You can get the connection string as
Now first go to your DataSet Design View, Select the table,right click on tableAdapter and Change it’s Connection modifier to Public ( see below picture ), now you can access adapter connection property in the codebehind.
See the below picture for changing access modifier.
Picture Reference: Link
Updated answer:
The problem is that you have placed you connection string in the AppSettings section in the webconfig, add your connection string to ConnectionString Section. See below code