SQLserver 数据库课程设计_第1页
SQLserver 数据库课程设计_第2页
SQLserver 数据库课程设计_第3页
SQLserver 数据库课程设计_第4页
SQLserver 数据库课程设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 淮 海 工 学 院 计算机工程学院课程设计报告设计名称: 数据库课程设计 姓 名: 学 号: 专业班级: 网络121 系 (院): 计算机工程学院 设计时间: 2014.6.192014.6.25 设计地点: 机房、宿舍、文通楼、图书馆 成绩:指导教师评语: 签名: 年 月 日课程设计报告 第 15 页,共 15 页一、 需求分析目前,大多数文档管理系统在实现了企业各部门日常文件管理的基本功能外,还增设了很多的新功能用以满足文档管理电子化、标准化的新要求,功能强大的档案查询模块大大方便了管理者日常查找文档的工作,解决了传统管理中查找困难、查找耗时间等问题。使用现代化的文档管理系统满足了企业“

2、无纸化”的办公要求,实现了通过计算机对文档管理全程跟踪的要求。二、 概念结构设计1.系统功能结构 文档管理系统系统设置基本信息文档管理数据库管理用户管理口令修改退出系统单位档案文档类别添加文档修改文档删除文档文档浏览查看属性数据库备份数据库还原日志管理2.业务流程图管理人员数据库管理文档管理信息数据库备份数据库还原添加文档修改文档集删除文档集三、 物理结构设计系统表文档表单位表文档表用户表 四、 应用系统实现与测试 登陆界面系统界面文档基本信息日志管理文档基本信息文档类别单位列表五、部分代码/ ADO.cpp: implementation of the CADO class./#includ

3、e stdafx.h#include ADO.h#include #ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE=_FILE_;#define new DEBUG_NEW#endif/ Construction/Destruction/int ConCount = 0;CADOConnection g_Connection;/全局数据库连接对象CADOConnection * GetConnection()return &g_Connection;CADOConnection:CADOConnection()InitADO();m_Conn

