Victor_M
@Victor_M
Системный аналитик

Как в C# подключиться к MySQL внутри класса?

Хочу убрать всё взаимодействие с БД MySQL внутрь класса.
Код
MySqlConnectionStringBuilder mysqlCSB = new MySqlConnectionStringBuilder();
        mysqlCSB.Server = "sql11.freemysqlhosting.net";  // IP адоес БД
        mysqlCSB.Database = "sql11164497";    // Имя БД
        mysqlCSB.UserID = "sql11164497";        // Имя пользователя БД
        mysqlCSB.Password = "MESQgkhntn";   // Пароль пользователя БД
        mysqlCSB.CharacterSet = "utf8"; // Кодировка Базы Данных

при вставке его в основную форму работает нормально.
Если пытаюсь перенести его в файл класса (добавив и в классе директиву "using MySql.Data.MySqlClient;"), то выдаются ошибки:
Ошибка CS0103 Имя "mysqlCSB.Server" не существует в текущем контексте.
Ошибка CS1519 Недопустимый токен "=" в объявлении класса, структуры или члена интерфейса
и куча ещё аналогичных ошибок...

Что я делаю не так?

Update: пока код класса:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;

namespace Безопасность_жизнедеятельности
{
    class Class1
    {
        MySqlConnectionStringBuilder mysqlCSB = new MySqlConnectionStringBuilder();
        mysqlCSB.Server = "sql11.freemysqlhosting.net";  // IP адоес БД
        mysqlCSB.Database = "sql11164497";    // Имя БД
        mysqlCSB.UserID = "sql11164497";        // Имя пользователя БД
        mysqlCSB.Password = "MESQgkhntn";   // Пароль пользователя БД
        mysqlCSB.CharacterSet = "utf8"; // Кодировка Базы Данных

        //string myConnectionString = "Database=;Data Source= ;User Id= ;Password = ";
        MySqlConnection myConnection = new MySqlConnection(mysqlCSB.ConnectionString);
            try
            {
        myConnection.Open(); // Открываем соединение
            // --- код запроса и т.п. --- //
            MessageBox.Show("Подключение прошло успешно!");
            myConnection.Close(); // Закрываем соединение

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка");
            }
}
}
  • Вопрос задан
  • 895 просмотров
Решения вопроса 1
GavriKos
@GavriKos
Нельзя вот так просто взять. и обернуть код в класс. Нужно еще методы сделать. Собственно все кроме MySqlConnectionStringBuilder mysqlCSB = new MySqlConnectionStringBuilder(); должно быть в методе.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы