powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Строка подключения к бд MySQL
13 сообщений из 13, страница 1 из 1
Строка подключения к бд MySQL
    #39421420
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу хранить подключение к БД в самой БД и в случаи если нет подключения открывалась форма с textbox-aми иии уже туда вписывалось подключение и редактировалось в БД строка подключения.... Нооо столкнулся с таким моментом, как можно сформированную строку подключения MyConn использовать в других формах. В С# программирую не давно и так понял что глобальные переменные не очень советуют использовать. Или как можно реализовать подкл по другому, но с учетом того что база может менять место положение и тд и тп.
...
Рейтинг: 0 / 0
Строка подключения к бд MySQL
    #39421438
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamero,

перефразирую ваш вопрос:
я хочу хранить пароль от сейфа в сейфе, чтоб узнать пароль от сейфа, мне нужно открыть сейф, чтоб открыть сейф мне нужен пароль от сейфа.
напоминает сказку про белого бычка. Обычно параметры подключения хранят в UserSettings или ApplicationSettings, для создания ConnectionString лучше всего использовать соотвествующих классы билдеры, а хранить не саму строку подключения, а его параметры, при чем пароль нужно сохранять в зашифрованном виде. Все эти возможности предоставлены из коробочки.
я хз, что такое глобальные переменные в C#, C# объектно ориентированный язык, в нём нет "модулей" как в VB6, в C# существуют статические классы, в которых вполне себе можно хранить то, что вам необхоимо и ни чего плохого в этом нет.
Application.Settings это точно такой же статический класс.
...
Рейтинг: 0 / 0
Строка подключения к бд MySQL
    #39421443
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejteskamero,

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

Все эти возможности предоставлены из коробочки.



Да именно так, а где эта коробочка?
...
Рейтинг: 0 / 0
Строка подключения к бд MySQL
    #39421542
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamero,

app.config
...
Рейтинг: 0 / 0
Строка подключения к бд MySQL
    #39421554
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris,

Эмммм как раз этим занимаюсь только вот не пойму куда он данные сохраняет)

Создал переменную MyConnectionString (String Public Пользователь) и присвоил (12312312). При запуске мне дает ошибку подключения ну как бы все правильно ибо некорректное подключение.

Вот код:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
        public void conToBD()
        {
            try
            {
                string myConnectionString = Properties.Settings.Default.MyConnectionString;
                MySqlConnection myConnection = new MySqlConnection(myConnectionString);
                myConnection.Open();
                myConnection.Close();
                MessageBox.Show("Подключение прошло успешно!");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ошибка: " + ex.Message);
                FormConBD w = new FormConBD();
                w.Show();
            }
        }



Открывается форма FormConBD в которой я указываю правильный MyConnectionString.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
            try
            {
                Properties.Settings.Default.MyConnectionString = "Server="+tbServer.Text+";"+"Database="+tbDatabase.Text+";"+"Uid="+tbUid.Text+";"+"Pwd="+tbPwd.Text+";"+"Charset="+tbCharset.Text+";";             
                string myConnectionString = Properties.Settings.Default.MyConnectionString;
                MySqlConnection myConnection = new MySqlConnection(myConnectionString);
                myConnection.Open();
                myConnection.Close();
                MessageBox.Show("Подключение прошло успешно!");
                Properties.Settings.Default.Save();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ошибка: " + ex.Message);
            }



Ну и сохраняю все это дело в MyConnectionString командой Properties.Settings.Default.Save();

И как бы все норм. При следующем запуске подключение проходит успешно.
Но открыв сам файл где создана переменная там до сихпор те цифорки.

Вопрос как это работает и где же сохранился MyConnectionString
...
Рейтинг: 0 / 0
Строка подключения к бд MySQL
    #39421561
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и в самом app.config то же цифорки
...
Рейтинг: 0 / 0
Строка подключения к бд MySQL
    #39421563
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamero,

гуглить:
app.config Configuration Section
ConfigurationManager.OpenExeConfiguration
SectionInformation.ProtectSection

для каждого компьютера шифрование будет отличаться, то есть зашифрованный файл конфигурации нельзя перенести на другой компьютер, нужно либо при установке, либо при 1 запуске его сконфигурировать, защитить и сохранить.
Либо не использовать шифрование из коробочки ConfigurationManager'а, а использовать RSA шифрование и хранить в base64

https://habrahabr.ru/post/128517/ на хабре про это полно статей

Ищите и обрящите.
...
Рейтинг: 0 / 0
Строка подключения к бд MySQL
    #39421566
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamero,

не путайте app.config и Settings, Settings сохраняет настройки в файле профиле пользователя, а ConfigurationManager в app.config файле, у ConfigurationManager'а свои методы для загрузки и сохранения конфигурационного файла, файл по умолчанию это файл с
<названиепрограммы>.config
...
Рейтинг: 0 / 0
Строка подключения к бд MySQL
    #39421579
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот это где сохраняет значение. И будет ли это нормально работать?
...
Рейтинг: 0 / 0
Строка подключения к бд MySQL
    #39421611
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamero,

c:\Users\<username>\AppData\Local\<companyname>\<programname>\<version>\user.config
где то там
...
Рейтинг: 0 / 0
Строка подключения к бд MySQL
    #39421628
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе поф где сохраняется. Вопрос такой: такой метод будет работать без сбоев? Понятно что после переустановке эти данные улетят но прийти и вбить пользователю настройки не так уж и сложно.
...
Рейтинг: 0 / 0
Строка подключения к бд MySQL
    #39421647
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamero,

такие данные как connectionString или password должен быть защищены, хранить вы их можете где угодно, хоть в собственном файле, по сути Settings это обычная XML сериализация.
Если пароль защищать не нужно, храните в Settings в открытом виде и будет вам счастье
...
Рейтинг: 0 / 0
Строка подключения к бд MySQL
    #39421666
kamero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну зашифровать это понятно, вот сейчас этим займусь. В общем разобрался, спасибо вам большое.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Строка подключения к бд MySQL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]