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;
}
{
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++中MFC DLL 按条件查询mysql数据并修改
- C++中 MFC DLL如何连接mysql数据库以及按条件查询和时间的比较
- 一个土鳖的时间范围查询条件写法 基于QDateEdit和sqlite的smalldatetime
- Android SQLite 多条件查询或删除
- C# 调用C++/MFC写的dll
- C# 调用 C++ MFC DLL
- 将sqlite3编译成给WINCE使用的DLL,并封装成C++的步骤(使用VS2005)
- 在SQLite Expert上用日期类型字段作为条件查询时注意日期的格式化
- 在vc2008 mfcC++中使用sqlite的示例
- C++使用SQLite3心得 -- sqlite3以二进制形式存取图片(MFC,CppSQLite3U封装类)
- sqlite 条件查询
- C++面向对象编程——条件查询程序
- C++动态链接库DLL-非MFC动态库
- c++ Sqlite 简单使用-查询
- 在VS2015中用C++创建MFC规则动态库DLL
- 在VS2015中用C++创建MFC规则动态库DLL
- C++操作SQLITE获得查询结果集的几种方法总结
- 将sqlite3编译成给WINCE使用的DLL,并封装成C++的步骤(使用VS2005)
- C++中DLL种类:WIN32、MFC、ATL及CLR