Доступ к строке подключения к базе данных с помощью app.config в C # winform - PullRequest
19 голосов
/ 12 декабря 2011

Не получается получить доступ к строке подключения к базе данных app.config в моем приложении c # winforms.

код app.config

   <connectionStrings>
      <add name="MyDBConnectionString" providerName="System.Data.SqlClient"
            connectionString="Data Source=localhost;Initial Catalog=MySQLServerDB; Integrated Security=true" />
   </connectionStrings>  

C # код:

SqlConnection conn = new SqlConnection();
conn.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["MyDBConnectionString"];    

Когда я пробую код C #, я получаю сообщение:
Предупреждение 1 'System.Configuration.ConfigurationSettings.AppSettings' устарел: ' Этот метод устарел, он был заменен System.Configuration! System.Configuration.ConfigurationManager.AppSettings '

Однако, когда я пытаюсь использовать:

conn.ConnectionString = System.Configuration!System.Configuration.ConfigurationManager.AppSettings["MyDBConnectionString"];  

Я получаю сообщение об ошибке: Только операторы присваивания, вызова, приращения, уменьшения и нового выражения объекта могут использоваться в качестве оператора

Ответы [ 10 ]

29 голосов
/ 12 декабря 2011

Это все, что вам нужно:

System.Configuration.ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;
8 голосов
/ 12 декабря 2011

Используйте ConfigurationManager вместо ConfigurationSettings. У него есть свойство ConnectionStrings, которое вы должны использовать для строк подключения в разделе connectionStrings:

ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;
6 голосов
/ 12 декабря 2011

Вы используете коллекцию ConnectionStrings, а не AppSettings.

ConfigurationManager.ConnectionStrings["MyDbConnectionString"].ConnectionString;
4 голосов
/ 18 апреля 2013
<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<appSettings>

<add key="ConnectionString" value="Data Source=MY-PC;Initial Catalog=DB2013;User ID=sa;Password=MYSQL123" />

</appSettings>

</configuration>
using System.Configuration;
using System.Data.SqlClient;

namespace OnlineDelete_W2013
{
public partial class CommodityEdit : Form
{
   SqlConnection MyConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);

    public CommodityEdit()
    {
        InitializeComponent();

    }

    private void button1_Click(object sender, EventArgs e)
    {
        try
        {
           MyConnection.Open();
        }
        catch (Exception)
        {

            throw;
        }
4 голосов
/ 07 июня 2012
using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["SQLConnection"].ToString()))
{
....(your code here) ...
}
4 голосов
/ 12 декабря 2011

попробуйте

 ConfigurationManager.ConnectionStrings["MyDbConnectionString"].ConnectionString; 
2 голосов
/ 23 апреля 2013
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager
    .ConnectionStrings["MyDBConnectionString"].ConnectionString;
try
{
    conn.Open();                
}
catch (Exception)
{
    throw;                    
}
1 голос
/ 18 марта 2018

Ответы на использование строки

ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;

верны.

Если появляется сообщение о том, что ConfigurationManager не существует, это потому, что ваш проект не ссылается на System.Configuration .

Чтобы сделать это в .NET Framework, в Solution Explorer , в проекте, где вы хотите использовать эту строку кода, щелкните правой кнопкой мыши в Ссылки , выберите Добавьте ссылку ... , затем выберите Сборки слева и Framework под ней. Выберите System.Configuration в списке и нажмите Ok .

0 голосов
/ 03 января 2019

Об этом:

Я получаю сообщение об ошибке: только операторы присваивания, вызова, приращения, уменьшения и нового объекта могут использоваться как оператор

Я простообъявил переменную вот так и решил проблему:

var strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;
0 голосов
/ 13 октября 2018

Пожалуйста, попробуйте ниже код.это как вы ожидаете:

SqlConnection MyConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);       
...