4、ection.CreateInstance(ADODB.Connection);CADOConnection:CADOConnection()if (IsOpen()m_Connection-Close();m_Connection = NULL;UnInitADO();void CADOConnection:InitADO()if (ConCount+ = 0) CoInitialize(NULL);void CADOConnection:UnInitADO()if (-ConCount = 0) CoUninitialize();BOOL CADOConnection:Open(CStri

5、ng ConStr)if (IsOpen()m_Connection-Close();m_Connection-Open(_bstr_t)ConStr,adModeUnknown);return IsOpen();CString CADOConnection:GetSQLConStr(CString IP, CString DBName)CString Str;Str.Format(Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=%s;Data Source=%s,DBName,IP);ret

6、urn Str;_ConnectionPtr CADOConnection:GetConnection()return m_Connection;BOOL CADOConnection:IsOpen()long State;m_Connection-get_State(&State);if (State = adStateOpen)return true;return false;/CADODataSet:CADODataSet()m_DataSet.CreateInstance(ADODB.Recordset);CADODataSet:CADODataSet()if (IsOpen()m_D

7、ataSet-Close();m_DataSet = NULL;m_Connection = NULL;void CADODataSet:SetConnection(CADOConnection *pCon)m_Connection = pCon;int CADODataSet:GetRecordCount()if (IsOpen()return m_DataSet-GetRecordCount();elsereturn 0;BOOL CADODataSet:Open(CString SQLStr)if (IsOpen()m_DataSet-Close();/*/m_DataSet-Open(

8、_bstr_t(SQLStr),_variant_t(IDispatch*)g_Connection.GetConnection(), true),adOpenKeyset, adLockOptimistic, adCmdText);return IsOpen();/*/BOOL CADODataSet:IsOpen()long State;m_DataSet-get_State(&State);if (State = adStateOpen)return true;return false;FieldsPtr CADODataSet:GetFields()return m_DataSet-G

9、etFields();BOOL CADODataSet:Next()if (m_DataSet-adoEOF)return false;m_DataSet-MoveNext();return true;void CADODataSet:AddNew()m_DataSet-AddNew();void CADODataSet:SetFieldValue(CString FieldName, _variant_t Value)m_DataSet-PutCollect(_bstr_t)FieldName,Value);void CADODataSet:Save()m_DataSet-Update();

10、void CADODataSet:move(int nIndex)m_DataSet-MoveFirst();m_DataSet-Move(nIndex);int CADODataSet:GetRecordNo()return m_DataSet-AbsolutePosition;void CADODataSet:Delete()m_DataSet-Delete(adAffectCurrent);BOOL CADODataSet:Open(CString SQLStr, int LockType)if (IsOpen()m_DataSet-Close();/*/m_DataSet-Open(_

11、bstr_t(SQLStr),_variant_t(IDispatch*)g_Connection.GetConnection(), true),adOpenKeyset,(LockTypeEnum) LockType, adCmdText);return IsOpen();/ CheckSum.cpp : implementation file/#include stdafx.h#include Person.h#include CheckSum.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE

12、= _FILE_;#endif/ CCheckSum dialogCCheckSum:CCheckSum(CWnd* pParent /*=NULL*/): CDialog(CCheckSum:IDD, pParent)/AFX_DATA_INIT(CCheckSum)m_emp = _T();m_mm = _T();m_yy = _T();/AFX_DATA_INITvoid CCheckSum:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CCheckSum)DDX_Control(p

13、DX, 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_MAPBEGIN_MESSAGE_MAP(CCheckSum, CDialog)/AFX_MSG_MAP(CCheckSum)

14、ON_CBN_CLOSEUP(IDC_CEMP, OnCloseupCemp)ON_CBN_CLOSEUP(IDC_CYY, OnCloseupCyy)ON_CBN_CLOSEUP(IDC_CMM, OnCloseupCmm)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CCheckSum message handlersBOOL CCheckSum:OnInitDialog() CDialog:OnInitDialog();int i = 0;m_list.InsertColumn(i,人员姓名);m_list.SetColumnWidth(i+,100);m_list.In

15、sertColumn(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.SetExte

16、ndedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);int curyear,curmonth;CTime time(CTime:GetCurrentTime();curyear = time.GetYear();curmonth = time.GetMonth();char value10;for (int y = 2000; y 2100 ;y+)_itoa(y,value,10);m_cyy.InsertString(y-2000,value);m_cyy.SetCurSel(curyear-2000);for (int n = 1 ; n=1

17、2 ;n+)_itoa(n,value,10);m_cmm.InsertString(n-1,value);m_cmm.SetCurSel(curmonth-1);CADODataSet dataset;dataset.SetConnection(:GetConnection();dataset.Open(Select * From tab_Employees);m_cemp.InsertString(0,(全部);for (int index = 1 ; index Itememp_name-Value);dataset.Next();m_cemp.SetCurSel(0);UpdateLi

18、st();return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CCheckSum:UpdateList()m_list.DeleteAllItems();this-UpdateData();CADODataSet dataset;dataset.SetConnection(:GetConnection();CString str,temp,where,datestr,StartDate,EndDate;St

19、artDate = m_yy + - + m_mm + -1 ;EndDate.Format(DATEADD(month,1,%s),StartDate);datestr.Format( between %s and %s,StartDate,EndDate);/*/temp += select emp.emp_name ,ROUND(isnull(works.workday,0),2);temp += workday,ROUND(isnull(lates.lateday,0),2) lateday,;temp += ROUND(isnull(leaveearlys.leaveearlyday

20、,0),2) leaveearlyday,;temp += ROUND(isnull(bjdays.bjday,0),2) bjday,ROUND(isnull(sjdays.sjday,0),2) sjday;temp += from tab_Employees emp ;temp += left join;temp += (select sum(DATEDIFF(second,ontime,offtime) / 60.0 / 60.0 / 8.0;temp += as workday,name From tab_Check where checkdate %s group by name)

21、;temp += works on emp.emp_name = ;temp += left join;temp += (select (sum(DATEPART(Hour,latetime) * 60 * 60 + ;temp += sum(DATEPART(minute,latetime) * 60 + sum(DATEPART(second,latetime);temp += /60.0 /60.0 /8.0 as lateday,name From tab_Check where checkdate;temp += %s group by name) lates o

22、n emp.emp_name = ;temp += left join;temp += (select (sum(DATEPART(Hour,leaveearly) * 60 * 60 + ;temp += sum(DATEPART(minute,leaveearly) * 60 + sum(DATEPART(second,leaveearly);temp += /60.0 /60.0 /8.0 as leaveearlyday,name From tab_Check where ;temp += checkdate %s group by name) leaveearly

23、s on emp.emp_name;temp += = ;temp += left join;temp += (select isnull(sum(DATEDIFF(second,onleave,offleave);temp += / 60.0 / 60.0 / 8.0,0) as bjday,name From tab_Check where;temp += leave = 病假 and checkdate %s group by name) ;temp += bjdays on emp.emp_name = ;temp += left

24、join;temp += (select isnull(sum(DATEDIFF(second,onleave,offleave) ;temp += / 60.0 / 60.0 / 8.0,0) as sjday,name From tab_Check where ;temp += leave = 事假 and checkdate %s group by name) ;temp += sjdays on emp.emp_name = ;temp += %s;/*/where.Format( where emp.emp_name = %s,m_emp);if (m_emp

25、= (全部) str.Format(temp,datestr,datestr,datestr,datestr,datestr,);elsestr.Format(temp,datestr,datestr,datestr,datestr,datestr,where);/*/dataset.Open(str,adLockUnspecified);for (int i = 0; i Itememp_name-Value);m_list.SetItemText(i,n+,(_bstr_t)dataset.GetFields()-Itemworkday-Value);m_list.SetItemText(i,n+,(_bstr_t)dataset.GetFields()-Itemlateday-Value);m_list.SetItemText(i,n+,(_bstr_t)dataset.Ge

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论