C# Datagrid connection string futás közbeni módosítása

Az alapfelállás az, hogy a Visual Studió 2008-ban jó kis adatbázis szerkesztő van arra, hogy könnyen (viszonylag) és gyorsan (eléggé) állítsunk össze adatkezelő alkalmazást varázslóval. Sajnos a connection stringet meg kell adnunk, amit bedrótoz az alkalmazásba.Hogyan éehet azt menet közben megváltoztatni, ha egyébként különböző adatbázisoknak ugyanaz a szerkezete? (Fejlesztő, Teszt, éles1, Éles2, stb...)

A titok nyitja az, hogy a C# objetumokként kezeli az XML fájlokat is és menet közben lehet beléjük írni.

A feltétel az, hgy egy formot nyitunk és abban a kapcsolati satringet futás közben át kell írni. Az alábbi leírás egy fél nap keresésének és próbálgatásának az eredménye.

  • Létrehozzuk a Formot és a Dataset objektumot a VS2008 varázslóival. A Dataset objektum létrehozásako a Connection String nevének az AlkalmazasConnStr nevet adjuk.
  • Az applikációNév/Reference jobb egérgomb => Add Reference  (Referencia hozzáadása) Hozzáadjuk a System.Configuration referenciát.
  • Utána lehet használni a módosítást a Form konstruktorában (mint a példában) vagy a Form_Load eseménykezelőjében.
  • A kód utolsó utasítása arra utasítja a rendszert, hogy az alkalmazáskonfigot olvassa újra.
using System;
using System.Configuration;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Alkalmazas{
  public partial class Urlap : Form
  {
    public Configuration config;
    public Urlap(String connStr)
    {
      InitializeComponent();
      //Az adatbázis kapcsolati string menet közben változzon
      Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
      config.ConnectionStrings.ConnectionStrings["Alkalmazas.Properties.Settings.AlkalmazasConnStr"].ConnectionString = connStr;            
      config.Save(ConfigurationSaveMode.Modified, true);
      ConfigurationManager.RefreshSection(config.ConnectionStrings.SectionInformation.Name);                 
    }
  }
}

 

Valid XHTML 1.0 Transitional Valid CSS file Link firefox.hu pagerank

Design: © 2007-2011 Fábián Zoltán