SQLserver数据库课程设计报告.docx

上传人:b****4 文档编号:5128977 上传时间:2023-05-08 格式:DOCX 页数:19 大小:221.88KB
下载 相关 举报
SQLserver数据库课程设计报告.docx_第1页
第1页 / 共19页
SQLserver数据库课程设计报告.docx_第2页
第2页 / 共19页
SQLserver数据库课程设计报告.docx_第3页
第3页 / 共19页
SQLserver数据库课程设计报告.docx_第4页
第4页 / 共19页
SQLserver数据库课程设计报告.docx_第5页
第5页 / 共19页
SQLserver数据库课程设计报告.docx_第6页
第6页 / 共19页
SQLserver数据库课程设计报告.docx_第7页
第7页 / 共19页
SQLserver数据库课程设计报告.docx_第8页
第8页 / 共19页
SQLserver数据库课程设计报告.docx_第9页
第9页 / 共19页
SQLserver数据库课程设计报告.docx_第10页
第10页 / 共19页
SQLserver数据库课程设计报告.docx_第11页
第11页 / 共19页
SQLserver数据库课程设计报告.docx_第12页
第12页 / 共19页
SQLserver数据库课程设计报告.docx_第13页
第13页 / 共19页
SQLserver数据库课程设计报告.docx_第14页
第14页 / 共19页
SQLserver数据库课程设计报告.docx_第15页
第15页 / 共19页
SQLserver数据库课程设计报告.docx_第16页
第16页 / 共19页
SQLserver数据库课程设计报告.docx_第17页
第17页 / 共19页
SQLserver数据库课程设计报告.docx_第18页
第18页 / 共19页
SQLserver数据库课程设计报告.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SQLserver数据库课程设计报告.docx

《SQLserver数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《SQLserver数据库课程设计报告.docx(19页珍藏版)》请在冰点文库上搜索。

SQLserver数据库课程设计报告.docx

SQLserver数据库课程设计报告

淮海工学院计算机工程学院

课程设计报告

设计名称:

数据库课程设计

姓名:

学号:

专业班级:

网络121

系(院):

计算机工程学院

设计时间:

2014.6.19~~2014.6.25

设计地点:

机房、宿舍、文通楼、图书馆

成绩:

指导教师评语:

 

签名:

年月日

一、需求分析

目前,大多数文档管理系统在实现了企业各部门日常文件管理的基本功能外,还增设了很多的新功能用以满足文档管理电子化、标准化的新要求,功能强大的档案查询模块大大方便了管理者日常查找文档的工作,解决了传统管理中查找困难、查找耗时间等问题。

使用现代化的文档管理系统满足了企业“无纸化”的办公要求,实现了通过计算机对文档管理全程跟踪的要求。

二、概念结构设计

1.系统功能结构

2.业务流程图

三、物理结构设计

系统表

文档表

单位表

文档表

用户表

 

四、应用系统实现与测试

登陆界面

系统界面

 

文档基本信息

 

日志管理

文档基本信息

 

文档类别

单位列表

五、部分代码

//ADO.cpp:

implementationoftheCADOclass.

//

//////////////////////////////////////////////////////////////////////

#include"stdafx.h"

#include"ADO.h"

#include

#ifdef_DEBUG

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#definenewDEBUG_NEW

#endif

//////////////////////////////////////////////////////////////////////

//Construction/Destruction

//////////////////////////////////////////////////////////////////////

intConCount=0;

CADOConnectiong_Connection;//全局数据库连接对象

CADOConnection*GetConnection()

{

return&g_Connection;

}

CADOConnection:

:

CADOConnection()

{

InitADO();

m_Connection.CreateInstance("ADODB.Connection");

}

CADOConnection:

:

~CADOConnection()

{

if(IsOpen())

m_Connection->Close();

m_Connection=NULL;

UnInitADO();

}

voidCADOConnection:

:

InitADO()

{

if(ConCount++==0)

CoInitialize(NULL);

};

voidCADOConnection:

:

UnInitADO()

{

if(--ConCount==0)

CoUninitialize();

};

BOOLCADOConnection:

:

Open(CStringConStr)

{

if(IsOpen())

m_Connection->Close();

m_Connection->Open((_bstr_t)ConStr,"","",adModeUnknown);

returnIsOpen();

}

CStringCADOConnection:

:

GetSQLConStr(CStringIP,CStringDBName)

{

CStringStr;

Str.Format("Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=sa;InitialCatalog=%s;DataSource=%s",DBName,IP);

returnStr;

}

 

_ConnectionPtrCADOConnection:

:

GetConnection()

{

returnm_Connection;

}

BOOLCADOConnection:

:

IsOpen()

{

longState;

m_Connection->get_State(&State);

if(State==adStateOpen)

returntrue;

returnfalse;

}

////////////////////////////////////////

CADODataSet:

:

CADODataSet()

{

m_DataSet.CreateInstance("ADODB.Recordset");

}

CADODataSet:

:

~CADODataSet()

{

if(IsOpen())

m_DataSet->Close();

m_DataSet=NULL;

m_Connection=NULL;

}

