实验17-实现用户自定义函数参考答案实验17-实现用户自定义函数参考答案.docVIP

实验17-实现用户自定义函数参考答案实验17-实现用户自定义函数参考答案.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验17-实现用户自定义函数参考答案实验17-实现用户自定义函数参考答案

实现用户自定义函数 [说明] /*现在要做一个会员查询网页,供人们查询某会员的基本信息。使用者在网页输入会员的部分姓名,网页就返回匹配该查 询条件的所有会员的基本信息。输入的部分姓名可以多种多样,比如,查找“张大维”,可以输入“张”、“大”、“维”、“张维”、 “大维”等等。假设局部变量@PartialName存放输入的部分会员姓名,请用Transact-SQL语句写一段代码完成该查询。*/ 代码如下: --实现思路:将输入关键字张大维 - 处理为- %张%大%维 declare @outPut varchar(20),@times int ,@len int,@PartialName varchar(20) --@output 用于存储分解完的字符串 --@times 用于存储循环的次数 --@len 用于存储检索关键字的长度 --@partialName 用于存储检索关键字 set @partialName =张大维 set @len = len(@partialName) set @times = 1 set @output = % while @times = @len --判断循环次数是否小于等于字符串长度 begin set @outPut = @outPut + substring(@partialname,@times,1)+% --截取某一字符与上一次截取进行连接 set @times =@times + 1 print @outPut end select * from bbsUsers where bname like @output --检索用户表,查看用户名中是否包含‘张大维’ 处理缺陷 1、该过程如果放置前台作为数据请求,代码冗长 2、只能针对于用户表的用户名检索,是否可以用于其它表字段,如何处理? 现要求将字符串处理部分,封装成函数。供查询调用 函数名 fnStrProc 形参 @partialName 返回值 字符串处理结果 create function fnStrProc(@PartialName varchar(20))--接收输入关键字 returns varchar(50) as begin --实现思路:将输入关键字张大维- 处理为- %张%大%维 declare @outPut varchar(20),@times int ,@len int --@output 用于存储分解完的字符串 --@times 用于存储循环的次数 --@len 用于存储检索关键字的长度 --@partialName 用于存储检索关键字 set @len = len(@partialName) set @times = 1 set @output = % while @times = @len --判断循环次数是否小于等于字符串长度 begin set @outPut = @outPut + substring(@partialname,@times,1)+% --截取某一字符与上一次截取进行连接 set @times =@times + 1 end return @output end --调用该函数,查询bbsUsers表用户名字段内容中是否含有关键字’东败’ select * from bbsUsers where uname like dbo.fnStrProc(东败) --检索用户表,查看用户名中是否包含‘东败’ --调用该函数,查询bbsTopic表发帖内容中是否含有关键字’jsp文件’ select * from bbsTopic where tContents like dbo.fnStrProc(jsp) --检索用户表,查看用户名中是否包含‘东败’ 2、网页上传输的数据在转换过程中会变成非法字符,现希望在验证用户登录时对用户输入的用户名和密码中的非法字符串(例如:,:,-,”)进行过滤。请写函数实现 create function fn_filter(@str varchar(255)) –接收过滤字符 returns varchar(255) --返回过滤后的字符串 as begin set @str = replace(@str,,) --代表一个单引号 set @str = replace(@str,:,) set @str = replace(@str,-,) set @str = replace(@str,“,) return @str end --调用该函数,验证用户登录。用户输入信息为: 用户名

文档评论(0)

cduutang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档