• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 593
  • Last Modified:

How do I rewrite the following AppSettings vs2003 statement in vs2005?

Hi,
How do I rewrite the following AppSettings vs2003 statement in vs2005?

Dim StrConn As String = ConfigurationSettings.AppSettings.Get("CN1Str")

Thanks
Mc
0
mcain_bba
Asked:
mcain_bba
  • 3
  • 3
  • 2
  • +2
1 Solution
 
Vaxman2Commented:
Add a reference to system.configuration to the project
Add an Imports System.Configuration line
Change the line to:  Dim StrConn As String = ConfigurationManager.AppSettings.Get("CN1Str")


Imports System.Configuration

Module Module1
      Sub Main()
            Dim StrConn As String = ConfigurationManager.AppSettings.Get("CN1Str")
      End Sub
End Module
0
 
newyuppieCommented:
in vb 2005 you can use the MY namespace which is pretty useful

Dim StrConn As String = My.Settings.CN1Str
0
 
strickddCommented:
An easier way to reference the appsettings is:

ConfigurationSettings.AppSettings("CN1Str")

You don't have to use the Get method because it is an indexed array in the AppSettings. You can reference by index or key name.
0
Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

 
mcain_bbaAuthor Commented:
I have tried all three ways.  They each have value, but I must be missing something big, because each gives a different error message.  See below.  I do not think this makes a differance, but this is a vs2003 app that was coverted to vs2005.

Imports System.Data.OracleClient
Imports System.Configuration

Module ModFldDef
    Sub Main()
        Dim StrConn As String = ConfigurationManager.AppSettings.Get("CN1Str")
        'There is a blue line under ConfigurationManager and saids "ConfigurationManager is not declared"
    End Sub

    Dim StrConn As String = My.Settings.CN1Str
    'There is a blue line under My.Settings and saids "Settings is not a member of My"

ConfigurationSettings.AppSettings("CN1Str")
    'There is a blue line udner ConfigurationSettings and saids "Declaration expected"
End Module

Thanks
Mc
0
 
newyuppieCommented:
i was the one who posted
Dim StrConn As String = My.Settings.CN1Str

this certainly is the easiest way to access setting in 2005.

the class My.Settings will be auto generated (much like a tableadapter class) whenever you create new settings in your project. i assume you already went to Project Properties/Settings and created the setting "CN1Str" that you intend to use in your app. if not, create it, save and compile, and you should get the My.Settings namespace.

NY
0
 
strickddCommented:
I thought you would know you have to set this value to a variable, but I guess I should have posted that. so try this:

Dim StrConn As String = System.ConfigurationSettings.AppSettings("CN1Str")

0
 
mcain_bbaAuthor Commented:
Newyuppie,
I do not think My.Settings will work because the data is dynamic.  The value of the string needs to change without recompiling.  I am using App.Config the change the data source to test or production.  


<appSettings>      
<add key="CN1Str" value="user id=ASNUSER;data source=FIRMTEST;password=xxxxx" />
</appSettings>


strickdd,
ConfigurationSettings.AppSettings("CN1Str") Works, but is obsolete in 2005

Thanks
Mc
0
 
newyuppieCommented:
you can use my code to set and get the setting, unless you have set it to Application Scope in which case it will always be ReadOnly. Set it to UserScope and try it. did you try this or just saying?
0
 
Vaxman2Commented:
The trick to get the code:

Sub Main()
        Dim StrConn As String = ConfigurationManager.AppSettings.Get("CN1Str")
        'There is a blue line under ConfigurationManager and saids "ConfigurationManager is not declared"
    End Sub

to work is to specifically add a reference to system.configuration to your references. You can have an import for system.configuration without it, but it can't resolve the call until it has the DLL reference.
0
 
strickddCommented:
I'm sorry, I copied the wrong thing try:

Dim StrConn As String = System.ConfigurationManager.AppSettings("CN1Str")
0
 
Kinger247Commented:
Hi mcain_bba ,

You need to get used to using my.settings if your using 2005 as what newyuppie explained earlier.

So using the following line would do the job, providing you have the property setting in the config file.
And you CAN update this in your application or when deployed via the config file.
dim m StrConn As String = My.Settings.CN1Str
0
 
Kinger247Commented:
I think newyuppie should get the points.
Although all where right (ish), newyuppie's was the precise answer for this question.
0

Featured Post

2018 Annual Membership Survey

Here at Experts Exchange, we strive to give members the best experience. Help us improve the site by taking this survey today! (Bonus: Be entered to win a great tech prize for participating!)

  • 3
  • 3
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now