voidCADODataSet:

:

SetConnection(CADOConnection*pCon)

{

m_Connection=pCon;

}

intCADODataSet:

:

GetRecordCount()

{

if(IsOpen())

returnm_DataSet->GetRecordCount();

else

return0;

}

BOOLCADODataSet:

:

Open(CStringSQLStr)

{

if(IsOpen())

m_DataSet->Close();

//*/

m_DataSet->Open(_bstr_t(SQLStr),

_variant_t((IDispatch*)g_Connection.GetConnection(),true),

adOpenKeyset,adLockOptimistic,adCmdText);

returnIsOpen();

//*/

}

BOOLCADODataSet:

:

IsOpen()

{

longState;

m_DataSet->get_State(&State);

if(State==adStateOpen)

returntrue;

returnfalse;

}

FieldsPtrCADODataSet:

:

GetFields()

{

returnm_DataSet->GetFields();

}

BOOLCADODataSet:

:

Next()

{

if(m_DataSet->adoEOF)

returnfalse;

m_DataSet->MoveNext();

returntrue;

}

voidCADODataSet:

:

AddNew()

{

m_DataSet->AddNew();

}

voidCADODataSet:

:

SetFieldValue(CStringFieldName,_variant_tValue)

{

m_DataSet->PutCollect((_bstr_t)FieldName,Value);

}

voidCADODataSet:

:

Save()

{

m_DataSet->Update();

}

voidCADODataSet:

:

move(intnIndex)

{

m_DataSet->MoveFirst();

m_DataSet->Move(nIndex);

}

intCADODataSet:

:

GetRecordNo()

{

returnm_DataSet->AbsolutePosition;

}

voidCADODataSet:

:

Delete()

{

m_DataSet->Delete(adAffectCurrent);

}

BOOLCADODataSet:

:

Open(CStringSQLStr,intLockType)

{

if(IsOpen())

m_DataSet->Close();

//*/

m_DataSet->Open(_bstr_t(SQLStr),

_variant_t((IDispatch*)g_Connection.GetConnection(),true),

adOpenKeyset,(LockTypeEnum)LockType,adCmdText);

returnIsOpen();

}

 

/CheckSum.cpp:

implementationfile

//

#include"stdafx.h"

#include"Person.h"

#include"CheckSum.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

//CCheckSumdialog

 

CCheckSum:

:

CCheckSum(CWnd*pParent/*=NULL*/)

:

CDialog(CCheckSum:

:

IDD,pParent)

{

//{{AFX_DATA_INIT(CCheckSum)

m_emp=_T("");

m_mm=_T("");

m_yy=_T("");

//}}AFX_DATA_INIT

}

 

voidCCheckSum:

:

DoDataExchange(CDataExchange*pDX)

{

CDialog:

:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CCheckSum)

DDX_Control(pDX,IDC_LISTEMP,m_list);

DDX_Control(pDX,IDC_CYY,m_cyy);

DDX_Control(pDX,IDC_CMM,m_cmm);

DDX_Control(pDX,IDC_CEMP,m_cemp);

DDX_CBString(pDX,IDC_CEMP,m_emp);

DDX_CBString(pDX,IDC_CMM,m_mm);

DDX_CBString(pDX,IDC_CYY,m_yy);

//}}AFX_DATA_MAP

}

 

BEGIN_MESSAGE_MAP(CCheckSum,CDialog)

//{{AFX_MSG_MAP(CCheckSum)

ON_CBN_CLOSEUP(IDC_CEMP,OnCloseupCemp)

ON_CBN_CLOSEUP(IDC_CYY,OnCloseupCyy)

ON_CBN_CLOSEUP(IDC_CMM,OnCloseupCmm)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

//CCheckSummessagehandlers

BOOLCCheckSum:

:

OnInitDialog()

{

CDialog:

:

OnInitDialog();

inti=0;

m_list.InsertColumn(i,"人员姓名");

m_list.SetColumnWidth(i++,100);

m_list.InsertColumn(i,"工作总天数");

m_list.SetColumnWidth(i++,100);

m_list.InsertColumn(i,"迟到总天数");

m_list.SetColumnWidth(i++,100);

m_list.InsertColumn(i,"早退总天数");

m_list.SetColumnWidth(i++,100);

m_list.InsertColumn(i,"病假总天数");

m_list.SetColumnWidth(i++,100);

m_list.InsertColumn(i,"事假总天数");

m_list.SetColumnWidth(i++,100);

m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

intcuryear,curmonth;

CTimetime(CTime:

:

GetCurrentTime());

curyear=time.GetYear();

curmonth=time.GetMonth();

charvalue[10];

for(inty=2000;y<2100;y++)

{

_itoa(y,value,10);

m_cyy.InsertString(y-2000,value);

}

m_cyy.SetCurSel(curyear-2000);

for(intn=1;n<=12;n++)

{

_itoa(n,value,10);

m_cmm.InsertString(n-1,value);

}

m_cmm.SetCurSel(curmonth-1);

CADODataSetdataset;

dataset.SetConnection(:

:

GetConnection());

dataset.Open("Select*Fromtab_Employees");

m_cemp.InsertString(0,"(全部)");

for(intindex=1;index<=dataset.GetRecordCount();index++)

{

m_cemp.InsertString(index,(_bstr_t)dataset.GetFields()->Item["emp_name"]->Value);

dataset.Next();

}

m_cemp.SetCurSel(0);

UpdateList();

returnTRUE;//returnTRUEunlessyousetthefocustoacontrol

//EXCEPTION:

OCXPropertyPagesshouldreturnFALSE

}

