不允许使用非托管 class 的句柄

a handle to a non-managed class is not allowed

我正在尝试在 C++ windows 表单和 mysql 数据库之间建立连接, 但它向我显示了这个错误。

a handle to a non-managed class is not allowed

        #pragma endregion
        private: System::Void MyForm_Load(System::Object^  sender, System::EventArgs^  e) {
            std::string^ constring =L "datasource=localhost;port=**;username=root;password=**";
            MySqlConnection^ conDataBase=gcnew MySqlConnection(constring);
            MySqlCommand^ cmdDataBase=gcnew MySqlCommand("",conDataBase);
        }
    };
}

std::string 是来自 C++ 标准库的字符串 class。您不能将它与 ^ 一起使用(即作为托管 class)。

改为使用 .NET 字符串 class:

System::String^ constring = L"datasource=localhost;port=**;username=root;password=**";