上一页 1 ··· 63 64 65 66 67 68 69 70 71 ··· 94 下一页
摘要: “大哥,看了你这篇博文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 阅读(1068) 评论(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 阅读(951) 评论(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 阅读(474) 评论(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 阅读(1324) 评论(0) 推荐(1) 编辑
摘要: Msg 102, Level 15, State 1, Line 3Incorrect syntax near '+'.当你尝试执行下面这段代码时,会得到如上这个错误提示。View Code DECLARE@MyNameNVARCHAR(100)DECLARE@FieldNameSYSNAME=N'Name'EXECUTEsp_executesqlN'SELECTTOP1@OutputName=['+@FieldName+']FROM[dbo].[Member]',N'@OutputNameNVARCHAR(100)OUT 阅读全文
posted @ 2012-01-20 12:48 Insus.NET 阅读(397) 评论(0) 推荐(1) 编辑
摘要: 相关的OBJECTPROPERTY可参考:http://msdn.microsoft.com/en-us/library/ms176105.aspx开发过程中,错误免不了。为了纠正错误与规范化。可以使用MS SQL Server的系统存储过程sp_rename与OBJECTPROPERTY来更改重命名。实例一,更改表名:View Code IFEXISTS(SELECTTOP11FROMdbo.sysobjectsWHEREid=object_id(N'[dbo].[Employee]')ANDOBJECTPROPERTY(id,N'IsUserTable')= 阅读全文
posted @ 2012-01-20 10:15 Insus.NET 阅读(428) 评论(0) 推荐(1) 编辑
摘要: 从SQL Server的视图INFORMATION_SCHEMA 中用INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE 和INFORMATION_SCHEMA.TABLE_CONSTRAINTS两个视图INNER JOIN在一起,可以列出需要的数据,下面Insus.NET把它写成一个自定义函数:udf_KeyColumns CREATEFUNCTION[dbo].[udf_KeyColumns]()RETURNSTABLEASRETURN(SELECTkcu.[TABLE_NAME],kcu.[COLUMN_NAME],kcu.[ORDINAL_POSITI 阅读全文
posted @ 2012-01-19 16:59 Insus.NET 阅读(417) 评论(0) 推荐(1) 编辑
摘要: 参考下面sp_executesql单个输出参数,@I变量为动态列名,列名后缀n或是c,为了比较更新前后值是否发生了变化,分别做了两次SELECT取值,程代码冗余和产生不容忽视性能的问题。:View Code SET@sql=N'SELECT@N=['+CONVERT(NVARCHAR(MAX),@I)+'n]FROM#inserted'EXECUTEsp_executesql@sql,N'@NDECIMAL(18,0)OUTPUT',@NnOUTPUT;SET@sql=N'SELECT@O=['+CONVERT(NVARCHAR( 阅读全文
posted @ 2012-01-18 17:05 Insus.NET 阅读(835) 评论(0) 推荐(1) 编辑
摘要: C#中有如下bool判断:第一种:boolisExist=false;if(isExist==true){//...}第二种:boolisExist=false;if(isExist){//...}T-SQL中判断记录是否存在:第一种:IF(SELECTCOUNT(*)FROM[tableName])>0BEGIN--...ENd第二种:IFEXISTS(SELECTTOP11FROM[tableName])BEGIN--...ENdInsus.NET的选择,不管是C#还是T-SQL均为第二种。 阅读全文
posted @ 2012-01-18 14:03 Insus.NET 阅读(728) 评论(6) 推荐(1) 编辑
摘要: 平常时写触发器(TRIGGER),一般会分别写插入(INSERT),删除(DELETE)和更新(UPDATE)单独的触发器。但是有时候,可以视看处进逻辑程度,可以把三者写成一个触发器,只是在其中稍作判断而已。你可以根据从下面方法判断触发器是是处理了插入,删除还是更新触发的:View Code --宣告两个变量DECLARE@DBIT=0DECLARE@IBIT=0--如果在DELETED内部临时触发表找到记录,说明旧数据被删除IFEXISTS(SELECTTOP11FROMDELETED)SET@D=1--如果在INSERTED内部临时触发表找到记录,说明有新数据插入IFEXISTS(SELE 阅读全文
posted @ 2012-01-18 13:26 Insus.NET 阅读(723) 评论(1) 推荐(1) 编辑
摘要: 客户要求,要对一个敏感数据表进行Audit跟踪。如果记录被更新时,要把旧新保存起来,是谁更改了记录,什么时候更新的等相关信息。还有一个主要问题就是客户不确定具体要跟踪那个字段,希望自己决定。Insus.NET解决这个问题,只有创建另外一个表,将存储用户决定要跟踪的表,以及这个表中需要跟踪的字段。还要创建另外一个表[Audit],就是存储跟踪记录的表:Audit SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[dbo].[Audit]([Audit_nbr][int]IDENTITY(1,1)NOTN 阅读全文
posted @ 2012-01-18 12:50 Insus.NET 阅读(2020) 评论(0) 推荐(1) 编辑
摘要: 近段时间,MS SQL方面,一直需要开发动态方面的存储过程或是触发器以及表函数。因为程序设计一开始就是让用户动态添或是删除一个表的字段,然而这个表的相关存储过程或是触发器以及为报表准备的表函数也会随之这个表的字段变化而变化。刚开始时,这个表的字段很少(10个以内),前开发者把这个表的所有存储过程与触发器以及表函数全是写死了。用户每添加一些字段,都需要手动去更改这些存储过程与触发器以及表函数。现在这个表的字段已经高达300个以上,有可能还会增长,因此Insus.NET的业务就是把这此静态全改写为动态处理。然而有一个问题一直困拢至昨天,昨天是星期天本应是休息的,但是这个问题没有解决,因此这天算不上 阅读全文
posted @ 2012-01-16 15:28 Insus.NET 阅读(679) 评论(0) 推荐(1) 编辑
摘要: 开发业务需求,需要对一个表作数据分析,由于数据量较大,而且分析时字段会随条件相应变化而变化。因此计划先把数据转插入一个临时表,再对临时表的数据进行分析。问题点是如何动态创建临时表。原先Insus.NET使用下面代码实现:View Code 1DECLARE@sNVARCHAR(MAX)='2IFOBJECT_ID(''[dbo].[#Tb]'')ISNOTNULL3DROPTABLE[dbo].[#Tb]4CREATETABLE[dbo].[#Tb]5(6[xxx]INT,7[xxx]NVARCHAR(50),8'+[dbo].[Column]( 阅读全文
posted @ 2012-01-14 14:41 Insus.NET 阅读(1603) 评论(1) 推荐(2) 编辑
摘要: 如何清除ListBox的列表项(删除所有项目), 今天开发程序时,有尝试使用此功能。一开始并不是很顺利。循环所有item去做remove时,需要执行两次才可以完成清除。debug进行步进跟踪,发现在Listbox.Items.Count 每移除一个,Count随之减少,而Capacity并没有作相应变化。在网上搜索相关资料,相当多用户有相同要求,一次移除ListBox的列表所有项。方法均是用:View Code for(inti=0;i<Listbox1.Items.Count;i++){Listbox1.Items.RemoveAt(i);}或者:View Code foreach(L 阅读全文
posted @ 2012-01-09 15:42 Insus.NET 阅读(5498) 评论(4) 推荐(2) 编辑
摘要: 两个自定义函数,一个是返回一个Table,另一个是直接返回名称。udf_WeekDayName CREATEFUNCTION[dbo].[udf_WeekDayName]()RETURNS@WeekDayNameTABLE([Id]INT,[WeekDayName]NVARCHAR(15))ASBEGININSERTINTO@WeekDayName([Id],[WeekDayName])VALUES(0,'Saturday'),(1,'Sunday'),(2,'Monday'),(3,'Tuesday'),(4,'Wedn 阅读全文
posted @ 2012-01-03 09:33 Insus.NET 阅读(454) 评论(0) 推荐(2) 编辑
摘要: Info Syteline ERP在公司是使用Intranet License的,这将说明使用多个站点,了解Intranet license的机制的,站点之间有某些Data或是table和License是共用的。如果想复制另外一个站点使用现有的数据库Data. 完成之后,需要把站点之间的Replication rule remove的话。可按如下几个步骤:1. 备份需要数据的站点的数据库,然后恢复至目标的站点。2.使用sa user name 登录系统。3. 打开"Replication Management" 窗口和删除所有在REplication Rules的数据,点击 阅读全文
posted @ 2011-12-20 16:13 Insus.NET 阅读(441) 评论(0) 推荐(1) 编辑
摘要: 在论坛内看到一个问题,问“如何判断一个String字符是否在string[]数组里”。问题URL:http://topic.csdn.net/u/20111216/11/b33273ef-b611-4906-890a-c3d42f4e7961.html当循环去判断,一定是没有问题的啦。另外,从.NET Framework的Library中可以看到,Array有实作IList接口,所以Insus.NET想使用IList.Contains()方法来判断。需要使用命名空间: using System.Collections;。View Code stringa="A";strin 阅读全文
posted @ 2011-12-16 13:47 Insus.NET 阅读(12753) 评论(10) 推荐(1) 编辑
摘要: 今天浏览博客园时,发现一个小问题。Code view时,只要你收起与展开一次,“复制代码”将增加一个。可参考下面动画: 阅读全文
posted @ 2011-12-13 13:03 Insus.NET 阅读(228) 评论(0) 推荐(1) 编辑
摘要: 在开发asp.net过程中,Insus.NET较喜欢写UserControl(用户控件),因为它就是一个灵活的对象。可以在网页随意变换与控制。此次Insus.NET想说的问题,可看如下说明,就比如前一篇《观察者模式与用户控件之间的互动 》,其中UserD与UserC两个用户控件可以交互。这两个用户控件都写了event(事件),delegate(委托)。这部分可以重构一下。把他们写成一个interface(接口),也就是写成一个事件接口。此篇另写例子,让我们学会如何在asp.net开发过程中写事件接口与应用,非以前篇作重构与修改。ITransmitable usingSystem;usingSy 阅读全文
posted @ 2011-12-12 09:20 Insus.NET 阅读(1996) 评论(2) 推荐(2) 编辑
摘要: 什么叫观察者设计模式(Observer Pattern),在此不作过多解释。Insus.NET以一个很简单的例子来演示给大家看看。一个是发布者,而发布者只关心会有谁订阅:IPublishusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;///<summary>///SummarydescriptionforIPublish///</summary>namespaceInsus.NET{//发布者接口publicinterfaceIPublish{//只关心会有谁订阅v 阅读全文
posted @ 2011-12-10 13:28 Insus.NET 阅读(2315) 评论(3) 推荐(3) 编辑
上一页 1 ··· 63 64 65 66 67 68 69 70 71 ··· 94 下一页