您的位置:首页 > 编程语言 > C语言/C++

C++中MFC DLL 按条件查询SQLite

2017-11-17 11:47 267 查看
extern "C" int PASCAL EXPORT read(int AccName)

{

    AFX_MANAGE_STATE(AfxGetStaticModuleState());

    sqlite3 * db = NULL; // 声明sqlite 关键结构指针

    int result;//定义接收打开文件返回结果是否成功的变量

    char** dbResult;

    char ** errmsg = NULL;//定义执行SQL语句错误提示接收变量

    int flag=100;

    result = sqlite3_open("c:\\kdj.db", &db );//打开sqlite3数据库文件,如果文件不存在,则会创建这个sqlite3数据库文件

    if( result != SQLITE_OK )//判断数据库是否开打或创建成功,如果成功result==0

    {

        return flag;

    }

    CTime m_time;;

    CTime datetime=CTime::GetCurrentTime();                                                                              

    CString nowDate=datetime.Format("%Y-%m-%d");

    string TradeTimes=CT2A(nowDate.GetBuffer());

    string AccNames=to_string(AccName);

    int nrow = 0, ncolumn = 0;

    string sql ="select flag from kdjother where accname='" + AccNames + "' and times='" + TradeTimes + "'";

    result =sqlite3_get_table( db , sql.c_str() , &dbResult , &nrow , &ncolumn , errmsg );

    if( result != SQLITE_OK )//判断数据库是否开打或创建成功,如果成功result==0

    {

        return flag;

    }

    CStringW content;

    for(int i=0 ; i<( nrow + 1 ) * ncolumn ; i++ )

    {

        content=CStringW(dbResult [i]);

        if(content=="false"){

            flag=2;

        }else if(content=="true"){

            flag=1;

        }

    }

    

    sqlite3_close( db );

    return flag;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ DLL mfc SQLite