SQL Server 列转行实现方式

简单的讲就是表中的一个字段存储的以逗号分隔的值,然后想通过逗号分成行,网上找了这种方法挺不错的。

如下例子,ID列表是需要进行拆分的列,表t是对应的数据表,红色标注的是需要改成我们实际业务表或字段。直接运行即可,但这个语句有个缺点,在此基础上再加where条件的话多数会导致SQL异常好像是substring长度不够,使用的时候还是建议先进行where过滤,或在存储过程里使用。

select id,
SUBSTRING(t.ID列表, number ,CHARINDEX(',',t.ID列表+',',number)-number) as ID列表
from dbo.基础单 t,master.dbo.spt_values s
where s.number >=1
and s.type = 'P'
and SUBSTRING(','+t.ID列表,s.number,1) = ','

 

JQuery AJAX 设置成功与异常的回调函数

最近的需求,表单保存时使用ajax获取后台json数据,如果获取时出现异常,需要在页面提醒,并且不允许提交表单将提交按钮隐藏。

我们一般写post请求可能就这样写了:

$.post("url", {id: 1}, function(result){ 
    alert(result);
});

这样写只能是调用成功后,会执行回调函数,如果说调用出现异常,这时候只能写完整版的ajax调用了,代码如下:

$.ajax({
    type: 'POST',
    url: '/test/testfuncion',
    data: {id: 1},
    success: function (data) {
        //调用成功时回调
        alert(data);
    },
    error: function (jqXHR, textStatus, errorThrown) {
        //调用出现异常时回调(404、500、开发者工具主动blocked等)
        alert("系统出现错误。" + textStatus);
        $("#submit_btn").hide();
    }
});

这时候在error中增加异常处理,这样JS前台验证如果出错了,也不允许用户提交。

【资源收藏】Windows上的锐速ServerSpeeder,亲测好用!

Long months ago..在网上想找windows版的锐速,大伙应该搜索到的结果大部分是什么开心版、破解20M版等UI页面是蓝色背景窗口的版本,我这边也尝试多个不同的版本,感觉好像真的是这个软件就是“让你开心”的,实际没卵用。直到后来网上搜索到现在这个版本,在多个地区的VPS上稳定使用数月。(忘记最终在哪儿找到的这个资源了,就不发原帖地址了-。-)

这个版本针对xp,2003老旧系统,32位64位均有单独的版本,真的是我见到的最完美组合包,使用方法:
1.复制ServerSpeeder文件夹到任意目录。
2.双击 serverSpeeder.bat 破解程序,启动锐速(如有UAC等控制请用管理员身份运行)。

下载:点击下载

Jquery 插件使HTML的table表格冻结表头(固定第一行)

实现一个非常长的Table,固定且可设置固定高度,并且滚动的时候固定列表表头。在这里推荐一个插件叫:jquery.freezeHeader。

使用方法非常简单,获取js文件,代码中引用jquery基本脚本和插件脚本,使用也非常简单,一句话搞定。

引用:
<script src="~/Scripts/jquery/jquery.freezeheader.js"></script>

使用:
$("#tableid").freezeHeader({ 'height': '300px' });

不过,虽然实现了效果,我这里有些列表会遇到稍微错列的情况,如下图:(敏感业务数据打了马赛克)

作为有强迫症的我来说受不了这个,经简单分析应该是获取width时小数的问题,这里我对原脚本文件做了一些修改,确保列表每个单元格的宽度都设定一致。

改后脚本下载,右键另存为:点击下载