技术探索
  • 如何在 Sql Server 中添加数据时明确指定自增字段的值

    2014-09-14
    528
    MSSQL数据库
    如何在 Sql Server 中添加数据时显示指定自增字段的值?例表:createtable[dbo].[t_user]([userid]intidentity(1,1)uniquenotnull,[username]nvarchar(50)notnull)如上表,当向表中插入数据时,自增字段 [userid] 是按当前已有值自动增长的,可使用下面语句:insert[dbo].[t_user]([username])values('Join')语句执行后,[userid] 是自动生成的,如果插入前最大值是 5,那么执行该语句后就是 6。如果希望手动指定 [userid] 的值,比如原表中已有值是 1,3,4,5 ,希望插入一条后的 [userid] 为 2,那么上面的语句就不行了。应该怎么做呢?看如下语句:setidentity_insert[dbo].[t_user]on
  • mssql2008数据库镜像及自动故障转移的建立(步骤提纲)

    2014-03-09
    741
    MSSQL数据库
    以下是初始测试环境:操作系统:windows 2008 r2(主体服务器),windows 2008(镜像服务器),windows 2008(见证服务器)数据库:mssql 2008主体服务器ip: 192.168.0.14镜像服务器ip: 192.168.0.15见证服务器ip: 192.168.0.16严格按照以下顺序执行:一:创建证书1、在主体服务器上执行: 创建证书 创建端点 backup certificate host_a_cert to file='d:\host_a_cert.cer'2、在镜像服务器上执行: 创建证书 创建端点 backup certificate host_b_cert to file='d:\host_b_cert.cer'3、在见证服务器上执行: 创建证书 创建端点 backup certificate host_c_
  • 在js中用ceil、floor和round四舍五入取整

    2014-02-08
    1133
    JS语言
    在js中,有三个方法可以进行类似四舍五入的操作,这与我们在数学中学到的四舍五入有一些区别,下面简要介绍这些方法的使用。1. ceil()ceil() 方法可对一个数进行上舍入。语法为:Math.ceil(x),其中x必须是一个数值,返回值大于等于x,并且是与它最接近的整数。<scripttype="text/javascript">document.write(Math.ceil(0.60));//输出1document.write(Math.ceil(0.40));//输出1document.write(Math.ceil(5));//输出5document.write(Math.ceil(5.1));//输出6document.write(Math.ceil(-5.1));//输出-5document.write(Math.ceil(-5.9));//输
  • 使用 getTimezoneOffset 获取UTC时间和本地时间之间的时差

    2014-02-08
    4853
    JS语言
    getTimezoneOffset() 方法返回的是本地时间与 GMT 时间或 UTC 时间(即格林威治时间)之间相差的分钟数。实际上,该函数告诉我们运行 JavaScript 代码的时区,以及指定的时间是否是夏令时。返回之所以以分钟计,而不是以小时计,原因是某些国家所占有的时区甚至不到一个小时的间隔。由于使用夏令时的惯例,该方法的返回值不是一个常量。该方法总是结合一个 Date 对象来使用。在下面的例子中,我们将取得 GMT 时间与本地时间以分钟计的时间差:<scripttype="text/javascript">vard=newDate();document.write(d.getTimezoneOffset());//以上输出值:-480(即8小时,也就是运行本代码的时区为北京时区)</script>
  • 在 mssql 查询管理器显示执行时间等信息的方法

    2013-11-13
    1012
    MSSQL数据库
    如果要分析语句的执行效率,我们可以在 mssql 查询管理器中打开执行时间等信息显示,这样很方便地分析语句的执行效率情况,以便进行改进。/*显示分析、编译和执行查询所需的时间(以毫秒为单位)。*/setstatisticsprofileon/*报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息*/setstatisticsioon/*显示每个查询执行后的结果集,代表查询执行的配置文件*/setstatisticstimeon/*要执行的语句*/select*from[table]setstatisticsprofileoffsetstatisticsiooffsetstatisticstimeoff另外,也可以通过手工添加语句,计算执行时间来查看执行语句花费了的时间,以判断该条SQL语句的效率如何:declare@ddatetim
  • 有用的MSSQL语句(一)

    2013-09-27
    533
    MSSQL数据库
    本文介绍一些有用的MSSQL语句,虽然简单,但很实用,供需要时参考。1、添加主键 alter table [tablename] add primary key(col1)2、删除主键 alter table [tablename] drop primary key(col1)3、创建索引 create unique index [idxname] on [tablename](col1,col2)4、删除索引 drop index [idxname] 索引不能更改,只能删除后再重建5、union运算 union运算符通过组合其他两个结果表(如 table1 和 table2)并消去表中任何重复行而派生出一个结果表。当 all 随 union 一起使用时(即 union all),不消除重复行。6、except运算 except运算符通过包括所有在 table1 中但不在 table2 中
  • C#中解压缩并反序列化二进制数据

    2013-09-23
    1196
    C#语言
    在《使用C#将指定对象压缩并序列化为二进制》一文中介绍了如何将对象压缩并序列化为二进制,本文介绍相反的过程,即解压缩并反序列化(还原为对象)。///<summary>///将二进制反序列化为指定的类型。///</summary>///<typeparamname="T">反序列化的目标类型。</typeparam>///<paramname="bytes">要反序列化的二进制数据。</param>///<paramname="isdecompress">是否解压缩。</param>publicTDeserializeFromBytes<T>(byte[]bytes,boolisdecompress=true){using(S
  • 使用C#将指定对象压缩并序列化为二进制

    2013-09-23
    1823
    C#语言
    本文介绍如何将一个对象(任何类型)压缩,并序列化为二进制。通过该种方式处理后,可以大幅减小数据占用空间。如果再将该二进制数转化为Base64String,就可以保存到磁盘,从而节省空间。///<summary>///将指定对象序列化为二进制。///</summary>///<paramname="obj">要序列化的对象。</param>///<paramname="iscompress">是否压缩。</param>publicbyte[]SerializeToBytes(objectobj,booliscompress=true){if("DataTable"==obj.GetType().Name)((System.Data.DataTable)obj).