02 2012 档案

摘要: 本次演示,学会了元素本身(.)以及LIKE的操作。宣告一个xml的变量@xml并赋值给它。DECLARE@xmlXML='<Devs><langname="VB.NET"/><langname="C#.NET"/><langname="Java"/><langname="Javascript"/><langname="ASP.NET"/></Devs>'然后,我们可以使用LIKE操作,过滤到我们需阅读全文
posted @ 2012-02-29 23:52 Insus.NET 阅读(139) | 评论 (2) 编辑
摘要: 问题来自http://topic.csdn.net/u/20120226/15/09b1fd42-b587-483b-b4df-9cba2ef3d0ad.html也可参考下图:Insus.NET提供如下解决方法,仅供参考:写一个接口,usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;///<summary>///SummarydescriptionforISetable///</summary>namespaceInsus.NET{publicinterfaceISe阅读全文
posted @ 2012-02-26 17:08 Insus.NET 阅读(148) | 评论 (0) 编辑
摘要: 控制使用FLOWR替代XQuery路径表达式。FLOWR是For,Let,Where,Order by, Return的谓词首字母缩写。下面演示数据表,来自http://www.cnblogs.com/insus/archive/2012/02/26/2368323.html的[dbo].[tbDevLanguage]SELECT[ID],[languages].query('for$lin/Languages/languageorderby$l/@namereturn($l)')AS[language]FROM[dbo].[tbDevLanguage]for是XPath阅读全文
posted @ 2012-02-26 15:45 Insus.NET 阅读(107) | 评论 (0) 编辑
摘要: 在前一篇http://www.cnblogs.com/insus/archive/2012/02/25/2367857.html xml.modify()可以看到所在演示均是为变量的xml数据类型进行操作。Insus.NET想在此篇使用http://www.cnblogs.com/insus/archive/2012/02/25/2367701.html篇中创建的表[dbo].[tbDevLanguage]中的数据进行操作。也就是说以表的xml的数据类型进行演示。在演示之前,Insus.NET修改了此表,添加了一个主键字段,方便过滤记录时行更新。插入元素insert():UPDATE[dbo]阅读全文
posted @ 2012-02-26 01:51 Insus.NET 阅读(85) | 评论 (0) 编辑
摘要: 比如一串字符以某定义符号分隔,现我们需要以定义符号对这串字符进行拆分。可以使用XQuery的nodes()方法来实现。实现可参考到这篇:http://www.cnblogs.com/insus/archive/2012/02/25/2367743.html。不过Insus.NET把实现的方法写成一个自定义函数,在需要的地方调用即可。udf_StringSplit SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:Insus.NET--Createdat阅读全文
posted @ 2012-02-26 00:15 Insus.NET 阅读(100) | 评论 (0) 编辑
摘要: 现在Insus.NET来演示http://www.cnblogs.com/insus/archive/2012/02/24/2367323.html列表中最后一个函数xml.modify()。参考下表,xml.modify()函数有三个方法:函数方法说明xml.modify(insert)在使用的XML数据类型实例插入一个节点或节点的顺序。xml.modify(delete)删除指定的XQuery表达式的结果输出序列的零个或多个节点。xml.modify(replace)修改一个节点的值。首先来演示xml.modify(insert) ,为xml变量值插入一个元素<language na阅读全文
posted @ 2012-02-25 17:24 Insus.NET 阅读(97) | 评论 (0) 编辑
摘要: 这个演示,Insus.NET还是使用这篇的数据源,获取某一节点下元素所有属性值,并放在一个表中:http://www.cnblogs.com/insus/archive/2012/02/25/2367377.html把这个xml的数据转入一个表中。DECLARE@xmlXML='<Languages><languagename="VB.NET"/><languagename="C#"/><languagename="Java"/></Languages>'宣告阅读全文
posted @ 2012-02-25 14:14 Insus.NET 阅读(124) | 评论 (0) 编辑
摘要: xml.query()函数,XQuery表达式可以返回xml一个单一的元素或是所有元素。我们继续使用上一篇所创建表[dbo].[tbDevLanguage] http://www.cnblogs.com/insus/archive/2012/02/25/2367668.html首先我们演示Query所有元素,注意一下查询节点,返回结果获取范围:SELECT[languages].query('/Languages')AS[language]FROM[dbo].[tbDevLanguage]SELECT[languages].query('/Languages/langu阅读全文
posted @ 2012-02-25 13:25 Insus.NET 阅读(94) | 评论 (0) 编辑
摘要: 上一篇是http://www.cnblogs.com/insus/archive/2012/02/25/2367377.html xml.exists()函数演示,而xml.value()函数是接受一个xQuery,并返回得到一个标量值。这里还是继续使用上一篇的数据。首先创建一个表:CREATETABLE[dbo].[tbDevLanguage]([languages]xml)把xml的数据Insert(插入)至刚才创建的表中:DECLARE@xmlXML='<Languages><languagename="VB.NET"/><lan阅读全文
posted @ 2012-02-25 12:37 Insus.NET 阅读(89) | 评论 (0) 编辑
摘要: 你可以看到前一篇http://www.cnblogs.com/insus/archive/2012/02/24/2367323.html XML的XQuery的五个操作方法中,有一个xml.exists()方法,现在Insus.NET作一些演示:宣告一个xml数据类型的变量,并赋值:DECLARE@xmlXML='<Languages><languagename="VB.NET"/><languagename="C#"/><languagename="Java"/></La阅读全文
posted @ 2012-02-25 01:03 Insus.NET 阅读(99) | 评论 (0) 编辑
摘要: 从SQL 2005开始支持了XML数据类型,并提供五个函数可操作。动作说明xml.exist()查询谓词用作判断,传入Xquery将返回三种结果0,1或NULL。0表示没有匹配的元素,1表示有一个匹配,而NULL表示没有查询XML数据。xml.value()接受一个XQuery作为输入并返回一个SQL Server的标量类型。xml.query()接受一个XQuery作为输入并返回输出XML数据类型的流。xml.nodes()接受一个XQuery作为输入并返回从XML文档中单一行集。从本质上讲,它将XML分成多个较小的XML结果。xml.modify()允许你插入,删除或修改节点或节点序列中的阅读全文
posted @ 2012-02-24 23:57 Insus.NET 阅读(110) | 评论 (0) 编辑
摘要: 原问题:http://topic.csdn.net/u/20120222/21/63fda261-02c4-44f2-9b53-79367cddbfc6.htmlInsus.NET已经在3楼回复了,帖主于6楼回复说,执行不了。为DropDownList加一个属性AutoPostBack,并设为true。另外还重构了一下写法:View Code protectedvoidDropDownList1_SelectedIndexChanged(objectsender,EventArgse){if(DropDownList1.SelectedIndex==-1)return;HyperlinkBin阅读全文
posted @ 2012-02-23 13:31 Insus.NET 阅读(179) | 评论 (3) 编辑
摘要: 计算一串数字中每个数字出现的次数,可以这样子,先判断输入的字符串是不是数字组成,还是否包含有其它字符。接下来拆分这一串字符串,每个字符插入一个表变量中,最后使用GROUP BY进行分组。CalNumOfChtInStr SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:Insus.NET--Createdate:2012-02-23--Description:Calculatethenumberofcharactersinthestring--====阅读全文
posted @ 2012-02-23 12:18 Insus.NET 阅读(170) | 评论 (0) 编辑
摘要: Sample如:‘insus’ --> 's','u','s','n','i'转换字符串的字符成单个字符并用逗号分隔,这样可以在动态SQL中供SELECT动态调用至WHERE IN条件内。ConvertINString CREATEFUNCTION[dbo].[ConvertINString](@StringNVARCHAR(MAX))RETURNSNVARCHAR(MAX)ASBEGINDECLARE@ResultNVARCHAR(MAX)=N''DECLARE@IINT=LEN(@Stri阅读全文
posted @ 2012-02-23 00:48 Insus.NET 阅读(35) | 评论 (0) 编辑
摘要: 环境是这样的,一个MasterPage 如MP2(子)嵌套另一个MasterPage 如MP1(父)。一个UserControl 如MyUc,这个UserControl有一个Web控件,如TextBox1它初始状态为Visible="false" ,它是拉在MP1的MasterPage上。 现在是要在MP2的MasterPage的page_Load控制UserControl内的TextBox显示与否。这样的做法,就是所有使用MP1 MasterPage的网页对用户控件的TextBox是不可见,而使用MP2 MasterPage的网页对用户控件的TextBox是可见。Insu阅读全文
posted @ 2012-02-22 13:14 Insus.NET 阅读(137) | 评论 (1) 编辑
摘要: 计算某当天的时间从0点0秒开始,某一时间点过了几秒。可以根据用户输入的时间,计算出午夜时间,然后使用DATEDIFF函数可以算出过几秒。如果获得午夜时间,可以参考:http://www.cnblogs.com/insus/archive/2011/09/09/2172419.html ,Insus.NET在此使用DATE(新版的SQL新增的日期类型,如SQL 2008 R2)完整函数:DurationSeconds CREATEFUNCTION[dbo].[DurationSeconds](@DateDATETIME)RETURNSINTASBEGINDECLARE@MidnightDATET阅读全文
posted @ 2012-02-22 09:05 Insus.NET 阅读(34) | 评论 (0) 编辑
摘要: MS SQL没有一个如vb一样的Cstr的函数。平常在T-SQL开发过程中,却很想要这样的一个功能,把一个输入的值转换为string, 如果用户输入一个NULL值,却把它转为一个N''值。因此也写了一个自定义函数:Cstr CREATEFUNCTION[dbo].[Cstr](@ValueSQL_VARIANT)RETURNSNVARCHAR(MAX)ASBEGINRETURNISNULL(CAST(@ValueASNVARCHAR(MAX)),'')END阅读全文
posted @ 2012-02-20 00:25 Insus.NET 阅读(170) | 评论 (0) 编辑
摘要: 在维护一个网站,原开发者存储日期时,都是使用int数据类型,如20120218等。现Insus.NET获取这个字段做其它处理,得先需要把它们转为DateTime数据类型。因此产生以下这个User-Defined Functions(自定义函数):udf_ConvertIntDatetime CREATEFUNCTION[dbo].[udf_ConvertIntDatetime](@intDateINT)RETURNSDATETIMEASBEGINDECLARE@RTVDATETIMESET@RTV=CONVERT(DATETIME,CAST(@intDateASCHAR(8)),112)RET阅读全文
posted @ 2012-02-18 16:42 Insus.NET 阅读(177) | 评论 (0) 编辑
摘要: 此篇博文是这篇密码需要带特殊字符的升级篇,前一篇的存储过程产生的密码随机数,有可能一个随机数就包含有过多的特殊字符,而且第一个字符就有可能是特殊字符。因此产生此篇,随机密码首字符不能为数字与特殊字符但必须包含且只有一个特殊字符。另外还修正了特殊字符集长度问题,使用特殊字符集长度减一(LEN(@SpecialCharacter) - 1) 这样当你增减特殊字符集时,再不需多次地方一同修改。修正前:SUBSTRING(@SpecialCharacter,CONVERT(TINYINT,ROUND(RAND()*6+1,0)),1)修正后:SUBSTRING(@SpecialCharacter,CO阅读全文
posted @ 2012-02-16 16:03 Insus.NET 阅读(128) | 评论 (0) 编辑
摘要: 需要为程序中添加此功能。系统管理可以管理设置此参数,Default值为0,更新大于0,说明启用功能。其实它和用户管理表中的另外一个选项“密码永不过期”相辅相成之后,才能成形一个完整的功能。管理员更新“密码过期天数”选项值,如果由大于0的数值更新为0(初始值),数据库触发器会检查用户管理表中的“密码永不过期”选项或“密码过期日期”是否有值,如果条件为真,更新动作终止。tri_PasswordParameter_Update SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERTRIGGER[dbo].[tri_PasswordParameter_Updat阅读全文
posted @ 2012-02-09 16:42 Insus.NET 阅读(112) | 评论 (0) 编辑
摘要: 最近开发SQL想控制某些字段,不能手动直接在SQL 编辑更改,因而想到SQL只读字段功能。就比如实现的用户锁定时间,以及密码过期时间,这两个字段均是由密码参数相关设置而系统变更,为了不想让人为在数据手动更改它们,产生与策略相违的做法,因此Insus.NET特为此表写了一个更新(UPDATE)触发器,实现让SQL的字段有只读功能。如:tri_Users_Update CREATETRIGGER[dbo].[tri_Users_Update]ON[dbo].[Users]FORUPDATEASIFUPDATE([LockoutDate])--用户锁定时间BEGINRAISERROR(N'禁阅读全文
posted @ 2012-02-08 12:39 Insus.NET 阅读(147) | 评论 (2) 编辑
摘要: 今天分享密码策略的重试次数与登录失败锁定持续的小功能。软件中,需要一个管理介面,可让系统管理设置相关的参数,这些设置将保存于数据库中,这两个参数初始化为0,如果大于0,说明管理员已经启用此功能。如下:从功能上看,只是涉及至验证用户与登录时需要实现在功能,Insus.NET不想改动太多地方,特别是程序部分,因此Insus.NET只是修改用户登录验证的一个存储过程:逻辑太约分几步,首先是密码参数表获取上图中两个参数:View Code DECLARE@NumberOfRetriesTINYINT=[dbo].[udf_GetPasswordParameterValue](1)DECLARE@Loc阅读全文
posted @ 2012-02-08 09:21 Insus.NET 阅读(101) | 评论 (0) 编辑
摘要: “Hi,我看了你这篇 三个随机产生密码的存储过程 最后一种的写法随机产生密码,觉得很好,并应用在我的程序中,但是上星期老板对我说,要在随机产生的密码带有特殊字符。我再次测试过之后,才发现你的函数产生的密码只是大小写英文字母和数字,并无包含特殊字符,我要怎样改它呢?”上面全文来自QQ留言。解决你的问题,需要使用上面相同一篇博文的第二种方法相结合,才可以,其实方法还有其它的,下面仅是Insus.NET想到的一种,仅供你参考,有问题,请继续来信,留言或在线讨论:usp_RandomPassword ALTERPROCEDURE[dbo].[usp_RandomPassword](@LengthINT阅读全文
posted @ 2012-02-06 11:17 Insus.NET 阅读(157) | 评论 (0) 编辑
摘要: 需要为程序加一些功能,如下表,这些设置可让管理员根据自己实际情况设置,缺省值为0不作任限制。由于不是全新开发,而是在现在有程序补充功能,Insus.NET不想在程序作过多更改,只好修改存储过程来实现它们。现下面把实现上图highlight的选项功能分享出来。保持密码原有记录值,只要管理员设置了密码策略之后,用户更改自己的密码时,就会应用到了新密码策略。首先写一个获取参数值的自定义函数:udf_GetPasswordParameterValue SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=================================阅读全文
posted @ 2012-02-06 10:22 Insus.NET 阅读(108) | 评论 (0) 编辑
摘要: 重构,每天对Insus.NET来说,是必须的工作,不过一直是着重C#程序。昨晚在家中修改SQL一个小问题时,无意中看到一个触发器虽然它能正确运行,但值得重构它。这个触发器功能是当用户预定会议室成功之后,系统会发送一封预定成功的确认函邮件。下面代码是原始触发器tri_MeetingRoomBooking_BookingSuccessNotify SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:Insus.NET--Createdate: 2011-08阅读全文
posted @ 2012-02-04 09:10 Insus.NET 阅读(209) | 评论 (0) 编辑