Чтение .ini файла Переменные C ++ - PullRequest
0 голосов
/ 09 октября 2018

Привет! Я создал страницу входа в (приложение Windows Forms для Visual Studio Community 2015). Я использую базу данных MYSQL на своем сервере.

Я могу войти на сервер, имея MYSQL login IP;port;username;password жестко запрограммирован в приложении (// строка комментария String ^), в то время как поля формы username и password используются для определения, является ли пользователь accepted путем сопоставления введенных полей с базой данных.таблица User_account.

Итак, теперь я хочу сделать жестко кодированные IP и port переменными в приложении.Я сделал это с помощью .ini класса чтения / записи, который я интегрировал в приложение.enter image description here

Myform1 (см. Рисунки) примет пользовательский ввод Server IP и Port, запишет их в файл .ini и затем прочитает их, когда приложениезапускается с использованием Login button на MyForm.

enter image description here

Однако я продолжаю получать эту ошибку ниже.Я предполагаю, что в моих переменных есть пробелы, или мне нужно как-то их избежать?Или, может быть, есть хитрость чтения файла .ini, о которой я не знаю?

enter image description here

Кажется, я не вижу, что не так, любойпредложения или вклад будут с благодарностью.

Мой код компилируется без ошибок.

CIniReader - это мой класс чтения .ini.

MySql.Data - эталонный файл в проекте VS.

Config.ini содержимое файла:

[ServerSettings]
Ip=111.111.111.111
Port=2222

Code снипп:

   private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {

        CIniReader iniReader(".\\Config.ini");

        char* szIp = iniReader.ReadString("ServerSettings", "Ip", "");

        char* szPort = iniReader.ReadString("ServerSettings", "Port", "");

        //String^ constring = L"datasource=111.111.111.111;port=2222;username=MYSQLnameroot;password=MySQLpassword;SslMode=none";
        String^ constring = (L"datasource=", szIp, L";", L"port=", szPort, L";", L"username=MYSQLnameroot;password=MySQLpassword;SslMode=none");

        MySqlConnection^ conDataBase = gcnew MySqlConnection(constring);

        MySqlCommand^ cmdDataBase = gcnew MySqlCommand("SELECT * FROM Schema1.User_account where Name='" + this->textBox1->Text + "' and Password=MD5('" + this->textBox2->Text + "');", conDataBase);

        MySqlDataReader^ myReader;

Я получил класс .ini от ЗДЕСЬ

...