神泣私服根据时间更改人物POINT倍数
/******************* 功能:根据时间更改人物POINT倍数 时间:2010-11-12 作者:龙歌网络 ************************/ USE PS_GameData GO --判断是否存在触发器 if exists(select name from sysobjects where name='trig_Chars') drop trigger trig_Chars go --创建触发器 create trigger trig_Chars on Chars for Update as --声明要用到的变量,userid用户名,times倍数 declare @UserID varchar(50),@times int select @UserID=[UserID] from inserted begin if (Datepart(weekday, getdate()...
sqlserver提供的表级锁
sqlserver提供的表级锁 sqlserver所指定的表级锁定提示有如下几种 1. HOLDLOCK: 在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁。 2. NOLOCK:不添加共享锁和排它锁,当这个选项生效后,可能读到未提交读的数据或“脏数据”,这个选项仅仅应用于SELECT语句。 3. PAGLOCK:指定添加页锁(否则通常可能添加表锁) 4. READCOMMITTED用与运行在提交读隔离级别的事务相同的锁语义执行扫描。默认情况下,SQL Server 2000 在此隔离级别上操作。 5. READPAST: 跳过已经加锁的数据...
.NET中yield语句
C# 1.0使用foreach语句可以轻松地迭代集合。在C# 1.0中,创建枚举器仍需要做大量的工作。C# 2.0添加了yield语句,以便于创建枚举器。 yield return语句返回集合的一个元素,并移动到下一个元素上。yield break可停止迭代。 下面的例子是用yield return语句实现一个简单集合的代码。类HelloCollection包含GetEnumerator()方法。该方法的实现代码包含两个yield return语句,它们分别返回字符串Hello和World。 using System; using System.Collection; namespace Wrox.ProCAharp.Arrays { public cla...
.NET中的泛型
一、 简介 泛型现在在任何一种语言中都被认为是一个高级的强有力的术语。当我在C++中第一次接触模板时,我对之有些疑惑。之后,我读了Bjarne Stroustrop的《The Design and Evolution of C++》,才发现模板的使用就象C中的宏和用之来取代的简单串替换模板一样容易。其实,模板和泛型是相同的东西-尽管它们的实现稍微不同。 C#泛型支持在使用点处才定义算法及其数据类型。在C#的一些早期版本中,我们可以证明没有泛型也可以工作,因为每种类型都是派生于一个公共基类型-object。这意味着程序员可以基于object类型定...
c#中的结构详解
前面介绍了类如何封装程序中的对象,也介绍了如何将它们保存在堆中,通过这种方式可以在数据的生存期上获得很大的灵活性,但性能会有一定的损失。因托管堆的优化, 这种性能损失比较小。但是,有时仅需要一个小的数据结构。此时,类提供的功能多于我们需要的功能,由于性能的原因,最好使用结构。看看下面的例子: class Dimensions { public double Length; public double Width; } 上面的示例代码定义了类Dimensions,它只存储了一个项的长度和宽度。假定编写一个安排设备的程序,让人们试着重新...
C#预处理器指令(二)
除了前面介绍的常用关键字外,C#还有许多名为“预处理器指令”的命令。这些命令从来不会转化为可执行代码中的命令,但会影响编译过程的各个方面。例如,使用预处理器指令可以禁止编译器编译代码的某一部分。如果计划发布两个版本的代码,即基本版本和有更多功能的企业版本,就可以使用这些预处理器指令。在编译软件的基本版本时,使 63 第Ⅰ部分 C# 语 言 用预处理器指令还可以禁止编译器编译与额外功能相关的代码。另外,在编写提供调试信息的代码时,也可以使用预处理器指令。实际上,在销售软件时,一般不...
给Main()方法传送参数
给Main()方法传送参数 前面的例子只介绍了不带参数的Main()方法。但在调用程序时,可以让CLR包含一个参数,将命令行参数转送给程序。这个参数是一个字符串数组,传统称为args(但C#可以接受任何名称)。在启动程序时,可以使用这个数组,访问通过命令行传送过来的选项。 下面的例子ArgsExample.cs是在传送给Main方法的字符串数组中迭代,并把每个选项的值写入控制台窗口: using System; namespace Wrox.ProCSharp.Basics { class ArgsExample { public static int Main(string[] args) { for (int i = 0; i < ar...
.NET中的using
using语句 显然,命名空间相当长,键入起来很繁琐,用这种方式指定某个类也是不必要的。如本章开头所述,C#允许简写类的全名。为此,要在文件的顶部列出类的命名空间,前面加上using关键字。在文件的其他地方,就可以使用其类型名称来引用命名空间中的类型了: using System; using Wrox.ProCSharp; 如前所述,所有的C#源代码都以语句using System;开头,这仅是因为Microsoft提供的许多有用的类都包含在System命名空间中。 如果using指令引用的两个命名空间包含同名的类,就必须使用完整的名称(或者至少较长的名称...
.net中的string类型
有C和C++开发经验的人员可能在使用C风格的字符串时不太顺利。C或C++字符串不过是一个字符数组,因此客户机程序员必须做许多工作,才能把一个字符串复制到另一个字符串上,或者连接两个字符串。实际上,对于一般的C++程序员来说,执行包装了这些操作细节的字符串类是一个非常头痛的耗时过程。Visual Basic 程序员的工作就比较简单,只需使用string类型即可。而Java程序员就更幸运了,其String类在许多方面都类似于C#字符串。 C#有string关键字,在翻译为.NET类时,它就是System.String。有了它,像字符串连...
C#预定义类型
8位有符号的整数 7 7 sbyte System.SByte –128~127 (–2~2–1) 16位有符号的整数 15 15 short System.Int16 –32 768~32 767 (–2 ~2 –1) 32位有符号的整数 31 31 int System.Int32 –2 147 483 648~2 147 483 647(–2 ~2 –1) long System.Int64 64位有符号的整数 –9 223 372 036 854 775 808~9 223 372 036 854 775 807(–263~263–1) 8位无符号的整数 8 byte System.Byte 0~255(0~2–1) 16位无符号的整数 16 ushort System.Uint16 0~65535(0~2 –1) 32位无符号的整数 32 uint System.Uint32 0~4 294 967 295(0~2 –1) ulong...