Charlotte Foust
cfoust at infostatsystems.com
Fri Dec 4 10:10:23 CST 2009
OK, then I don't understand the question. What do you mean about the settings "area" of the project? Charlotte Foust -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Friday, December 04, 2009 5:56 AM To: Discussion concerning Visual Basic and related programming issues. Subject: Re: [dba-VB] Application settings Charlotte, My question really is how do I get at the settings area of the project, and why would I not use that instead of this xml thing of yours? At least in this specific case, I am writing code for myself, not distribution. John W. Colby www.ColbyConsulting.com Charlotte Foust wrote: > Create an xml file called UserSettings (or whatever) and store each value in a node in that. Then all you have to do is read them back when you need them. We use several of these, one called OLEDBSettings.xml that looks like this: > > <?xml version="1.0" standalone="yes" ?> > - <NewDataSet> > - <connection> > <dbtype>0</dbtype> > <provider>Microsoft.Jet.OLEDB.4.0</provider> > <datasource>C:\Documents and Settings\All Users\Application Data\Infostat\RIMDrill\5\RIMDrillData.mdb</datasource> > <userid>RIMUser</userid> > <password /> > <initialcatalog /> > <trusted>false</trusted> > </connection> > - <connection> > <dbtype>1</dbtype> > <provider>sqloledb</provider> > <datasource>infoserver</datasource> > <userid /> > <password /> > <initialcatalog>RIMDrillDataSQL</initialcatalog> > <trusted>true</trusted> > </connection> > </NewDataSet> > > We actually have a file like this for each application and it lives in the application folder. This is just to give you an idea, not a how to. We have a class that wraps this in our apps and uses this kind of routine to read it. I leave it up to you to translate to C#. > > Shared ds As DataSet > Shared _connectionString As String > > Shared _xmlPath As String = "OLEDBSettings.xml" 'default to xml file in apppath > > Private Shared Sub ReadSettingsFile() > If IO.File.Exists(_xmlPath) Then > Call CreateSchema() > ds.ReadXml(_xmlPath) > Call DecryptPassword() > _connectionString = GetConnectionString() > Else > If ds.Tables(0).Rows.Count = 0 Then > 'placeholder for jet settings > Dim row As DataRow = ds.Tables(0).NewRow > row("dbtype") = 0 > row("provider") = "Microsoft.Jet.OLEDB.4.0" > ds.Tables(0).Rows.Add(row) > > 'placeholder for sql settings > row = ds.Tables(0).NewRow > row("dbtype") = 1 > row("provider") = "sqloledb" > ds.Tables(0).Rows.Add(row) > End If > End If > End Sub > > Private Shared Sub CreateSchema() > ds = New DataSet > Dim table As New DataTable("connection") > table.Columns.Add("dbtype", GetType(Integer)) > table.Columns.Add("provider", GetType(String)) > table.Columns.Add("datasource", GetType(String)) > table.Columns.Add("userid", GetType(String)) > table.Columns.Add("password", GetType(String)) > table.Columns.Add("initialcatalog", GetType(String)) > table.Columns.Add("trusted", GetType(Boolean)) > table.PrimaryKey = New DataColumn() {table.Columns("dbtype")} > > ds.Tables.Add(table) > End Sub > > Charlotte > > > -----Original Message----- > From: dba-vb-bounces at databaseadvisors.com > [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of jwcolby > Sent: Thursday, December 03, 2009 3:39 PM > To: VBA > Subject: [dba-VB] Application settings > > I want to create application settings for things like the server instance that the program will bang on, the name of my database that I save my custom UDFs and SPs in etc. It is trivial to get there in the interface but Google is not my friend tonight in discovering how to access / modify them through code. > > Anybody? > > -- > John W. Colby > www.ColbyConsulting.com > _______________________________________________