PedroAzevedo1234 Ответов: 1

Как создать файл подключения


Я подключаюсь к базе данных с помощью приведенного ниже кода
string connString = @"Data source = test2 ; Database=test1data ; User Id=a ; Password=test1234";
   using (SqlConnection sqlConn = new SqlConnection(connString))
            {
                string sqlQuery = @"SELECT * from Zone";
                SqlCommand cmd = new SqlCommand(sqlQuery, sqlConn);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable table = new DataTable();
                da.Fill(table);
                dataGridView1.DataSource = new BindingSource(table, null);
            }

Но я хотел создать файл для подключения, который можно было бы изменить.

Например:

Я подключаюсь к базе данных, но, изменив этот файл, я подключусь к другой базе данных

Что я уже пробовал:

var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["test"].ConnectionString;
          // ConfigurationManager.ConnectionStrings["testdb"].ConnectionString;
           using (SqlConnection sqlConn = new SqlConnection(connectionString))
           {
               string sqlQuery = @"SELECT * from Zone";
               SqlCommand cmd = new SqlCommand(sqlQuery, sqlConn);
               SqlDataAdapter da = new SqlDataAdapter(cmd);
               DataTable table = new DataTable();
               da.Fill(table);
               dataGridView1.DataSource = new BindingSource(table, null);
           }

И это код, который я попробовал в app. config
<add name="test" connectionString="Data Source=.;Initial Catalog=test1data; User Id=a ; Password=test123" providerName="System.Data.SqlClient" />

Karthik_Mahalingam

так в чем же проблема

1 Ответов

Рейтинг:
2

Graeme_Grant

Это покажет вам, как: Как сохранить и отредактировать строки подключения[^]

Обновление: Вот статья CodeProject, которая покажет вам, как это сделать в коде: Сохранение строк подключения в app. config[^]


PedroAzevedo1234

Это не объясняет

Graeme_Grant

А? В нем есть пошаговые инструкции о том, как это сделать. Вы хотите, чтобы я написал код для вас?

PedroAzevedo1234

Но это не помогает в моей проблеме, когда я запускаю программу, она дает эту ошибку ConfigurationErrorsException: Connectionstrings Unknown configuration section

Dave Kreskowiak

Не видя кода, который вы написали, чтобы получить строку подключения из конфигурационного файла, и содержимого самого конфигурационного файла, практически невозможно сказать вам, что вы сделали неправильно.

Dave Kreskowiak

Неизвестный раздел конфигурации connectionstrings

Если вы действительно так назвали раздел в конфигурационном файле, то вы ошиблись. Это должно быть "connectionStrings", а не"Connectionstrings". ДЕЛО ХАРАКТЕРА ИМЕЕТ ЗНАЧЕНИЕ!

PedroAzevedo1234

Код, который я использую, - это то, что я пробовал

Graeme_Grant

Дэйв и я пытаемся тебе помочь. Еще раз прочтите полезные рекомендации Дейва, а также прочтите и опробуйте пример кода в приведенной выше ссылке на статью.

PedroAzevedo1234

Я только сказал, что код, который я использовал в своей программе, находится на "том, что я пробовал"

Graeme_Grant

Посмотрите, что работает, а затем посмотрите на свой код.

PedroAzevedo1234

Извините, я не вижу, где ошибка в моем коде

Graeme_Grant

Попробуй:

var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["test"];

PedroAzevedo1234

Я использую этот код для подключения, и теперь он говорит ,что "connectionString" не может быть преобразован в строку

using (SqlConnection sqlConn = new SqlConnection(connectionString))
{
строка sqlQuery = @ " SELECT * from Zone";
SqlCommand cmd = new SqlCommand(sqlQuery, sqlConn);
SqlDataAdapter da = новый SqlDataAdapter(cmd);
DataTable table = новый DataTable();
да.Заполнить(табл.);
dataGridView1. DataSource = new BindingSource(table, null);
}

Graeme_Grant

Я протестировал вышеприведенное исправление и работает. Установите точку останова отладки, пройдите через код и проверьте значения перед их выполнением. Немедленное окно также полезно в режиме прерывания для тестирования значений и кода...

PedroAzevedo1234

Можете ли вы написать код, который вы использовали ? Я не вижу, где я терплю неудачу

Graeme_Grant

var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["test"];