2

私はこの app.config を持っています:

<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
  <add name="conexx" connectionString="Data Source=192.168.1.2 ;Initial Catalog   =ifdcontroladoria3 ;uid =sa;pwd = admin2012" providerName="System.Data.SqlClient" />
</connectionStrings>
<startup><supportedRuntime version="v4.0"   sku=".NETFramework,Version=v4.0,Profile=Client"/></startup></configuration>

この C# でこの接続を更新しようとしています:

  coneydstr = @"Data Source=" + comboBox1.Text + ";Initial Catalog =" + cmbBancos.Text + ";uid =" + txtUsuario.Text + ";pwd =" + txtPassword.Text;
        try
         { coneyd.ConnectionString = coneydstr; 
           coneyd.Open(); 
           funciona = true;
           lblStringSalida.Text = coneydstr;
         }
         catch (Exception ex)
        {  MessageBox.Show(coneyd + ex.Message.ToString());  }

        if (funciona)
        { 
          Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
          config.ConnectionStrings.ConnectionStrings["conexx"].ConnectionString = coneydstr;
          config.Save();   
        } 

更新はしていませんが、

 using System.Configuration;

ヘッダーと参照にありますが、何が問題なのですか?????

問題を間違って書きました。接続文字列を app.config または他のファイルのどこかに保存し、別のインストールで文字列を変更するか、サーバーまたはユーザーが変更されたときに変更します。これを行う正しい方法は何ですか?

4

1 に答える 1

5

あなたの問題は、間違ったファイルを見ている可能性が高いです。config.FilePathデバッガーでプロパティを見てください。現在どのファイルを扱っているかが正確にわかります。

このコードを Visual Studio で実行すると、コードによってディレクトリ内の が変更さYourapplication.exe.configれます。プロジェクト ディレクトリ内の は変更されません。project\bin\debugapp.config

コードを実行するとconfig.Save()、プロジェクトの\bin\debugディレクトリとその中の構成ファイルを見てください。これらの値は適切に更新されていますか?

于 2013-07-31T20:41:33.577 に答える