[VB.NET] Modificare valori app.config da form

giovedì 22 maggio 2008 - 14.37

actarus1981 Profilo | Junior Member

Ciao a tutti,
avrei la necessità di modificare i valori contenuti nel file app.config direttamente da form, inserendo delle textbox. Come posso fare? il mio file ha questo contenuto:

<configuration> <appSettings> <add key="BoxBackupDir" value="c:\bb\backup\" /> <add key="BoxAggDir" value="c:\bb\comm\" /> </appSettings> </configuration>

Grazie

Fabio

assiolle Profilo | Junior Member

Utilizza il namespace MY.

My.Settings che ti espone una proprietà per ogni impostazione di configurazione, sia a livello di applicazione che a livello utente.
Per salvare My.Settings.Save()

Alessio
http://blogs.dotnethell.it/alessiop

actarus1981 Profilo | Junior Member

Non riesco a capire come integrare la tua soluzione, potresti darmi un esempio riferito al mio app.config file?

actarus1981 Profilo | Junior Member

Non riesco a capire come integrare la tua soluzione, potresti darmi un esempio riferito al mio app.config file?

Grazie

assiolle Profilo | Junior Member

Le mie indicazioni erano valide se utilizzavi il file Settings.settings.

Per leggere dal file App.config puoi utilizzare il namespace System.Configuration.
Per esempio per assegnare il valore al TextBox, devi scrivere :

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


Alessio
http://blogs.dotnethell.it/alessiop

actarus1981 Profilo | Junior Member

Si, ma io devo modificare i valori nel file app.config

Comunque ho risolto, ho creato una classe apposita sia per leggere che per modificare il file app.config (aggiunta, modifica o eliminazione di impostazioni)

Grazie comunque

Fabio

assiolle Profilo | Junior Member

Se hai risolto bene.

Cmq utilizzando il namespace System.Configuration puoi anche salvare.
Alessio
http://blogs.dotnethell.it/alessiop

Mau67 Profilo | Expert

Ciao Scusa interessa anche a me modificare la stringa di connessione che si trova nel file.config.

volevo modificarla con una stringa inserita in un textbox, siccome non sono molto pratico ti dispiacerebbe passarmi il codice che ai usato tu?

sai sono alle prime armi ciao e grazie in anticipo.
Mau67

actarus1981 Profilo | Junior Member

>Ciao Scusa interessa anche a me modificare la stringa di connessione
>che si trova nel file.config.
>
>volevo modificarla con una stringa inserita in un textbox, siccome
>non sono molto pratico ti dispiacerebbe passarmi il codice che
>ai usato tu?
>

Ecco il codice della classe per l'accesso e la modifica al file app.config

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

>sai sono alle prime armi ciao e grazie in anticipo.
>Mau67

Prego.

Fabio

Mau67 Profilo | Expert

ok grazie per il codice, immagino devo inserirlo in una classe! ma come faccio a collegarlo a un form con all'interno un textbox dove scrivo il percorso della stringa di connessione e salvare il tutto?

Scusa ma non sono pratico ti chiedo un pò di pazienza grazie.

ciao
Mau67

actarus1981 Profilo | Junior Member

>ok grazie per il codice, immagino devo inserirlo in una classe!
Esatto, devi creare la classe ConSettings

>ma come faccio a collegarlo a un form con all'interno un textbox
>dove scrivo il percorso della stringa di connessione e salvare
>il tutto?
io ho inserito alcune textBox in una form, e tramite un tasto "Aggiorna" effettuo l'aggiornamento. In pratica all'evento onClick del bottone, richiami il metodo ConSettings.WriteSetting(key,value) dove key è il "nome" del parametro che devi modificare, e value il valore da attribuirgli. Attenzione, il metodo WriteSetting se non trova un parametro lo crea, quindi attenzione a non sbagliare i nomi.


>
>Scusa ma non sono pratico ti chiedo un pò di pazienza grazie.
>
>ciao
>Mau67

Prego

Fabio

Mau67 Profilo | Expert

Scusami ancora ti inserisco il mio app.config perche non riesco a modificare la stringa di connessione mi dai una mano? grazie

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="TRATECO.My.MySettings.TabelleConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Programmi\TRATECO\Tabelle.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.diagnostics>
<sources>
<!-- Questa sezione definisce la configurazione di registrazione per My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Per scrivere nel log eventi dell'applicazione, rimuovere il commento dalla sezione sottostante -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
<!-- Per scrivere nel log eventi dell'applicazione, rimuovere il commento dalla sezione sottostante e sostituire APPLICATION_NAME con il nome dell'applicazione -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
</configuration>


Praticamente voglio solo modificare la seguente stringa (C:\Programmi\TRATECO\Tabelle.mdf) che si trova nel mio app.config che ti ho copiato sopra:

add name="TRATECO.My.MySettings.TabelleConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Programmi\TRATECO\Tabelle.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

Quindi non so cosa scrivere al posto di (Key) ne al posto di (value) mi dai una mano grazie.


Mau67

Mau67 Profilo | Expert

Qualcuno sa darmi la soluzione al mio problema sopraesposto grazie

è urgente e importante

Grazie 1000
Mau67
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5