解決:エラー1 error C 2440:「初期化」:「char*」から「ATL::CStringT」に変換できない
2296 ワード
接続データベースをテストする関数で、データ型変換のようなエラーが発生しました.
関数のソースコードは次のとおりです.
関数のエラー1 error C 2440:「初期化」:「char*」から もあります.エラー4 error C 2664:「sendto」:パラメータ2を「CString」から「const char*」 に変換できません.エラー5 error C 2664:「CWnd::SetDlgItemTextW」:パラメータ2を「const char[4]から「LPCTSTR」 に変換できません.9 IntelliSense:「const char*」タイプの実参加「LPCTSTR」タイプのパラメータは と互換性がありません.7 IntelliSense:「char*」から は存在しない.
問題のソース:unicode文字の問題.2013プロジェクトのデフォルトはワイド文字バージョンです
解決策:メニュー項目->プロパティ(プロパティ・ページを開く)->プロパティの構成->一般->文字セット・シートの前に選択したのは「Unicode文字セットの使用」で、「マルチバイト文字セットの使用」に変更します.
変更が完了したら確定します.
関数のソースコードは次のとおりです.
void CStudentScoreDlg::OnClickedButton1()
{
// TODO:
MYSQL m_sqlCon;
mysql_init(&m_sqlCon);
// localhost: root/xxx managesystemdb 3306
if (!mysql_real_connect(&m_sqlCon, "localhost", "root", "xxx", "managesystemdb", 3306, NULL, 0))
{
AfxMessageBox(_T(" !"));
CString e = mysql_error(&m_sqlCon);// “ ” “ ”
MessageBox(e);
return;
}
else
{
AfxMessageBox(_T(" !"));
mysql_query(&m_sqlCon, "SET NAMES 'GB2312'");//
}
}
関数の
CString e = mysql_error(&m_sqlCon);
行は次のエラーを報告します.“ATL::CStringT
に変換できません.また、いくつかのエラー"ATL::CStringT>>"
に変換する適切な構造関数問題のソース:unicode文字の問題.2013プロジェクトのデフォルトはワイド文字バージョンです
解決策:メニュー項目->プロパティ(プロパティ・ページを開く)->プロパティの構成->一般->文字セット・シートの前に選択したのは「Unicode文字セットの使用」で、「マルチバイト文字セットの使用」に変更します.
変更が完了したら確定します.