毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

小型自选商场综合管理系统(ER图+VC++Sql Server+源代码) 第5页

更新时间:2008-12-21:  来源:毕业论文

小型自选商场综合管理系统
 创建程序菜单:
(1)在工作区窗口(Workspace窗口)右键单击【Shopping resources】选项,在弹出菜单中选择【Insert…】选项,将弹出【Insert Resource】对话框。在该对话框中选择【Menu】选项,然后单击【New】按钮,生成一个菜单资源。
(2)在菜单资源中添加菜单选项信息,如下图:
 
 设置背景:
(1)在资源对话框商放一个Picture控件。
(2)加入一个需要的Bitmap资源,设置为IDB_BITMAP_BACK。
(3)设置Picture控件属性类型为Bitmap,图像为IDB_BITMAP_BACK。
 状态栏:
为使应用程序操作界面更加友好,可以使用状态条显示程序当前的状态信息或提示信息。在VC中提供了CstatusBarCtrl类显示状态栏。在本程序中利用状态条显示操作者、日期、时间等信息。
分析功能:显示操作员名字、制作者、及时间。其中制作者是常量字符串,可以将其加为字符串资源;操作员名字,是登陆的用户名,将其放在应用程序类中,这样,就可以在程序的任何地方都可以访问了;时间,需要设置OnTimer时间来处理当时间改变时,刷新显示。
其部分创建代码,BOOL CShoppingDlg::OnInitDialog()中加入如下代码:
 CTime t=CTime::GetCurrentTime();
 CString s=t.Format("%H:%M:%S");
   CShoppingApp* app=(CShoppingApp*)::AfxGetApp();
 s="当前系统时间:"+s;
 CString str;

 CRect rect;
 this->GetClientRect(&rect);

 m_StatusBarCtrl.Create(WS_CHILD|WS_VISIBLE|CCS_BOTTOM,rect,this,ID_STATUS_BAR_CTRL);
 
 int indicators[3];
 indicators[0]=rect.Width()*3/7;
 indicators[1]=rect.Width()*5/7;
 indicators[2]=rect.Width();
 m_StatusBarCtrl.SetParts(3,indicators);

 str.LoadString(IDS_AUTHOR);

 m_StatusBarCtrl.SetText(str,0,SBT_POPOUT);
 m_StatusBarCtrl.SetText("当前操作员:
"+app->m_sUserName,1,SBT_POPOUT);
 m_StatusBarCtrl.SetText(s,2,SBT_POPOUT);

 this->SetTimer(12,1000,NULL);
显示效果:
 
主窗体界面如下:
 
4.1.4数据库连接设计
4.1.4.1 实现目标
为了方便数据库连接的统一控制和方便对异常的捕捉,需要将ADO封装到类中。
在头文件StdAfx.h中加入下列代码引入ADO对象。
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
4.1.4.2 设计思路
本类将封装以下内容:
(1)无返回记录运行SQL语句。
(2)有返回记录运行SQL语句。
(3)开始事务,提交事务。
(4)初始化ADO对象。
(5)连结数据库。
(6)断开数据库连接。
为了始终只有 一个ADO对象连结数据库,只定义一个连结(Connection)对象。将其声明为静态的,与其相关的操作也设成静态的,由于要频繁的访问数据库,所以,需要一个记录(Recordset)对象作为成员变量。
在工程中添加RunSql.h和RunSql.cpp文件。
头文件声明如下:
class LRunSql
{
public:
 LRunSql();
 ~LRunSql();
 bool RunSQL(CString sql);
 bool CheckSQLResult(CString sql);
public:
 static _ConnectionPtr m_database;

 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;
youerw.com
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()

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页

小型自选商场综合管理系统(ER图+VC++Sql Server+源代码) 第5页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。