Και για τις WinForms εφαρμογές ισχύουν όσα σου είπε ο Σωτήρης. Το ConnectionString είναι plain text και μπορείς να το πάρεις από το configuration αρχείο της εφαρμογής σου, να το προβάλεις σε ένα textbox να κάνεις τις αλλαγές και να το αποθηκεύσεις ξανά. Βέβαια, αυτός ο απλοϊκός τρόπος μπορεί να σου δημιουργήσει προβλήματα αν γίνει κάποιο λάθος στην πληκτρολόγηση.
Πιο σίγουρη μέθοδος είναι να δημιουργήσεις έναν ConnectionStringBuilder με ένα PropertyGrid. Η όλη διαδικασία είναι κάπως έτσι:
using System.Configuration; // Απαραίτητο
SqlConnectionStringBuilder conStrBuilder = new SqlConnectionStringBuilder();
System.Configuration.Configuration config;
config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
conStrBuilder = new SqlConnectionStringBuilder(config.ConnectionStrings.ConnectionStrings["MyApplication.Properties.Settings.MyApplicationConnectionString"].ConnectionString);
this.connPropertyGrid.SelectedObject = this.conStrBuilder;
Αφού καθοριστεί η νέα τιμή του ConnectionString μέσα από το PropertyGrid ακολουθείς την αντίστροφη διαδικασία για να το αποθηκεύσεις:
config.ConnectionStrings.ConnectionStrings["MyApplication.Properties.Settings.MyApplicationrConnectionString"].ConnectionString = conStrBuilder.ConnectionString;
config.Save(ConfigurationSaveMode.Modified);
Για περισσότερες πληροφορίες όσον αφορά την ConnectionStringBuilder Class και το PropertyGrid Control δες εδώ κι εδώ. Τώρα, όσον αφορά το ίδιο το ConnectionString και τις ιδιότητές του ρίξε μια ματιά σ' αυτό το άρθρο. Αυτό που θα βρεις ενδιαφέρον, είναι ότι μπορείς ν' αλλάξεις την τιμή του DataDirectory σε ό,τι θες εσύ. Δε μπαίνω σε συζητήσεις του τύπου "που πρέπει να βρίσκεται η βάση δεδομένων μου". Απλά σου δείχνω τις επιλογές σου.
Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!