Windows应用程序开发教程(C#版)第5章第9节-数据管理.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 应用程序 开发 教程 C# 数据管理
- 资源描述:
-
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Windows,应用程序开发教程(,C#,版),单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,9,节 数据管理,本节学习要点,1.,数据库的备份。,2.,数据库的还原,本节的任务目标、知识要点,1.,实现数据库备份的设计。,2.,实现数据库还原设计。,任务目标,1.SQL-Server,中数据库备份的基础知识。,2.SQl-Server,中数据库还原的基础知识。,知识要点,任务,1,存储过程,的设计,主要代码说明,添加标题文字,添加标题文字,一、得到数据库的文件目录,(,注:将此函数建立在,Master,数据库中,),/*,dbname,指定要取得目录的数据库名,如果指定的数据库不存在,返回安装,SQL,时设置的默认数据目录,如果指定为,NULL,则返回默认的,SQL,备份目录名,*,/,use MASTER,go,if exists(select*from dbo.sysobjects where id=object_id(Ndbo.f_getdbpath)and xtype in(NFN,NIF,NTF),drop function dbo.f_getdbpath,GO,create function f_getdbpath(dbname sysname),returns nvarchar(260),主要代码说明,添加标题文字,添加标题文字,说明:,1.,功能:,(,1,)如果指定的数据库名称为,null,,则返回的路径为默认的,SQL,备份目录名。,(,2,)如果指定的数据库名称不存在,则返回的路径为安装,SQL,时设置的默认数据目录。,(,3,)如果指定的数据库名称存在,则返回该数据库文件所在的物理路径。,2.select from master.sysdatabases where name=master,:,获取指定数据库文件的完整路径。例如:,C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVER,MSSQLDATAmaster.mdf,3.REVERSE(string_expression),:返回字符串值的逆向值。,例如:将上述字符串逆向取值后的值为:,fdm.retsamATADLQSSMREVRESLQSSM.01LQ,SSMrevreS LQS tfosorciMseliF margorP:C,任务,1,存储过程,的设计,主要代码说明,添加标题文字,添加标题文字,4.CHARINDEX(expression1,expression2),:在,expression2,中搜索,expression1,并返回其起始位置(如果找到)。,5.,对,3.,中的字符串而言,,charindex(,re),,返回第一个“,”起始位置;,charindex(,re)+5,,并返回第二个“,”,起始位置;,subtsring(re,charindex(,re)+5,260),:返回以第二个“,”开始以后的子串。,任务,1,存储过程,的设计,主要代码说明,添加标题文字,添加标题文字,二、数据备份,(,注意:此存储过程建立在,MASTER,数据库中,),/*,参数说明:,dbname :-,要备份的数据库名称,不指定则备份当前数据库,master.,bkpath,:,-,备份文件的存放目录,不指定则使用,SQL,默认的备份目录,bkfname,:,-,备份文件名,文件名中可以用,DBNAME,代表数据库名,DATE,代表日期,TIME,代表时间,bktype :-,备份类型,:DB,备份数据库,DF,差异备份,LOG,日志备份,appendfile,:,-,追加,/,覆盖备份文件,*,/,任务,1,存储过程,的设计,主要代码说明,添加标题文字,添加标题文字,/*,说明:,1.db_name():,返回当前数据库名称。,2.,(1),语法:,REPLACE,命令,:,REPLACE(string_expression,string_pattern,string_replacement),(2),参数:,string_expression,要搜索的字符串表达式。,string_pattern,是要查找的子字符串。,string_replacement,替换字符串。,任务,1,存储过程,的设计,主要代码说明,添加标题文字,添加标题文字,(3),返回类型,如果其中的一个输入参数数据类型为,nvarchar,,则返回,nvarchar,;否则,REPLACE,返回,varchar,。,如果任何一个参数为,NULL,,则返回,NULL,。,3.,存储过程中的,REPLACE,命令嵌套调用实现的功能分别为:将字符串,DBNAME,、,DATE,、,TIME,,分别替换为当前数据库名、当前日期、当前时间,同时去掉时间串中的“,:,”。,4.set sql=,,根据用户的选择生成执行不同类型备份的,SQL,语句。,5.,调用示例:,(,1,)备份当前数据库,exec p_backupdb bkpath=c:,bkfname=db_DATE_db.bak,(,2,)差异备份当前数据库,exec p_backupdb bkpath=c:,bkfname=,db_DATE_df.bak,bktype=DF,任务,1,存储过程,的设计,说明,添加标题文字,添加标题文字,use MASTER,go,if exists(select*from dbo.sysobjects where id=object_id(Ndbo.p_RestoreDb)and OBJECTPROPERTY(id,NIsProcedure)=1),drop procedure dbo.p_RestoreDb,GO,create proc p_RestoreDb,bk(1000),dbname sysname=,dbpath nvarchar(260)=,retype nvarchar(10)=DB,int=1,overexist bit=1,as,任务,1,存储过程,的设计,说明,添加标题文字,添加标题文字,-,生成数据库恢复语句,set sql=restore+case retype when LOG then log else database end+dbname,+from disk=+bkfile+,+with file=+cast(as varchar),+case when overexist=1 and retype in(DB,DBNOR)then,replace else end,+case retype when DBNOR then,NORECOVERY else,RECOVERY end,-,恢复数据库,exec(sql),go,任务,1,存储过程,的设计,主要代码说明,添加标题文字,添加标题文字,/*,说明:,1.ISNULL,函数:,(,1,)语法,ISNULL(check_expression,replacement_value),(,2,)参数,check_expression,:将被检查是否为,NULL,的表达式。,check_expression,可以是任何类型的。,replacement_value,:在,check_expression,为,NULL,时将返回的表达式。,replacement_value,必须与,check_expresssion,具有相同的类型。,(,3,)返回类型:返回与,check_expression,相同的类型。,(,4,)注释,如果,check_expression,不为,NULL,,那么返回该表达式的值;否则返回,replacement_value,。,任务,1,存储过程,的设计,主要代码说明,添加标题文字,添加标题文字,提示:,1.,在设计,DAO,之前,需要在,App.config,文件,之间添加如下内容:,2,在数据库备份还原模块中用到的连接字符串为,1.,建立的,“master_conString“,3 DAO,文件请参见,DataAccessLayerDataBackup_RestoreDAO.cs,任务,2,数据库备份还原,DAO,的设计,主要代码说明,添加标题文字,添加标题文字,一、备份数据,/,/,备份数据,/,/,要备份的数据库名称,/,备份文件的存放目录,/,备份文件名,文件名中可以用,DBNAME,代表数据库名,DATE,代表日期,TIME,代表时间,/,备份类型,:DB,备份数据库,DF,差异备份,LOG,日志备份,/,追加,/,覆盖备份文件,true,:追加,,false,:覆盖,/,成功:,true,失败,:false,public bool backup(string dbname,string bkpath,string bkfname,string bktype,bool appendfile),任务,2,数据库备份还原,DAO,的设计,主要代码说明,添加标题文字,添加标题文字,SqlParameter parameters=new SqlParameter5;,parameters0=new SqlParameter(dbname,SqlDbType.VarChar,30);,parameters1=new SqlParameter(bkpath,SqlDbType.NVarChar,260);,parameters2=new SqlParameter(bkfname,SqlDbType.NVarChar,260);,parameters3=new SqlParameter(bktype,SqlDbType.NVarChar,10);,parameters4=new SqlParameter(appendfile,SqlDbType.Bit);,parameters0.Value=dbname;,parameters1.Value=bkpath;,parameters2.Value=bkfname;,parameters3.Value=bktype;,parameters4.Value=appendfile;,return new DB(constring).executeSQL_Proc(p_backupdb,parameters),!=0?true:false;,任务,2,数据库备份还原,DAO,的设计,主要代码说明,添加标题文字,添加标题文字,二、还原数据,/,/,还原数据,/,/,定义要恢复的备份文件名,/,定义恢复后的数据库名,/,恢复类型,:DB-,完成恢复数据库,(RECOVERY),DBNOR-,继续恢复数据库,(NORECOVERY),/,成功:,true,失败,:false,。,public bool restore(string bkfile,string dbname,string bktype,bool overexist),任务,2,数据库备份还原,DAO,的设计,主要代码说明,添加标题文字,添加标题文字,SqlParameter parameters=new SqlParameter4;,parameters0=new SqlParameter(bkfile,SqlDbType.NVarChar,1000);,parameters1=new SqlParameter(dbname,SqlDbType.VarChar,30);,parameters2=new SqlParameter(retype,SqlDbType.NVarChar,10);,parameters3=new SqlParameter(overexist,SqlDbType.Bit);,parameters0.Value=bkfile;,parameters1.Value=dbname;,parameters2.Value=bktype;,parameters3.Value=overexist;,return new DB(constring).executeSQL_Proc(p_RestoreDb,parameters),!=0?true:false;,任务,2,数据库备份还原,DAO,的设计,说明,添加标题文字,添加标题文字,说明:,数据备份界面完成的主要功能如下:,1.,完成完整备份。,2.,完成差异备份。,3.,事务日志备份。,设计界面如下图 图,5-9-1,数据库备份界面。,本界面其它内容比较简单,在此不再详述。,任务,3,数据库备份界面,的设计,添加标题文字,添加标题文字,任务,3,数据库备份界面,的设计,图,5-9-1,数据备份界面,主要代码说明,添加标题文字,添加标题文字,说明:,数据库备份界面完成的主要功能如下:,1.,完成完整还原。,2.,完成差异还原。,3.,事务日志还原。,设计界面如下图 图,5-9-2,数据库还原界面。,本界面其它内容比较简单,在此不再详述。,任务,4,数据库还原界面,的设计,展开阅读全文

咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。
咨信网小贴示:
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】


Windows应用程序开发教程(C#版)第5章第9节-数据管理.ppt
















自信AI助手














微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/14657960.html