1 读书笔记.doc_第1页
1 读书笔记.doc_第2页
1 读书笔记.doc_第3页
1 读书笔记.doc_第4页
1 读书笔记.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1. 读书笔记 SQL Server 的安全管理 SQL Server 的服务器级安全性建立在控制服务器登陆账号和密码的基础上,SQL Server 采用了标准SQL Server 登陆和集成Windows NT 登陆两种方式。无论是使用那种登陆方式,用户在登陆时提供的登陆账号和密码,决定了用户能否获得SQL Server 的访问权,以及在获得访问权以后,用户在访问SQL Server 进程时就可以拥有的权利。管理和设计合理的登陆方式是数据库管理员(DBA)的重要任务,是SQL Server 安全体系中DBA可以发挥主动性的第一道防线。 SQL Server 事先设定了许多固定服务器的角色,用来为具有服务器管理员资格的用户分配使用权利。拥有固定服务器角色的用户可以用能够有服务器级的管理权限。在用户通过SQL Server 服务器的安全性检验以后,将直接面对不同的数据库入口。这是用户将接受的第三次安全性检验。在建立用户的登陆账号信息时,SQL Server 会提示用户选择默认的数据库,以后用户每次连接上服务器后,都会自动转到默认的数据库上。对任何用户来说,master数据库的门总是打开的,如果在设置登陆账号是没有指定默认的数据库,则用户的权限将局限在master数据库以内。但是由于master数据库存储了大量的系统信息,对系统的安全和稳定起着至关重要的作用,所以建议用户在建立新的登陆账号时,最好不要将默认的数据库设置为master数据库,而是应该根据用户实际将要进行的工作,将默认的数据库设置在具有实际操作意义的数据库上。默认的情况下,数据库的拥有者可以访问数据库的对象,分配访问权给别的用户,以便让别的用户也拥有针对该数据库的访问权利。在SQL Server 中默认的情况表示所有的权利都可以自由转让和分配。2设计要求课题名称:职工档案管理设计要求:(1)信息要求 本系统至少应该包含职工的档案基本信息(2) 功能要求本系统要求能够实现档案查询、档案更新、档案统计、档案输出等功能,其中档案更新包括档案录入、档案修改和档案删除。3. 需求分析# 信息需求(基本信息)职工档案信息:职工编号,职工姓名,出生日期,职工年龄,职工性别,工作部门,行政职务,技术职称,毕业院校,最高学历,所学专业。# 处理需求职工档案录入 本模块的实现使用一个独立的窗体,实现在给定的位置输入相关的信息,然后按确定提交,如果职工编号的空或者在数据库中已存在,那么有相对应的出错提示:“职工编号不能为空”、“职工编号已存在”。按确定按钮,可有“修改成功”提示。职工档案查询本模块在档案查询统计窗体中,输入职工编号,对应编号的职工档案信息就显示在该窗体中,如果职工档案编号不存在或者为空,那么回弹出相关的错误提示:“职工编号不存在”、“职工编号不能为空”。职工档案修改本模块的按钮在档案查询统计窗体中,点击进入职工档案修改的独立窗体,类似于职工档案录入的格式以可写入的方式显示查询模块中输入的职工编号所对应职工档案的所有信息。如果职工档案编号不存在或者为空,那么回弹出相关的错误提示:“职工编号不存在”、“职工编号不能为空”。除了主键职工编号设为“onlyread”不能修改外,其他信息都可以加以修改,改完按确定按钮,可有“修改成功”提示。职工档案删除本模块在档案查询统计窗体中,点击后,对应显示在该窗体中查询模块中输入的对应编号的职工档案信息就会被删除,同时数据库中该职工编号的所有信息(行)就会被删除。如果职工档案编号不存在或者为空,那么回弹出相关的错误提示:“职工编号不存在”、“职工编号不能为空”。职工档案统计本模块在档案查询统计窗体中,有四种统计方式:“按部门统计”、“按学历统计”、“按职务统计”、“按职称统计”等。点击相应的按钮窗体下方会显示按照对应项排序的职工档案。如“按学历统计”:显示按照本科,硕士,博士顺序来排列所有的信息并显示。职工档案输出本模块在档案查询统计窗体中,点击后在窗体下方输出显示所有的职工档案信息,其中顺序按照职工编号由小到大。4. 数据库设计# 数据库的概念设计职务职工编号出生日期年龄最高学历工作部门姓名性别专业毕业院校职称# 数据库的逻辑设计 建立数据库:“employee” 建表“Archive_Content”档案内容(职工编号,职工姓名,出生日期,职工年龄,职工性别,工作部门,行政职务,技术职称,毕业院校,最高学历,所学专业) 5、开发方案的选择# 开发环境 Window xp,SQL server 2000,VC。# 开发过程 A、连接数据库 void CEmployeeApp:lianjie() try /必需的!:CoInitialize (NULL);/CString strAdoConn;/strAdoConn.Format(driver=SQLServer;SERVER=%s;UID=%s;PWD=%s;DATABASE=%s,MYSTAR, sa, , libbook);/CString strAdoConn=_T(Driver=SQL Server;UID=sa;PWD=sa;server=JINGU;database=employee);CString strAdoConn=_T(Driver=SQL Server;server=JINGU;database=employee);m_pCon.CreateInstance(_uuidof(Connection);m_pCon-ConnectionString = (_bstr_t)strAdoConn;m_pCon-Open(,NULL);m_pRs.CreateInstance(_uuidof(Recordset);m_pCom.CreateInstance(ADODB.Command);m_pRs1.CreateInstance(_uuidof(Recordset);catch(_com_error)MessageBox(0,请检查系统配置信息, 数据库连接失败,MB_OK);return;catch(.)AfxMessageBox(SYS Error);return ;B、职工档案修改void frame:OnOK() / TODO: Add extra validation hereUpdateData(true);_variant_t strQuery;int count = 0;strQuery = select * from Archives_Content where Num = +m_num+;m_pRs-Open(strQuery,_variant_t(IDispatch*)m_pCon),adOpenDynamic,adLockOptimistic,adCmdText);if(!m_pRs-EOFOfFile)count +;if(count != 0)AfxMessageBox(职工编号已存在!);m_pRs-Close();return ;m_pRs-Close();CString sql;sql.Format(Insert into Archives_Content values ( %s, %s,%s,%s,%s,%s,%s,%s,%s,%s,%s),m_num,m_name,m_birthday,m_age,m_sex,m_department,m_zhiwu,m_zhicheng,m_graduate,m_xueli,m_zhuanye);trym_pRs-raw_Close();m_pRs-Open(_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);MessageBox(操作成功.,提示,MB_OK|MB_ICONINFORMATION);catch(.)MessageBox(操作失败.,提示,MB_OK|MB_ICONERROR);C、档案查询void frame2:OnGO() / TODO: Add your control notification handler code hereUpdateData(true);m_frame2.DeleteAllItems();int count = 0;_variant_t Holder,strQuery;strQuery = select * from Archives_Content where Num = +m_snum+;m_pRs-Open(strQuery,_variant_t(IDispatch*)m_pCon),adOpenDynamic,adLockOptimistic,adCmdText);if(!m_pRs-EOFOfFile)count +;m_pRs-MoveNext();if(count = 0)AfxMessageBox(职工编号不存在!);m_pRs-Close();return;CString str;m_pRs-MoveFirst();for(int i=0; !m_pRs-EOFOfFile; i+)Holder = m_pRs-GetCollect(Num);str = Holder.vt = VT_NULL?:(char*)(_bstr_t)Holder;m_frame2.InsertItem(i,str);Holder = m_pRs-GetCollect(Name);str = Holder.vt = VT_NULL?:(char*)(_bstr_t)Holder;m_frame2.SetItemText(i,1,str);Holder = m_pRs-GetCollect(Birthday);str = Holder.vt = VT_NULL?:(char*)(_bstr_t)Holder;m_frame2.SetItemText(i,2,str);Holder = m_pRs-GetCollect(Age);str = Holder.vt = VT_NULL?:(char*)(_bstr_t)Holder;m_frame2.SetItemText(i,3,str);Holder = m_pRs-GetCollect(Sex);str = Holder.vt = VT_NULL?:(char*)(_bstr_t)Holder;m_frame2.SetItemText(i,4,str);Holder = m_pRs-GetCollect(Department);str = Holder.vt = VT_NULL?:(char*)(_bstr_t)Holder;m_frame2.SetItemText(i,5,str);Holder = m_pRs-GetCollect(zhiwu);str = Holder.vt = VT_NULL?:(char*)(_bstr_t)Holder;m_frame2.SetItemText(i,6,str);Holder = m_pRs-GetCollect(zhicheng);str = Holder.vt = VT_NULL?:(char*)(_bstr_t)Holder;m_frame2.SetItemText(i,7,str);Holder = m_pRs-GetCollect(graduate);str = Holder.vt = VT_NULL?:(char*)(_bstr_t)Holder;m_frame2.SetItemText(i,8,str);Holder = m_pRs-GetCollect(xueli);str = Holder.vt = VT_NULL?:(char*)(_bstr_t)Holder;m_frame2.SetItemText(i,9,str);Holder = m_pRs-GetCollect(zhua

温馨提示

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

评论

0/150

提交评论