gpt4 book ai didi

c++ - C++中的数据库访问

转载 作者:行者123 更新时间:2023-11-28 07:17:45 25 4
gpt4 key购买 nike

当我编译这个程序时,

#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <afxdb.h>
#define _AFXDLL

int main(int argc, char *argv[])
{
CString sDsn;
CDatabase db;

sDsn = "ODBC; DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; DSN = ''; DBQ = D:\DATABASE\bible.mdb";
db.Open(NULL, false, false, sDsn);

try
{
CRecordset rs(&db);
CString strOut;
CString strOut2;
CString strOut3;

CString SqlString = "SELECT nom_prophete FROM L_PROPHETE";

rs.Open(CRecordset::snapshot, SqlString, CRecordset::appendOnly);

rs.GetFieldValue((short)0, strOut);
AfxMessageBox(strOut);

// --- petite transformation en string
// --- pour l'affichage sur la console

CT2CA pszConvertedAnsiString(strOut);

std::string strStd(pszConvertedAnsiString);

std::cout << "--" << strStd.c_str() << std::endl;

rs.MoveNext();

// --- petite transformation en string
// --- pour l'affichage sur la console

CT2CA pszConvertedAnsiString2(strOut2);

std::string strStd2(pszConvertedAnsiString2);

std::cout << "--" << strStd2.c_str() << std::endl;

rs.MoveNext();

rs.GetFieldValue((short)0, strOut3);
AfxMessageBox(strOut3);

// -- petite transformation en string
// -- pour l'affichage sur la console

CT2CA pszConvertedAnsiString3(strOut3);

std::string strStd3(pszConvertedAnsiString3);

std::cout << "--" << strStd3.c_str() << std::endl;

rs.Close();
}
catch (CDBException *p)
{
AfxMessageBox(p->m_strError);
}
return 0;
}

它显示了这个错误,

使用/MD[d](CRT dll 版本)构建 MFC 应用程序需要 MFC 共享 dll 版本。请#define _AFXDLL 或不要使用/MD[d] c:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\afx.h 24 1 MA_BIBLE
*/

最佳答案

转到项目设置 -> 配置属性 -> 常规,确保为调试和发布版本设置“在共享 DLL 中使用 MFC”。

此外,如果您在某处包含 windows.h - 删除该行,因为 MFC 项目应仅包含 afxwin.h

关于c++ - C++中的数据库访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19961583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com