voidCCheckSum:

:

UpdateList()

{

m_list.DeleteAllItems();

this->UpdateData();

CADODataSetdataset;

dataset.SetConnection(:

:

GetConnection());

CStringstr,temp,where,datestr,StartDate,EndDate;

StartDate=m_yy+"-"+m_mm+"-1";

EndDate.Format("DATEADD(month,1,'%s')",StartDate);

datestr.Format("between'%s'and%s",StartDate,EndDate);

//*/

temp+="selectemp.emp_name,ROUND(isnull(works.workday,0),2)";

temp+="workday,ROUND(isnull(lates.lateday,0),2)lateday,";

temp+="ROUND(isnull(leaveearlys.leaveearlyday,0),2)leaveearlyday,";

temp+="ROUND(isnull(bjdays.bjday,0),2)bjday,ROUND(isnull(sjdays.sjday,0),2)sjday";

temp+="fromtab_Employeesemp";

temp+="leftjoin";

temp+="(selectsum(DATEDIFF(second,ontime,offtime))/60.0/60.0/8.0";

temp+="asworkday,nameFromtab_Checkwherecheckdate%sgroupbyname)";

temp+="worksonemp.emp_name=works.name";

temp+="leftjoin";

temp+="(select(sum(DATEPART(Hour,latetime))*60*60+";

temp+="sum(DATEPART(minute,latetime))*60+sum(DATEPART(second,latetime)))";

temp+="/60.0/60.0/8.0aslateday,nameFromtab_Checkwherecheckdate";

temp+="%sgroupbyname)latesonemp.emp_name=lates.name";

temp+="leftjoin";

temp+="(select(sum(DATEPART(Hour,leaveearly))*60*60+";

temp+="sum(DATEPART(minute,leaveearly))*60+sum(DATEPART(second,leaveearly)))";

temp+="/60.0/60.0/8.0asleaveearlyday,nameFromtab_Checkwhere";

temp+="checkdate%sgroupbyname)leaveearlysonemp.emp_name";

temp+="=leaveearlys.name";

temp+="leftjoin";

temp+="(selectisnull(sum(DATEDIFF(second,onleave,offleave))";

temp+="/60.0/60.0/8.0,0)asbjday,nameFromtab_Checkwhere";

temp+="leave='病假'andcheckdate%sgroupbyname)";

temp+="bjdaysonemp.emp_name=bjdays.name";

temp+="leftjoin";

temp+="(selectisnull(sum(DATEDIFF(second,onleave,offleave))";

temp+="/60.0/60.0/8.0,0)assjday,nameFromtab_Checkwhere";

temp+="leave='事假'andcheckdate%sgroupbyname)";

temp+="sjdaysonemp.emp_name=sjdays.name";

temp+="%s";//*/

//

where.Format("whereemp.emp_name='%s'",m_emp);

if(m_emp=="(全部)")

str.Format(temp,datestr,datestr,datestr,datestr,datestr,"");

else

str.Format(temp,datestr,datestr,datestr,datestr,datestr,where);

//*/

dataset.Open(str,adLockUnspecified);

for(inti=0;i

{

intn=0;

m_list.InsertItem(i,"");

m_list.SetItemText(i,n++,(_bstr_t)dataset.GetFields()->Item["emp_name"]->Value);

m_list.SetItemText(i,n++,(_bstr_t)dataset.GetFields()->Item["workday"]->Value);

m_list.SetItemText(i,n++,(_bstr_t)dataset.GetFields()->Item["lateday"]->Value);

m_list.SetItemText(i,n++,(_bstr_t)dataset.GetFields()->Item["leaveearlyday"]->Value);

m_list.SetItemText(i,n++,(_bstr_t)dataset.GetFields()->Item["bjday"]->Value);

m_list.SetItemText(i,n++,(_bstr_t)dataset.GetFields()->Item["sjday"]->Value);

dataset.Next();

}//*/

}

voidCCheckSum:

:

OnCloseupCemp()

{

UpdateList();

}

voidCCheckSum:

:

OnCloseupCyy()

{

UpdateList();

}

voidCCheckSum:

:

OnCloseupCmm()

{

UpdateList();

}

六、课程设计心得体会

这次历时两周的课程设计,对于我们来说确实收获了不少。

第一天我们查找资料、了解有关的知识,相互探讨,了解文档管理系统的需求,做好需求分析后,开始系统的设计,画出E-R图,写出各个实体的属性。

对于数据库的创建,虽然出现很多的问题,但

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2