上一页 1 ··· 67 68 69 70 71 72 73 74 75 ··· 99 下一页
摘要: 原问题: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 阅读(693) 评论(3) 推荐(2)
摘要: 计算一串数字中每个数字出现的次数,可以这样子,先判断输入的字符串是不是数字组成,还是否包含有其它字符。接下来拆分这一串字符串,每个字符插入一个表变量中,最后使用GROUP BY进行分组。CalNumOfChtInStr SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:Insus.NET--Createdate:2012-02-23--Description:Calculatethenumberofcharactersinthestring--==== 阅读全文
posted @ 2012-02-23 12:18 Insus.NET 阅读(1556) 评论(0) 推荐(2)
摘要: 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 阅读(720) 评论(0) 推荐(1)
摘要: 环境是这样的,一个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 阅读(949) 评论(1) 推荐(2)
摘要: 计算某当天的时间从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 阅读(608) 评论(0) 推荐(1)
摘要: 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 阅读(985) 评论(0) 推荐(1)
摘要: 在维护一个网站,原开发者存储日期时,都是使用int数据类型,如20120218等。现Insus.NET获取这个字段做其它处理,得先需要把它们转为DateTime数据类型。因此产生以下这个User-Defined Functions(自定义函数):udf_ConvertIntDatetimeCREAT... 阅读全文
posted @ 2012-02-18 16:42 Insus.NET 阅读(7336) 评论(0) 推荐(1)
摘要: 此篇博文是这篇密码需要带特殊字符的升级篇,前一篇的存储过程产生的密码随机数,有可能一个随机数就包含有过多的特殊字符,而且第一个字符就有可能是特殊字符。因此产生此篇,随机密码首字符不能为数字与特殊字符但必须包含且只有一个特殊字符。另外还修正了特殊字符集长度问题,使用特殊字符集长度减一(LEN(@SpecialCharacter) - 1) 这样当你增减特殊字符集时,再不需多次地方一同修改。修正前:SUBSTRING(@SpecialCharacter,CONVERT(TINYINT,ROUND(RAND()*6+1,0)),1)修正后:SUBSTRING(@SpecialCharacter,CO 阅读全文
posted @ 2012-02-16 16:03 Insus.NET 阅读(3005) 评论(0) 推荐(1)
摘要: 需要为程序中添加此功能。系统管理可以管理设置此参数,Default值为0,更新大于0,说明启用功能。其实它和用户管理表中的另外一个选项“密码永不过期”相辅相成之后,才能成形一个完整的功能。管理员更新“密码过期天数”选项值,如果由大于0的数值更新为0(初始值),数据库触发器会检查用户管理表中的“密码永不过期”选项或“密码过期日期”是否有值,如果条件为真,更新动作终止。tri_PasswordParameter_Update SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERTRIGGER[dbo].[tri_PasswordParameter_Updat 阅读全文
posted @ 2012-02-09 16:42 Insus.NET 阅读(1346) 评论(0) 推荐(1)
摘要: 最近开发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 阅读(975) 评论(2) 推荐(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 阅读(1467) 评论(0) 推荐(1)
摘要: “Hi,我看了你这篇 三个随机产生密码的存储过程 最后一种的写法随机产生密码,觉得很好,并应用在我的程序中,但是上星期老板对我说,要在随机产生的密码带有特殊字符。我再次测试过之后,才发现你的函数产生的密码只是大小写英文字母和数字,并无包含特殊字符,我要怎样改它呢?”上面全文来自QQ留言。解决你的问题,需要使用上面相同一篇博文的第二种方法相结合,才可以,其实方法还有其它的,下面仅是Insus.NET想到的一种,仅供你参考,有问题,请继续来信,留言或在线讨论:usp_RandomPassword ALTERPROCEDURE[dbo].[usp_RandomPassword](@LengthINT 阅读全文
posted @ 2012-02-06 11:17 Insus.NET 阅读(1558) 评论(0) 推荐(1)
摘要: 需要为程序加一些功能,如下表,这些设置可让管理员根据自己实际情况设置,缺省值为0不作任限制。由于不是全新开发,而是在现在有程序补充功能,Insus.NET不想在程序作过多更改,只好修改存储过程来实现它们。现下面把实现上图highlight的选项功能分享出来。保持密码原有记录值,只要管理员设置了密码策略之后,用户更改自己的密码时,就会应用到了新密码策略。首先写一个获取参数值的自定义函数:udf_GetPasswordParameterValue SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--================================= 阅读全文
posted @ 2012-02-06 10:22 Insus.NET 阅读(752) 评论(0) 推荐(1)
摘要: 重构,每天对Insus.NET来说,是必须的工作,不过一直是着重C#程序。昨晚在家中修改SQL一个小问题时,无意中看到一个触发器虽然它能正确运行,但值得重构它。这个触发器功能是当用户预定会议室成功之后,系统会发送一封预定成功的确认函邮件。下面代码是原始触发器tri_MeetingRoomBooking_BookingSuccessNotify SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:Insus.NET--Createdate: 2011-08 阅读全文
posted @ 2012-02-04 09:10 Insus.NET 阅读(772) 评论(0) 推荐(1)
摘要: 协助一个朋友做一个小网站,其中一个功能,是让用户注册成功之后,系统将随机产生一个登录密码,并自动发送至注册邮箱中,朋友的做法是为了用户使用真实邮箱。随机产生密码,Insus.NET总结了三个,并分别写成了存储过程。第一个,usp_RandomPassword CREATEPROCEDURE[dbo].[usp_RandomPassword](@LengthINT=8)ASBEGINDECLARE@RandomPasswordNVARCHAR(MAX)=N'',@LINT=1WHILE@L<=@Length--循环密码长度BEGIN--随机产生每一位字符,ASCII码48至 阅读全文
posted @ 2012-01-31 14:50 Insus.NET 阅读(1009) 评论(1) 推荐(2)
摘要: 开发的软件中是允许用户可以更自己的密码,现在客户有这样一个要求,是当用户更新密码时,要限制用户不能重新使用最近三次的历史密码。实现客户的要求,唯有在数据库,创建一个密码更新Log表,然后再为Member表写一个触发器,每当用户更新密码时,去检索这个Log表,看看这次更新的密码是否存在Log表中,如果存在,提示用户,返之继续更新动作,然后把更新的信息插入Log表中,最后是删除Log记录,只保留此用户最近三次记录。相关代码,可以参考:MemberPasswordChangeLog CREATETABLEMemberPasswordChangeLog(Log_IdINTIDENTITY(1,1)PR 阅读全文
posted @ 2012-01-30 15:00 Insus.NET 阅读(1502) 评论(5) 推荐(1)
摘要: “大哥,看了你这篇博文http://www.cnblogs.com/insus/archive/2012/01/27/2330058.html,我怎样才能产生10个且每个有8位不相同的随机数字?”刚才有位网友在SKYPE问及如上问题。好的,Insus.NET也正想写一个存储过程来应用上面这篇的SQL语句,你可以参考如下的存储过程,如果还问题请继续讨论。usp_RandomNumber CREATEPROCEDURE[dbo].[usp_RandomNumber](@LenINT=1,--随机数位数@RowsINT=1--随机笔数)ASBEGINDECLARE@TASTABLE([RandomN 阅读全文
posted @ 2012-01-27 14:33 Insus.NET 阅读(1116) 评论(0) 推荐(1)
摘要: MS SQL有一个函数CHAR()是将int(0-255) ASCII代码转换为字符。那我们可以使用下面MS SQL语句,可以随机生成小写、大写字母,特殊字符和数字。大写字母:CHAR(ROUND(RAND() * 25 + 65,0))小写字母:CHAR(ROUND(RAND() * 25 + 97,0))特殊字符:CHAR(ROUND(RAND()*13+33,0))数字:CHAR(ROUND(RAND()*9+48,0)) 阅读全文
posted @ 2012-01-27 11:10 Insus.NET 阅读(991) 评论(1) 推荐(1)
摘要: 你想获取某一年份第一周开始的日期,Insus.NET给你的答案,可以参考使用下面这个函数:http://www.cnblogs.com/insus/articles/1622988.htmlSELECT[StartDate]FROM[dbo].[udf_Week](2012,2012)WHERE[Week]=1上面SQL语句执行结果:但你还是觉得此方法很复杂,而且只需要日期部分,时间部分无需显示。因此Insus.NET更改并产生如下一个新函数,你把函数附加入你的数据库中,即可在程序中应用它了。udf_StartDateOfFirstWeek SETANSI_NULLSONGOSETQUOTED 阅读全文
posted @ 2012-01-26 16:51 Insus.NET 阅读(505) 评论(0) 推荐(1)
摘要: 一个旧有系统需要从另一个新系统获取数据。由于两个系统数据库的的排序规规则不同。在存储过程中SELECT数据时,引发了“无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。”错误。参考截图两个数据的排序规则:Insus.NET没有尝试去更新数据库的collation排序规则,担心会对其它数据的影响。但是问题出现了,还是需要想办法去解决的。在有问题的存过程中,写一个与目标表结构相同的临时表,在设计临时表,在出现问题的字段加上与数据源表的排序规则。如: 阅读全文
posted @ 2012-01-20 13:30 Insus.NET 阅读(1397) 评论(0) 推荐(1)
上一页 1 ··· 67 68 69 70 71 72 73 74 75 ··· 99 下一页