static bool RollbackTrans();
static bool CommitTrans();
static bool BeginTrans();
static bool Close();
static bool InitConnectPtr();
static bool ConnectDataBase();
_RecordsetPtr m_recordset;
};
函数定义如下:
LRunSql::LRunSql()
{
m_recordset.CreateInstance(__uuidof(Recordset));
}
bool LRunSql::RunSQL(CString sql)
{
_bstr_t sql_=sql;
try
{
m_recordset=m_database->Execute(sql_,NULL,adCmdText);
}
catch(_com_error& e)
{
ErrorsPtr pErrors=m_database->GetErrors();
if (pErrors->GetCount()==0)
{
//-------------------------------------------------------------------
// 错误信息提示
//AfxMessageBox(e.ErrorMessage());
afxDump<<e.ErrorMessage();
}
else
{
for (int i=0;i<pErrors->GetCount();i++)
{
_bstr_t desc=pErrors->GetItem((long)i)->GetDescription();
//-------------------------------------------------------------------------
// 错误信息提示
AfxMessageBox(desc);
afxDump<<(char*)desc;
}
}
return false;
}
return true;
}
bool LRunSql::CheckSQLResult(CString sql)
{
if(!this->RunSQL(sql))
return false;
else
{
if(!this->m_recordset->adoEOF)
return true;
lwfree.cn
bool LRunSql::ConnectDataBase()
{
try
{
m_database->Open(L"Shopping","","",-1);
}
catch()
{
MessageBox(NULL,"连结数据库错误!","系统提示",MB_OK|MB_ICONSTOP);
::ShellExecute(NULL,"open","AutoConfig.exe",NULL,NULL,SW_HIDE);
return false;
}
return true;
}
bool LRunSql::InitConnectPtr()
bool LRunSql::CommitTrans()
{
return (!FAILED(m_database->CommitTrans()));
}
bool LRunSql::RollbackTrans()
{
return (!FAILED(m_database->RollbackTrans()));
}
4.1.5登陆对话框设计
4.1.5.1 实现目标
程序启动后,首先进入系统登陆程序验证用户密码。系统登陆程序主要实现如下功能。
输入密码的控件采用文本框。密码如果输入正确,进入系统,否则将提示错误,并返回密码输入框。
记录错误次数,录入密码错误3次将自动退出系统。
系统登陆程序运行结果如下图:
4.1.5.2 设计思路
(1)判断用户密码是否与数据库密码相符,若相符,进入系统。
(2)增加变量m_iLogOnCount,记录错误次数。
4.1.5.3 程序开发步骤
(1)增加对话框资源,设计窗体资源符号为IDD_LOGIN_DIALOG。在对话框中添加相关的资源。
(2)系统登陆程序要在显示主窗体之前显示,在BOOL CshoppingApp
::InitInstance()中加入如下代码:
if(!AfxOleInit())//这就是初始化COM库
{
AfxMessageBox("OLE初始化出错!");
return FALSE;
}
lwfree.cn
pdlg->DoModal(); //显示主窗口
delete pdlg;
pdlg=NULL;
}
LRunSql::Close(); //断开数据库连 相关热词:小型 自选商场 综合 管理 系统 ER VCSqlServ
(3)当用户单击【确定】时,进行密码判断和次数判断。处理【确定