目录
1.程序介绍
程序开发初衷就是为了方便对选择题类型的考试进行练习。程序支持导入单选题和多选题,并且独创加入错题统计功能,方便重点练习。
2.开发工具介绍
火山软件开发平台是一种目的硬件设备无关、目的软件环境无关、易学易用实用、完全本地化的软件快速开发平台。
火山平台采用独创的“语言之上的语言”(LOL)技术,成功屏蔽了火山程序对特定目标环境的依赖。用户只需要学习掌握火山程序语言,就可以针对各种目的环境进行软件开发。同时由于火山程序编译器所编译出来的是目标语言的源代码,因此能够最大限度地提升火山程序员与第三方的合作和资源共享效率, 以及所开发火山程序被社会的认可程度。
3.项目结构
4.项目演示
5.程序下载
6.程序代码
//数据库连接类.h
#ifndef __VCLS_RG_HUOSHAN_GONGJU_RG_TIKULEI_H__
#define __VCLS_RG_HUOSHAN_GONGJU_RG_TIKULEI_H__
namespace rg_HuoShan_GongJu
{
class rg_TiKuLei : public CVolObject
{
DECLARE_VOL_CLASS (rg_HuoShan_GongJu, rg_TiKuLei)
public:
BOOL rg_ChuShiHua (CVolString& rg_SuoZaiLuJing);
INT rg_FangFa_CuoTiJiLuShu ();
rg_HuoShan_LeiXing::rg_TiMuLei rg_FangFa_TongGuoYouBiaoWeiZhiQuTiMu (INT rg_YouBiao1);
BOOL rg_FangFa_ShanChuSuoYouTiMu ();
INT rg_FangFa_HuoQuJiLuShu ();
BOOL rg_FangFa_ShanChuTiMu (CVolString& rg_BianHao);
BOOL rg_FangFa_ShiFouChuShiHuaChengGong ();
CVolObjectArray rg_FangFa_HuoQuSuoYouTiMu ();
BOOL rg_FangFa_QingKongSuoYouCuoTi ();
rg_HuoShan_LeiXing::rg_TiMuLei rg_FangFa_TongGuoSuoYinHuoQuCuoTi (INT rg_SuoYin);
CVolObjectArray rg_FangFa_HuoQuSuoYouCuoTi ();
BOOL rg_FangFa_JiLuCuoTi (rg_HuoShan_LeiXing::rg_TiMuLei& rg_TiMu12);
CVolObjectArray rg_FangFa_SuiJiHuoQuZhiDingShuMuDeTiMu (INT rg_TiMuShu);
BOOL rg_FangFa_TianJiaTiMu (rg_HuoShan_LeiXing::rg_TiMuLei& rg_TiMu14);
void rg_ShiFang1 ();
rg_TiKuLei ();
virtual void LoadFromStream (CVolBaseInputStream& stream) override;
virtual void SaveIntoStream (CVolBaseOutputStream& stream) override;
public:
static CVolString rg_ShuJuKuWenJianLuJing;
INT rg_ShuJuKuJiLuShu;
INT rg_CuoTiJiLuShu;
protected:
void rg_TiKuLei_Lei_ChuShiHua ();
protected:
rg_HuoShan_ShiChuang_SQLiteShuJuKu::rg_SQLiteShuJuKuLei rg_ShuJuKu1;
BOOL rg_ShiFouChuShiHua;
};
}
#endif //__VCLS_RG_HUOSHAN_GONGJU_RG_TIKULEI_H__
// 数据库连接类CPP
namespace rg_HuoShan_GongJu
{
rg_TiKuLei::rg_TiKuLei ()
{
rg_ShiFouChuShiHua = FALSE;
rg_ShuJuKuJiLuShu = 0;
rg_CuoTiJiLuShu = 0;
rg_TiKuLei_Lei_ChuShiHua ();
}
BOOL rg_TiKuLei::_IsSelfEqual (const rg_TiKuLei& objCompare) const
{
if (rg_ShuJuKu1 != objCompare.rg_ShuJuKu1) return FALSE;
if (rg_ShiFouChuShiHua != objCompare.rg_ShiFouChuShiHua) return FALSE;
if (rg_ShuJuKuJiLuShu != objCompare.rg_ShuJuKuJiLuShu) return FALSE;
if (rg_CuoTiJiLuShu != objCompare.rg_CuoTiJiLuShu) return FALSE;
return TRUE;
}
void rg_TiKuLei::_CopySelfFrom (const rg_TiKuLei& objCopyFrom)
{
rg_ShuJuKu1 = objCopyFrom.rg_ShuJuKu1;
rg_ShiFouChuShiHua = objCopyFrom.rg_ShiFouChuShiHua;
rg_ShuJuKuJiLuShu = objCopyFrom.rg_ShuJuKuJiLuShu;
rg_CuoTiJiLuShu = objCopyFrom.rg_CuoTiJiLuShu;
}
void rg_TiKuLei::LoadFromStream (CVolBaseInputStream& stream)
{
if (stream.IsFoundError ()) return;
BaseClass::LoadFromStream (stream);
rg_ShuJuKu1.LoadFromStream (stream);
stream.ReadExact (&rg_ShiFouChuShiHua, sizeof (BOOL));
stream.ReadExact (&rg_ShuJuKuJiLuShu, sizeof (INT));
stream.ReadExact (&rg_CuoTiJiLuShu, sizeof (INT));
}
void rg_TiKuLei::SaveIntoStream (CVolBaseOutputStream& stream)
{
if (stream.IsFoundError ()) return;
BaseClass::SaveIntoStream (stream);
rg_ShuJuKu1.SaveIntoStream (stream);
stream.write (&rg_ShiFouChuShiHua, sizeof (BOOL));
stream.write (&rg_ShuJuKuJiLuShu, sizeof (INT));
stream.write (&rg_CuoTiJiLuShu, sizeof (INT));
}
void rg_TiKuLei::rg_TiKuLei_Lei_ChuShiHua ()
{
sqlite3_initialize();
}
BOOL rg_TiKuLei::rg_ChuShiHua (CVolString& rg_SuoZaiLuJing)
{
_VOL_THIS.rg_ShiFouChuShiHua = _VOL_THIS.rg_ShuJuKu1.rg_DaKai7 (rg_SuoZaiLuJing, SQLITE_OPEN_READWRITE, _NULL_VOL_OBJECT (CVolString));
if (_VOL_THIS.rg_ShiFouChuShiHua)
{
_VOL_THIS.rg_ShuJuKuJiLuShu = rg_FangFa_HuoQuJiLuShu ();
_VOL_THIS.rg_CuoTiJiLuShu = rg_FangFa_CuoTiJiLuShu ();
}
return (_VOL_THIS.rg_ShiFouChuShiHua);
}
INT rg_TiKuLei::rg_FangFa_CuoTiJiLuShu ()
{
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_ZiDuanMingChenJiGe;
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_JieGuoJiGe;
rg_ShuJuKu1.rg_QuBiaoNeiRong (_CT ("select count(*) from collections"), rg_ZiDuanMingChenJiGe, rg_JieGuoJiGe, _NULL_VOL_OBJECT (CVolString));
if ((INT)rg_JieGuoJiGe.data ().GetCount () != 1)
{
return (0);
}
else
{
}
return (_ttoi (CVolString (rg_JieGuoJiGe.data ().GetAt (0)).GetText ()));
}
rg_HuoShan_LeiXing::rg_TiMuLei rg_TiKuLei::rg_FangFa_TongGuoYouBiaoWeiZhiQuTiMu (INT rg_YouBiao1)
{
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_ZiDuanMingChenJiGe1;
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_JieGuoJiGe1;
_VOL_THIS.rg_ShuJuKu1.rg_QuBiaoNeiRong (_CT ("SELECT * FROM datas WHERE id =") + CVolString (rg_YouBiao1), rg_ZiDuanMingChenJiGe1, rg_JieGuoJiGe1, _NULL_VOL_OBJECT (CVolString));
rg_HuoShan_LeiXing::rg_TiMuLei rg_TiMu10;
rg_HuoShan_ShiChuang_WangLao::rg_WangLaoFangWenLei rg_WangLao;
if (rg_HuoShan_JiBen::rg_SuanShuYunSuanLei::rg_QiuYuShu ((INT)rg_JieGuoJiGe1.data ().GetCount (), 10) != 0 || (INT)rg_JieGuoJiGe1.data ().GetCount () < 8)
{
return (rg_TiMu10);
}
else
{
rg_TiMu10.rg_BiaoJi = _ttoi (CVolString (rg_JieGuoJiGe1.data ().GetAt (0)).GetText ());
rg_TiMu10.rg_TiHao = _ttoi (CVolString (rg_JieGuoJiGe1.data ().GetAt (1)).GetText ());
rg_TiMu10.rg_LeiXing = CVolString (rg_JieGuoJiGe1.data ().GetAt (2));
rg_TiMu10.rg_TiMu7 = rg_WangLao.rg_URLJieMa1 (CVolString (rg_JieGuoJiGe1.data ().GetAt (3)), TRUE);
rg_TiMu10.rg_XuanZeA = rg_WangLao.rg_URLJieMa1 (CVolString (rg_JieGuoJiGe1.data ().GetAt (4)), TRUE);
rg_TiMu10.rg_XuanZeB = rg_WangLao.rg_URLJieMa1 (CVolString (rg_JieGuoJiGe1.data ().GetAt (5)), TRUE);
rg_TiMu10.rg_XuanZeC = rg_WangLao.rg_URLJieMa1 (CVolString (rg_JieGuoJiGe1.data ().GetAt (6)), TRUE);
rg_TiMu10.rg_XuanZeD = rg_WangLao.rg_URLJieMa1 (CVolString (rg_JieGuoJiGe1.data ().GetAt (7)), TRUE);
rg_TiMu10.rg_DaAn = rg_WangLao.rg_URLJieMa1 (CVolString (rg_JieGuoJiGe1.data ().GetAt (8)), TRUE);
rg_TiMu10.rg_NanDu = _ttoi (CVolString (rg_JieGuoJiGe1.data ().GetAt (9)).GetText ());
return (rg_TiMu10);
}
}
BOOL rg_TiKuLei::rg_FangFa_ShanChuSuoYouTiMu ()
{
CVolString rg_sqlYuGou_QingKongBiao;
CVolString rg_sqlYuGou_ZhiZiZengZiDuanChuShiZhiWei;
CVolString rg_CuoWuWenBen;
rg_sqlYuGou_QingKongBiao = _T ("DELETE FROM datas");
rg_sqlYuGou_ZhiZiZengZiDuanChuShiZhiWei = _T ("UPDATE sqlite_sequence SET seq=0 WHERE name = 'datas'");
if (_VOL_THIS.rg_ShuJuKu1.rg_ZhiHangSQLYuGou (rg_sqlYuGou_QingKongBiao, rg_CuoWuWenBen) != SQLITE_OK)
{
_DEBUG_STATMENT (DebugTrace (FALSE, 0, 0, _T ("S"), rg_CuoWuWenBen.GetText ()));
return (FALSE);
}
if (_VOL_THIS.rg_ShuJuKu1.rg_ZhiHangSQLYuGou (rg_sqlYuGou_ZhiZiZengZiDuanChuShiZhiWei, rg_CuoWuWenBen) != SQLITE_OK)
{
_DEBUG_STATMENT (DebugTrace (FALSE, 0, 0, _T ("S"), rg_CuoWuWenBen.GetText ()));
return (FALSE);
}
return (TRUE);
}
INT rg_TiKuLei::rg_FangFa_HuoQuJiLuShu ()
{
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_ZiDuanMingChenJiGe2;
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_JieGuoJiGe2;
rg_ShuJuKu1.rg_QuBiaoNeiRong (_CT ("select count(*) from datas"), rg_ZiDuanMingChenJiGe2, rg_JieGuoJiGe2, _NULL_VOL_OBJECT (CVolString));
if ((INT)rg_JieGuoJiGe2.data ().GetCount () != 1)
{
return (0);
}
else
{
return (_ttoi (CVolString (rg_JieGuoJiGe2.data ().GetAt (0)).GetText ()));
}
}
BOOL rg_TiKuLei::rg_FangFa_ShanChuTiMu (CVolString& rg_BianHao)
{
CVolString rg_sqlYuGou;
rg_sqlYuGou = _CT ("DELETE FROM datas WHERE id=") + rg_BianHao;
return (_VOL_THIS.rg_ShuJuKu1.rg_ZhiHangSQLYuGou (rg_sqlYuGou, _NULL_VOL_OBJECT (CVolString)) == 0);
}
BOOL rg_TiKuLei::rg_FangFa_ShiFouChuShiHuaChengGong ()
{
return (_VOL_THIS.rg_ShiFouChuShiHua);
}
CVolObjectArray rg_TiKuLei::rg_FangFa_HuoQuSuoYouTiMu ()
{
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_ZiDuanMingChenJiGe3;
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_JieGuoJiGe3;
CVolObjectArray rg_DuiXiangJieGuoJiGe;
_VOL_THIS.rg_ShuJuKu1.rg_QuBiaoNeiRong (_CT ("SELECT * FROM datas"), rg_ZiDuanMingChenJiGe3, rg_JieGuoJiGe3, _NULL_VOL_OBJECT (CVolString));
rg_HuoShan_LeiXing::rg_TiMuLei rg_TiMu11;
rg_HuoShan_ShiChuang_WangLao::rg_WangLaoFangWenLei rg_WangLao1;
if (rg_HuoShan_JiBen::rg_SuanShuYunSuanLei::rg_QiuYuShu ((INT)rg_JieGuoJiGe3.data ().GetCount (), 10) != 0)
{
return (rg_DuiXiangJieGuoJiGe);
}
else
{
for (INT_P __vol_counter_index = 0; __vol_counter_index < (INT)rg_JieGuoJiGe3.data ().GetCount (); __vol_counter_index++)
{
INT rg_QiShiShuZhi;
rg_QiShiShuZhi = (INT)__vol_counter_index + 9 * (INT)__vol_counter_index;
if (rg_QiShiShuZhi >= (INT)rg_JieGuoJiGe3.data ().GetCount ())
{
break;
}
rg_TiMu11.rg_BiaoJi = _ttoi (CVolString (rg_JieGuoJiGe3.data ().GetAt (rg_QiShiShuZhi)).GetText ());
rg_TiMu11.rg_TiHao = _ttoi (CVolString (rg_JieGuoJiGe3.data ().GetAt (rg_QiShiShuZhi + 1)).GetText ());
rg_TiMu11.rg_LeiXing = CVolString (rg_JieGuoJiGe3.data ().GetAt (rg_QiShiShuZhi + 2));
rg_TiMu11.rg_TiMu7 = rg_WangLao1.rg_URLJieMa1 (CVolString (rg_JieGuoJiGe3.data ().GetAt (rg_QiShiShuZhi + 3)), TRUE);
rg_TiMu11.rg_XuanZeA = rg_WangLao1.rg_URLJieMa1 (CVolString (rg_JieGuoJiGe3.data ().GetAt (rg_QiShiShuZhi + 4)), TRUE);
rg_TiMu11.rg_XuanZeB = rg_WangLao1.rg_URLJieMa1 (CVolString (rg_JieGuoJiGe3.data ().GetAt (rg_QiShiShuZhi + 5)), TRUE);
rg_TiMu11.rg_XuanZeC = rg_WangLao1.rg_URLJieMa1 (CVolString (rg_JieGuoJiGe3.data ().GetAt (rg_QiShiShuZhi + 6)), TRUE);
rg_TiMu11.rg_XuanZeD = rg_WangLao1.rg_URLJieMa1 (CVolString (rg_JieGuoJiGe3.data ().GetAt (rg_QiShiShuZhi + 7)), TRUE);
rg_TiMu11.rg_DaAn = rg_WangLao1.rg_URLJieMa1 (CVolString (rg_JieGuoJiGe3.data ().GetAt (rg_QiShiShuZhi + 8)), TRUE);
rg_TiMu11.rg_NanDu = _ttoi (CVolString (rg_JieGuoJiGe3.data ().GetAt (rg_QiShiShuZhi + 9)).GetText ());
rg_DuiXiangJieGuoJiGe.Add (rg_TiMu11, NULL);
}
return (rg_DuiXiangJieGuoJiGe);
}
}
BOOL rg_TiKuLei::rg_FangFa_QingKongSuoYouCuoTi ()
{
CVolString rg_sqlYuGou_QingKongBiao1;
CVolString rg_sqlYuGou_ZhiZiZengZiDuanChuShiZhiWei1;
CVolString rg_CuoWuWenBen1;
rg_sqlYuGou_QingKongBiao1 = _T ("DELETE FROM collections");
rg_sqlYuGou_ZhiZiZengZiDuanChuShiZhiWei1 = _T ("UPDATE sqlite_sequence SET seq=0 WHERE name = 'collections'");
if (_VOL_THIS.rg_ShuJuKu1.rg_ZhiHangSQLYuGou (rg_sqlYuGou_QingKongBiao1, rg_CuoWuWenBen1) != SQLITE_OK)
{
_DEBUG_STATMENT (DebugTrace (FALSE, 0, 0, _T ("S"), rg_CuoWuWenBen1.GetText ()));
return (FALSE);
}
if (_VOL_THIS.rg_ShuJuKu1.rg_ZhiHangSQLYuGou (rg_sqlYuGou_ZhiZiZengZiDuanChuShiZhiWei1, rg_CuoWuWenBen1) != SQLITE_OK)
{
_DEBUG_STATMENT (DebugTrace (FALSE, 0, 0, _T ("S"), rg_CuoWuWenBen1.GetText ()));
return (FALSE);
}
return (TRUE);
}
rg_HuoShan_LeiXing::rg_TiMuLei rg_TiKuLei::rg_FangFa_TongGuoSuoYinHuoQuCuoTi (INT rg_SuoYin)
{
CVolString rg_sqlYuGou1;
rg_sqlYuGou1 = CVolString ().Format (_T ("SELECT datas.id,datas.num,datas.title,datas.type,datas.optionA,datas.optionB,datas.optionC,datas.optionD,datas.answer,datas.level FROM collections,datas WHERE collections.title_id = datas.id AND collections.id = %d"), rg_SuoYin);
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_ZiDuanJiGe;
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_NeiRongJiGe;
rg_HuoShan_LeiXing::rg_TiMuLei rg_JuBu_TiMu;
CVolString rg_CuoWuNeiRong;
rg_HuoShan_ShiChuang_WangLao::rg_WangLaoFangWenLei rg_WangLao2;
if (_VOL_THIS.rg_ShuJuKu1.rg_QuBiaoNeiRong (rg_sqlYuGou1, rg_ZiDuanJiGe, rg_NeiRongJiGe, rg_CuoWuNeiRong) == SQLITE_OK)
{
if ((INT)rg_NeiRongJiGe.data ().GetCount () % 10 == 0 && (INT)rg_NeiRongJiGe.data ().GetCount () != 0)
{
rg_JuBu_TiMu.rg_BiaoJi = _ttoi (CVolString (rg_NeiRongJiGe.data ().GetAt (0)).GetText ());
rg_JuBu_TiMu.rg_TiHao = _ttoi (CVolString (rg_NeiRongJiGe.data ().GetAt (1)).GetText ());
rg_JuBu_TiMu.rg_TiMu7 = rg_WangLao2.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe.data ().GetAt (2)), TRUE);
rg_JuBu_TiMu.rg_LeiXing = CVolString (rg_NeiRongJiGe.data ().GetAt (3));
rg_JuBu_TiMu.rg_XuanZeA = rg_WangLao2.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe.data ().GetAt (4)), TRUE);
rg_JuBu_TiMu.rg_XuanZeB = rg_WangLao2.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe.data ().GetAt (5)), TRUE);
rg_JuBu_TiMu.rg_XuanZeC = rg_WangLao2.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe.data ().GetAt (6)), TRUE);
rg_JuBu_TiMu.rg_XuanZeD = rg_WangLao2.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe.data ().GetAt (7)), TRUE);
rg_JuBu_TiMu.rg_DaAn = CVolString (rg_NeiRongJiGe.data ().GetAt (8));
rg_JuBu_TiMu.rg_NanDu = _ttoi (CVolString (rg_NeiRongJiGe.data ().GetAt (9)).GetText ());
return (rg_JuBu_TiMu);
}
else
{
return (rg_JuBu_TiMu);
}
}
else
{
return (rg_JuBu_TiMu);
}
}
CVolObjectArray rg_TiKuLei::rg_FangFa_HuoQuSuoYouCuoTi ()
{
CVolObjectArray rg_CuoTiJi1;
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_ZiDuanJiGe1;
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_NeiRongJiGe1;
if (_VOL_THIS.rg_ShuJuKu1.rg_QuBiaoNeiRong (_CT ("SELECT datas.id,datas.type,datas.title,datas.optionA,datas.optionB,datas.optionC,datas.optionD,datas.answer,datas.level,collections.mistake_num FROM datas,collections WHERE datas.id = collections.title_id"), rg_ZiDuanJiGe1, rg_NeiRongJiGe1, _NULL_VOL_OBJECT (CVolString)) != SQLITE_OK)
{
return (rg_CuoTiJi1);
}
rg_HuoShan_LeiXing::rg_TiMuLei rg_TiMuBianLiang3;
rg_HuoShan_ShiChuang_WangLao::rg_WangLaoFangWenLei rg_WangLao3;
for (INT_P __vol_counter_index = 0; __vol_counter_index < (INT)rg_NeiRongJiGe1.data ().GetCount (); __vol_counter_index++)
{
INT rg_QiShiShuZhi1;
rg_QiShiShuZhi1 = (INT)__vol_counter_index + 9 * (INT)__vol_counter_index;
if (rg_QiShiShuZhi1 >= (INT)rg_NeiRongJiGe1.data ().GetCount ())
{
break;
}
rg_TiMuBianLiang3.rg_BiaoJi = _ttoi (CVolString (rg_NeiRongJiGe1.data ().GetAt (rg_QiShiShuZhi1)).GetText ());
rg_TiMuBianLiang3.rg_LeiXing = CVolString (rg_NeiRongJiGe1.data ().GetAt (rg_QiShiShuZhi1 + 1));
rg_TiMuBianLiang3.rg_TiMu7 = rg_WangLao3.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe1.data ().GetAt (rg_QiShiShuZhi1 + 2)), TRUE);
rg_TiMuBianLiang3.rg_XuanZeA = rg_WangLao3.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe1.data ().GetAt (rg_QiShiShuZhi1 + 3)), TRUE);
rg_TiMuBianLiang3.rg_XuanZeB = rg_WangLao3.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe1.data ().GetAt (rg_QiShiShuZhi1 + 4)), TRUE);
rg_TiMuBianLiang3.rg_XuanZeC = rg_WangLao3.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe1.data ().GetAt (rg_QiShiShuZhi1 + 5)), TRUE);
rg_TiMuBianLiang3.rg_XuanZeD = rg_WangLao3.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe1.data ().GetAt (rg_QiShiShuZhi1 + 6)), TRUE);
rg_TiMuBianLiang3.rg_DaAn = CVolString (rg_NeiRongJiGe1.data ().GetAt (rg_QiShiShuZhi1 + 7));
rg_TiMuBianLiang3.rg_NanDu = _ttoi (CVolString (rg_NeiRongJiGe1.data ().GetAt (rg_QiShiShuZhi1 + 8)).GetText ());
rg_TiMuBianLiang3.rg_CuoWuCiShu = _ttoi (CVolString (rg_NeiRongJiGe1.data ().GetAt (rg_QiShiShuZhi1 + 9)).GetText ());
rg_CuoTiJi1.Add (rg_TiMuBianLiang3, NULL);
}
return (rg_CuoTiJi1);
}
BOOL rg_TiKuLei::rg_FangFa_JiLuCuoTi (rg_HuoShan_LeiXing::rg_TiMuLei& rg_TiMu12)
{
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_ZiDuanWenBen;
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_JieGuoWenBen;
CVolString rg_CuoWuNeiRong1;
_VOL_THIS.rg_ShuJuKu1.rg_QuBiaoNeiRong (CVolString ().Format (_T ("SELECT * FROM collections WHERE collections.title_id = %d"), rg_TiMu12.rg_BiaoJi), rg_ZiDuanWenBen, rg_JieGuoWenBen, rg_CuoWuNeiRong1);
if ((BOOL)rg_JieGuoWenBen.data ().IsEmpty ())
{
if (_VOL_THIS.rg_ShuJuKu1.rg_ZhiHangSQLYuGou (CVolString ().Format (_T ("INSERT INTO collections(title_id,mistake_num) VALUES(%d,1)"), rg_TiMu12.rg_BiaoJi), rg_CuoWuNeiRong1) != SQLITE_OK)
{
_DEBUG_STATMENT (DebugTrace (FALSE, 0, 0, _T ("SS"), _T ("发送错误"), rg_CuoWuNeiRong1.GetText ()));
return (FALSE);
}
}
else
{
if (_VOL_THIS.rg_ShuJuKu1.rg_ZhiHangSQLYuGou (CVolString ().Format (_T ("UPDATE collections SET mistake_num = mistake_num + 1 WHERE collections.title_id = %d"), rg_TiMu12.rg_BiaoJi), rg_CuoWuNeiRong1) != SQLITE_OK)
{
_DEBUG_STATMENT (DebugTrace (FALSE, 0, 0, _T ("SS"), _T ("发送错误"), rg_CuoWuNeiRong1.GetText ()));
return (FALSE);
}
}
return (TRUE);
}
CVolObjectArray rg_TiKuLei::rg_FangFa_SuiJiHuoQuZhiDingShuMuDeTiMu (INT rg_TiMuShu)
{
CVolString rg_sqlYuGou2;
CVolObjectArray rg_JieGuo;
rg_sqlYuGou2 = CVolString ().Format (_T ("SELECT * FROM datas ORDER BY RANDOM() LIMIT %d"), rg_TiMuShu);
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_ZiDuanJiGe2;
rg_HuoShan_JiBen::rg_WenBenShuZuLei rg_NeiRongJiGe2;
CVolString rg_CuoWuWenBen2;
if (_VOL_THIS.rg_ShuJuKu1.rg_QuBiaoNeiRong (rg_sqlYuGou2, rg_ZiDuanJiGe2, rg_NeiRongJiGe2, rg_CuoWuWenBen2) != SQLITE_OK)
{
return (rg_JieGuo);
}
else
{
rg_HuoShan_LeiXing::rg_TiMuLei rg_TiMu13;
rg_HuoShan_ShiChuang_WangLao::rg_WangLaoFangWenLei rg_WangLao4;
for (INT_P __vol_counter_index = 0; __vol_counter_index < (INT)rg_NeiRongJiGe2.data ().GetCount (); __vol_counter_index++)
{
INT rg_QiShiShuZhi2;
rg_QiShiShuZhi2 = (INT)__vol_counter_index + 9 * (INT)__vol_counter_index;
if (rg_QiShiShuZhi2 >= (INT)rg_NeiRongJiGe2.data ().GetCount ())
{
break;
}
rg_TiMu13.rg_BiaoJi = _ttoi (CVolString (rg_NeiRongJiGe2.data ().GetAt (rg_QiShiShuZhi2)).GetText ());
rg_TiMu13.rg_TiHao = _ttoi (CVolString (rg_NeiRongJiGe2.data ().GetAt (rg_QiShiShuZhi2 + 1)).GetText ());
rg_TiMu13.rg_LeiXing = CVolString (rg_NeiRongJiGe2.data ().GetAt (rg_QiShiShuZhi2 + 2));
rg_TiMu13.rg_TiMu7 = rg_WangLao4.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe2.data ().GetAt (rg_QiShiShuZhi2 + 3)), TRUE);
rg_TiMu13.rg_XuanZeA = rg_WangLao4.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe2.data ().GetAt (rg_QiShiShuZhi2 + 4)), TRUE);
rg_TiMu13.rg_XuanZeB = rg_WangLao4.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe2.data ().GetAt (rg_QiShiShuZhi2 + 5)), TRUE);
rg_TiMu13.rg_XuanZeC = rg_WangLao4.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe2.data ().GetAt (rg_QiShiShuZhi2 + 6)), TRUE);
rg_TiMu13.rg_XuanZeD = rg_WangLao4.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe2.data ().GetAt (rg_QiShiShuZhi2 + 7)), TRUE);
rg_TiMu13.rg_DaAn = rg_WangLao4.rg_URLJieMa1 (CVolString (rg_NeiRongJiGe2.data ().GetAt (rg_QiShiShuZhi2 + 8)), TRUE);
rg_TiMu13.rg_NanDu = _ttoi (CVolString (rg_NeiRongJiGe2.data ().GetAt (rg_QiShiShuZhi2 + 9)).GetText ());
rg_JieGuo.Add (rg_TiMu13, NULL);
}
_DEBUG_STATMENT (DebugTrace (FALSE, 0, 0, _T ("Sn"), _T ("结果"), (INT)rg_JieGuo.GetCount ()));
return (rg_JieGuo);
}
}
BOOL rg_TiKuLei::rg_FangFa_TianJiaTiMu (rg_HuoShan_LeiXing::rg_TiMuLei& rg_TiMu14)
{
CVolString rg_sqlYuGou3;
CVolString rg_CuoWuXinXi;
INT rg_JieGuo1;
rg_HuoShan_ShiChuang_WangLao::rg_WangLaoFangWenLei rg_WangLao5;
rg_sqlYuGou3 = _CT ("INSERT INTO datas(num,type,title,optionA,optionB,optionC,optionD,answer,level) VALUES(") + CVolString (rg_TiMu14.rg_TiHao) + _T (",'") + rg_TiMu14.rg_LeiXing + _T ("','") + rg_WangLao5.rg_URLBianMa1 (rg_TiMu14.rg_TiMu7, TRUE) + _T ("','") + rg_WangLao5.rg_URLBianMa1 (rg_TiMu14.rg_XuanZeA, TRUE) + _T ("','") + rg_WangLao5.rg_URLBianMa1 (rg_TiMu14.rg_XuanZeB, TRUE) + _T ("','") + rg_WangLao5.rg_URLBianMa1 (rg_TiMu14.rg_XuanZeC, TRUE) + _T ("','") + rg_WangLao5.rg_URLBianMa1 (rg_TiMu14.rg_XuanZeD, TRUE) + _T ("','") + rg_WangLao5.rg_URLBianMa1 (rg_TiMu14.rg_DaAn, TRUE) + _T ("',") + CVolString (rg_TiMu14.rg_NanDu) + _T (")");
rg_JieGuo1 = _VOL_THIS.rg_ShuJuKu1.rg_ZhiHangSQLYuGou (rg_sqlYuGou3, rg_CuoWuXinXi);
_DEBUG_STATMENT (DebugTrace (FALSE, 0, 0, _T ("SS"), _T ("错误信息"), rg_CuoWuXinXi.GetText ()));
return (rg_JieGuo1 == 0);
}
void rg_TiKuLei::rg_ShiFang1 ()
{
_VOL_THIS.rg_ShuJuKu1.data().Close();
_VOL_THIS.rg_ShiFouChuShiHua = FALSE;
sqlite3_shutdown();
}
}