编程小知识锦集
东西比较杂,无论在写程序还是在平时使用电脑,偶尔会遇到一些细微的问题需要我们花费时间去找答案,在这里我收集一下,希望能给大家带来些许的帮助(持续收集中)
1.在html中如何写一个下载文件的链接
<a href="TestFile.rar">下载文件</a>
将需要下载的文件压缩成.zip/.rar或者浏览器打不开的其他格式,这样点链接的时候即可实现文件下载。
2.在windows的cmd命令符中运行命令时如何中止
比如我们在运行Ping 192.168.1.1 -t 这个命令时,如果我们不中止,它将永远循环执行下去,我们又不想关掉命令窗口,只想停止当前的命令,
可以按 Ctrl+C 强行终止正在进行的当前进程,这样我们就能执行新的命令了。
3.windows运行关机命令
Ctrl+R,在运行窗口执行shutdown -s -t 0 命令,系统关机,最后的0是等待的秒数。
也可以在等待关机期间,执行 shutdown -a 命令取消关机。
4.windows运行记事本命令
Ctrl+R,在运行窗口执行 notepad 命令,系统会打开一个新的记事本。
5.WinForm中Tab键的顺序
WinForm程序中,想按Tab键光标按顺序走,可以设置控件的TabIndex属性,从0开始,依次切换。
6.运行中快速查看电脑的硬件信息
Ctrl+R,执行 dxdiag 命令,即可看到计算机的基本硬件信息了。
7.如何开机时不用输入密码,锁定时保留密码
Ctrl+R打开运行窗口,执行 control userpasswords2 命令,将要使用本机,必须使用用户名和密码一项前的勾取消即可。
8.在Word中如何竖着选中一列文字
按着Alt键同时鼠标选中需要的文字,发现可以竖着选中文本,这方法在数据库中也能用,但在网页上不行
9.如何格式化整理HTML代码和C#代码
在HTML源码中,按Ctrl+K+D格式化整理 ;
在C#代码中,Ctrl+A全选,按Ctrl+K+F格式化整理。
10.HTML中的input如何调用C#后台方法
input中runat="server",onclick调用的是前台的方法,onserverclick调用的是后台的方法。
<input type="button" id="Button1" runat="server" value="调用后台" onserverclick="Button1_Click" /> //html
protected void Button1_Click(object sender, EventArgs e) //C#
11.C#如何从后台获取html控件的值
<textarea id="textarea1" name="textContent" rows="5",cols="10" runat="server"></textarea>
给控件加runat="server",即可在后台调用this.textarea1.InnerText;
12.如何在不关闭已打开记事本的情况下刷新其内容
例如,有一个过程,写入文件。 当正在运行的进程,我在记事本中打开该文件。 写入该文件的过程。
除关闭并重新打开文件,是我“刷新”的数据显示,记事本有什么办法呢?
使用文件>打开或CRTL + O重新打开该文件。 这样,你就没有记事本打开一个新的实例。 除此之外,只能使用其他软件,例如记事本++
13.HTML:打开的静态页出现乱码
如果静态页打开后出现乱码的话,有可能是编码格式不对,在<head>标记内加上<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 即可。
14.WIN7系统下Internet网络的连接与断开
如何断开网络:打开控制面板>网络和共享中心>点击本地连接>禁用 即可断开当前网络的连接
如何打开网络:按照上面的步骤,网络已断开连接,这时点连接到网络,系统提示连接不可用。要点击更改适配器设置,右击本地连接>启用,系统会搜索当前可用网络并连接。
15.Win7设置服务的自动启动
如果不想让某个服务开机自动启动的话,Ctrl+Alt+Del,打开服务,找到相应的项,属性设置为手动启动,在你想启动该服务的时候手动启动。
16.快速清除IE浏览器的缓存
在使用IE浏览器调试程序的时候,经常要清除浏览器的缓存来查看程序执行的最新效果,快捷键 Ctrl+Shift+Delete 也许可以帮你实现,弹出对话框后按 D 清除缓存。
17.Sql Server 查询表中数据的行号,便于分页
SELECT row_number()over(ORDER BY userid) AS ROWNUM,name FROM userinfo
18.console.log()
console.log()方法可以在控制台中输出信息,我们可以用这个方法记录错误信息或者提示信息,比如百度首页,console中输出的信息"一张网页,要经历怎样的过程,才能抵达用户面前?一位新人,要经历怎样的成长,才能站在技术之巅?"
19.简单的sql数据库连接字符串写法
<connectionStrings> <add name="conn" connectionString="uid=sa;pwd=123;server=.database=DBTest;"/> </connectionStrings>
20.如何引用webservice
首先要添加服务引用,然后在代码中要Using服务的命名空间,接着实例化webservice的SoapClient,接下来就能使用webservice中的方法了。
21.VS中的文件如何与磁盘文件同步
项目中某个文件夹下的文件,在windows资源管理器中可以看到,但在项目中不显示,这时点显示所有项目,将未显示的项目右键包括在项目中,再刷新下就可以了
22.html屏蔽鼠标右键
把网页的标签修改为下面的代码:<body oncontextmenu=self.event.returnValue=false onselectstart="return false">
23.html点击文字选中相应的单选按钮
<input type="radio" id="check1" name="check" /><label for="check1">选项1</label> <input type="radio" id="check2" name="check" /><label for="check2">选项2</label>
24.jquery控制css的display(控制元素的显示与隐藏)
使用jquery真的很方便,比如要控制div的显示与隐藏,一句话就搞定了,请看下面使用说明。
$("#id").show()表示display:block,
$("#id").hide()表示display:none;
$("#id").toggle()切换元素的可见状态。如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。
25.jquery清空文本框的值
$("#id").val("");清空元素的值。
26.正则验证数字(包含小数)
^[0-9]*|[0-9]+(.[0-9]*)$
27.jquery设置元素的onblur事件
$("#id").live("blur",function(){..........});
28.vs中快速去除所有断点
ctrl+shift+F9,快速删除所有断点
29.jquery设置元素的宽度
$("#id").width(100);
30.jquery获取对象的长度
var length = $("#id").length;
31.jquery加载页面的方法(页面加载完成就执行)
1、$(function(){ //adding your code here }); 2、$(document).ready(function(){ $("#a").click(function(){ //adding your code here }); });
32.C#控制台应用程序
1.主函数如何调用本文件中其它类的方法:将新增的类的访问修饰符设置成public
2.Console.Write(); //将结果打印出,焦点在结果的后面。
3.Console.WriteLine(); //将结果打印在单独行上,焦点在下一行。
33.C#生成Guid
string id = System.Guid.NewGuid().ToString(); //字符串类型
System.Guid guid = System.Guid.NewGuid(); //Guid类型
34.C#格式化时间字符串
string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); //使用24小时制格式化日期
string time = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss.fff"); //使用12小时制格式化日期
35.JS输出随机数
document.write(10*Math.random()); //输出0~10之间的随机数
document.write(parseInt(10*Math.random())); //输出0~10之间的随机整数
Math.random()方法返回值的范围是0-1之间,不包括0和1,位数在16-18之间(包括小数点)。
36.html中table如何显示单线
<table border="1px" cellspacing=0> <tr> <th>姓名</th> <th>年龄</th> </tr> <tr> <th>张三</th> <th>18</th> </tr> </table>
37.设置div的透明度
background-color: transparent; //设置背景色为透明;
opacity:0.5; //设置透明度为50%;
filter:alpha(opacity=15);
38.发布网站注意事项
后台文件(如.ashx)在html页面中的引用是同级的,相应的后台文件名要在web.config配置文件中配置即可。
39.远程桌面连接快捷键
Ctrl+R,mstsc,回车
40.如果一张表中有多条数据,其中类型字段有重复,如何查出表中的类型数量
select COUNT(distinct stype) from stable;
41.后台拼的html字符串用jquery替换前台页面的源码
$("#div").html("<a>YES</a>");
42.js里用正则替换字符串里的特殊字符
假如str是一个字符串,想替换字符串里的加号的话,在js里可以用 str = str.replace(new RegExp(/\+/g)," ");
这样就把字符串里的加号替换为空格了,正则里加号前的反斜杠是转义用的,因为加号在正则里有特殊意义,如果是平常的字符的话,可以不加转义斜杠。
43.vc连接sqlserver数据库连接字符串
Provider=SQLOLEDB.1;Server=127.0.0.1;DATABASE=TestDB;UID=sa;PWD=123456;
44.网站里配置一般处理程序的映射
在项目中,配置后台文件的映射一般是写文件的命名空间,在网站中,后台文件没有命名空间,要配置的话就要新加一个cs文件,继承IHttpHandler类,功能和.ashx文件是一样的,
只不过.ashx文件不能被找到,添加.cs文件只是为了能实现映射而已,cs文件的位置在App_Code文件夹下。
<httpHandlers>
<add verb="*" path="test.aspx(虚拟页面)" type="命名空间.类名"/>
</httpHandlers>
45.网站配置错误页
<system.web> <customErrors mode="On" defaultRederect="Error.htm"> <error statusCode="404" redirect="Error.htm" /> </customErrors> </system.web>
46.jquery使用trigger()方法实现控件触发
$("#ID").trigger("change");
这样一句简单的代码就能触发控件的change事件。
47.Div加滚动条
overflow、overflow-x:scroll、overflow-y:hidden
语法:
overflow : visible | auto | hidden | scroll ;
参数:
1.visible :不剪切内容也不添加滚动条。假如显式声明此默认值,对象将被剪切为包含对象的window或frame的大小。并且clip属性设置将失效
2.auto :此为body对象和textarea的默认值。在需要时剪切内容并添加滚动条
3.hidden :不显示超过对象尺寸的内容
4.scroll :总是显示滚动条
说明:
检索或设置当对象的内容超过其指定高度及宽度时如何管理内容。
设置textarea对象为hidden值将隐藏其滚动条。
对于table来说,假如table-layout属性设置为fixed,则td对象支持带有默认值为hidden的overflow属性。如果设为hidden,scroll或者auto,那么超出td尺寸的内容将被剪切。如果设为visible,将导致额外的文本溢出到右边或左边(视direction属性设置而定)的单元格。
自IE5开始,此属性在MAC平台上可用。
对应的脚本特性为overflow。
48.三元表达式
string value = !string.IsNullOrEmpty(str)?str:"";
如果字符串str不为空或不为null的情况下value的值为str的值,否则为空字符串。
49.鼠标经过变手形
style="cursor:pointer;"
50.html页面如何接收地址栏的参数
页面引用下jquery.js,用下面的方法就可以接收从另一个页面传过来的参数,例如:location.href="test.html?action=getlist"
$(function () { var request = { QueryString: function (val) { var uri = window.location.search; var re = new RegExp("" + val + "=([^&?]*)", "ig"); return ((uri.match(re)) ? (uri.match(re)[0].substr(val.length + 1)) : null); } } var a = request.QueryString("action"); if (a) { alert(a); } else { alert("未获取到参数"); } });
51.zTree做节点搜索选中
在文本框中输入汉字,通过name去找tree中的节点,然后选中该项
$(document).ready(function () { $.fn.zTree.init($("#tree"), setting, zNodes); $("#search").click(function () { var treeObj = $.fn.zTree.getZTreeObj("tree"); var nodes = treeObj.getNodesByParam("name", $("#name").val(), null); if (nodes.length > 0) { treeObj.selectNode(nodes[0]); alert(nodes[0].id + "," + nodes[0].name); } else { alert("未找到该项"); } }); });
52.html页面用js屏蔽脚本错误
如果需要提示错误的话,把注释部分打开即可。
function fnOnError(msg,url,lineno){ //alert("window.onerror\n\n" + //"Error: " + msg + "\n" + //"URL: " + url + "\n" + //"Line: " + lineno); return true; } window.onerror = fnOnError;
53.FusionCharts图表加载时背景白色问题
下面代码中的第三句是给swf动画加了一个背景透明的属性,加上这句以后,图表在加载时就不会出现背景白色的情况了。
var myChart = new FusionCharts("FusionCharts/Column2D.swf","chartId","500","400","0","0"); myChart.setDataXML(JsonData); myChart.addParam("wmode","transparent"); myChart.render("div_chart");
54.html页面中如何用css隐藏滚动条
html { overflow-y: hidden; overflow-x: hidden; } /*或者*/ body { overflow-y: hidden; overflow-x: hidden; }
55.如何用JS格式化数字,每3位加一个逗号
function formatNumber(str){ if(str.indexOf('.') >= 0) { //处理小数 var strarr = str.split('.'); var intNum = strarr[0]; var floatNum = strarr[1]; if(intNum.length <= 3) { return intNum + floatNum.substr(0,2);//保留两位小数 } else { return formatNumber(intNum.substr(0,intNum.length - 3)) + ',' + intNum.substr(intNum.length - 3) + '.' + floatNum; } } else { //处理整数 if(str.length <= 3) { return str; } else { return formatNumber(str.substr(0, str.length - 3)) + ',' + str.substr(str.length - 3); } } }
56.JS删除确认
<input type="button" value="删除" onclick="if(confirm('确定执行删除操作?')){alert('成功删除');}else{return false;}" />
57.WEB中实现打印预览
<object id="WebBrowser" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" width="0"> </object> <input type="button" value="打印" onclick="document.all.WebBrowser.ExecWB(6,1)"> <input type="button" value="直接打印" onclick="document.all.WebBrowser.ExecWB(6,6)"> <input type="button" value="页面设置" onclick="document.all.WebBrowser.ExecWB(8,1)"> <input type="button" value="打印OK" onclick=" return myprint(this);"> <input type="button" value="打印预览" onclick="document.all.WebBrowser.ExecWB(7,1)">
58.JS阻止冒泡(兼容IE和火狐)
一般在IE环境下可以省略掉(var e=arguments.callee.caller.arguments[0]||event;)直接运行即可,但是在FF下不行了,它会报e.stopPropagation没有定义,所以要事先定义,才能兼容。
var e = arguments.callee.caller.arguments[0] || event; e.stopPropagation();
59.Jquery监测div的change事件
$("#myDiv").bind("DOMSubtreeModified",function(e) { //Add your code here });
60.CSS控制div直角变圆角
/*这句的作用就是使div的直角变成半径为5像素的圆弧*/ border-radius: 5px; border-radius: 5px 5px 0px 0px; -webkit-border-radius: 5px 5px 0px 0px; -moz-border-radius: 5px 5px 0px 0px;
61.JS获取table的行数和列数
<script type="text/javascript"> function show(){ var tab = document.getElementById("test") ; //表格行数 var rows = tab.rows.length ; //表格列数 var cells = tab.rows[0].cells.length ; alert("行数"+rows+"列数"+cells); } </script>
62.MVC模式中浏览静态页
<httpHandlers> <add verb="GET,HEAD" path="*.htm" type="System.Web.StaticFileHandler"/> <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/> </httpHandlers>
63.html页面添加背景音乐
<!--由于<bgsound>标签只能在ie中运行,所以要添加背景音乐的话,需要用到html5中的<audio>标签--> <html> <head> <title>背景音乐</title> </head> <body style="background-color:#ccc;"> <audio src="http://yinyueyun.baidu.com/data/cloud/downloadsongfile?songIds=14385500&rate=128&format=mp3" autoplay="true" loop="-1"></audio> </body> </html>
64.JS定义对象
做网站时,一个页面可能会用到很多JS文件,那这些JS文件里的方法有可能会重名,在此我们用对象域来区分方法。
//在页面head里先引用一个Jquery类库。 /*例1*/ //定义对象 var System = (function(){ return{ myFunc:function(){ alert("Hello World!"); } } })(); //初始化调用 $(function(){ System.myFunc(); });
65.在一般处理程序中如何使用Session
//首先要添加一个Global.asax文件,就是全局应用程序类,用来控制全局变量。 using System.Web.SessionState; //然后要继承IReadOnlySessionState类: public class MyHandler : IHttpHandler,IReadOnlySessionState //接着就可以设置或者读取Session变量的值了: context.Session["userId"] = ""; string userid = context.Session["userId"].ToString();
66.等比放大div内的元素
<div style="zoom:150%;"></div>
67.JQuery获取table下的tr
$(function(){ $("#table1").children("tbody").children("tr").mouseover(function(){ $(this).css("background-color","yellow"); }); $("#table1").children("tbody").children("tr").mouseout(function(){ $(this).css("background-color",""); }); });
68.css控制div显示在最上层
z-index:10000;
69.css控制div内容自动换行
word-wrap:break-word;
word-break:break-all;
70.JS查看方法执行时长
console.time('time');
//add your code here.
console.timeEnd('time');
eg:
var obj1 = {toString: function(){ return 1}}; var obj2 = {toString: function(){ return '1'}}; console.time('=='); for (var i=0; i<1e6; i++) { 1 == 1; '1' == 1; obj1 == 1; obj2 == 1; } console.timeEnd('=='); console.time('==='); for (var i=0; i<1e6; i++) { 1 === 1; '1' === 1; obj1 === 1; obj2 === 1; } console.timeEnd('===');
71.Jquery.getJson跨域调用webservice
/*在服务端设置*/ HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
<!--请求页面html设置--> <meta http-equiv="Access-Control-Allow-Origin" content="*">
72.Mysql数据库中如何拼接字段数据
SELECT CONCAT('11','22','33') -- 结果 112233
73.Mysql数据库中CASE WHEN
-- 查询月份,当月份小于10的时候,在月份前补0 SELECT CASE WHEN month< 10 THEN CONCAT('0',month) WHEN ISNULL(month) THEN '0' ELSE month END FROM Table_datetime
74.Mysql计算datetime数据的小时差
-- UNIX_TIMESTAMP函数把日期转换为秒,除以3600得到小时数 SELECT (UNIX_TIMESTAMP('2014-05-07 20:00')-UNIX_TIMESTAMP('2014-05-07 17:30'))/3600
75.JS中提示效果,显示3秒后自动消失
$("#msg").fadeIn("1000", function () { setTimeout(function () { $("#msg").fadeOut("1000"); }, 3000); });
76.CSS给文字加删除线
text-decoration: line-through;
77.VS2010中ashx文件代码折叠方法
工具->选项->文本编辑器->文件扩展名,右侧添加ashx,选中Microsoft Visual C#,添加,确定。
78.Jquery获取select选中文本
$("#select").find("option:selected").text();
79.sql语句查看字段的类型
select a.name as [column],b.name as type from syscolumns a,systypes b where a.id=object_id('表名') and a.xtype=b.xtype and a.name='列名'
80.JS刷新页面
location.reload(true); /*true:相当于F5刷新页面,从服务器获取最新数据。*/ /*false:从客户端缓存中获取页面。*/
81.Jquery移除元素属性
/*移除元素的readonly属性*/ $("#id").removeAttr("readonly");
82.sql分页语句
select result.* from ( select row_number() over(order by [排序的字段] desc) as rowNumber,* from [表名] --where条件 )as result where result.rowNumber between [每页条数]* ([当前页码]-1)+1 and [每页条数]*[当前页码]
83.DoNet中服务器控件 OnClientClick 和 OnClick 方法一起用
有些情况下需要客户端验证后再到服务器端验证,就需要以上两个方法一起使用,当客户端的方法返回false的时候就不提交到服务器继续验证了。
如果客户端的方法返回false,而服务器端方法继续执行的话,请在客户端方法前加上return
如:<asp:Button ID="Button1" runat="server" OnClientClick="return clientFun()" OnClick="Button1_Click" Text="Submit" />
这样的话,在客户端方法返回false 的时候就不会执行服务器端的方法了。
84.通过换行符分割字符串
var str = "这是第一行文本 这是第二行文本"; var arr = str.Split(Environment.NewLine.ToCharArray());
85.IE7、IE8设置透明度
filter:alpha(opacity:30);
86.Jquery控制按钮可用、不可用
//Disable: $("#btnId").attr("disabled", true); //Re-enable: $("#btnId").removeAttr("disabled");
87.在IE浏览器中用Firebug调试
/*只需在页面head中引用文件,就可以在IE浏览器中用Firebug调试*/ <script type="text/javascript" src="http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js"></script>
88.C#获取网站根目录
string webRootUrl = System.Web.HttpContext.Current.Request.PhysicalApplicationPath;
89.C#获取域名和端口号
string webUrl = HttpContext.Current.Request.Url.Host.ToString(); /*获取域名*/ string port = HttpContext.Current.Request.Url.Port.ToString(); /*获取端口号*/
90.正则验证数字
/*正则验证数字*/ function Validate_number(value) { //定义正则表达式部分 var reg = /^\d+$/; if (value.constructor === String) { var re = value.match(reg); if (re) { return true; } } return false; }
91.正则验证邮箱
/*正则验证邮箱*/ function Validate_email(value) { var reg = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; if (value.constructor === String) { var re = value.match(reg); if (re) { return true; } } return false; }
92.ashx读取Session
首先要继承 System.Web.SessionState.IReadOnlySessionState 的接口
其中:System.Web.SessionState.IReadOnlySessionState为只读会话的接口
而:System.Web.SessionState.IRequiresSessionState 为可读可写会话的接口
using System.Web.SessionState; public class XX: IHttpHandler, IReadOnlySessionState
//读取
context.Session["key"]
93.ashx创建、读取Cookie
/*创建*/ HttpCookie cookie = context.Request.Cookies["myCookie"]; if (cookie == null) { cookie = new HttpCookie("myCookie"); } cookie.Values.Set("UserID", "xxx");
cookie.Expires = DateTime.Now.AddMinutes(20); context.Response.SetCookie(cookie); /*读取*/ HttpCookie cookie = context.Request.Cookies["myCookie"]; if (cookie != null && cookie["UserID"].ToString() != "") { context.Response.Write("cookie=" + cookie["UserID"].ToString()); }
94.设置div内容超出宽度自动换行
word-wrap: break-word; word-break: normal;
95.Javascript判断浏览器Cookie是否禁用
/*检测浏览器Cookie是否禁用*/ function CheckCookieEnable() { if (!navigator.cookieEnabled) { alert("Cookie已禁用"); return; } alert("Cookie可用"); }
96.Js控制父页面滚动条的位置
/*最外层的页面滚动条置顶*/ top.window.document.body.scrollTop = 0; /*上一级页面滚动条置顶*/ parent.window.document.body.scrollTop = 0; /*Jquery设置本页面滚动条置顶*/ $("body").scrollTop(0); /*控制滚动条的位置置顶*/ document.documentElement.scrollTop = 0;
97.控制元素垂直居中
<img src="logo.jpg" align="absmiddle" />
98.在iframe子页面获取父页面元素的方法
$("#objld", parent.document);
99.C#计算两个日期相隔天数
DateTime StartDate = DateTime.Now; DateTime EndDate = StartDate.AddYears(1); int days = Math.Abs(((TimeSpan)(EndDate - StartDate)).Days);
100.Jquery Ajax火狐浏览器返回的result为何是object XmlDocument?因为ajax请求缺少dataType属性。
/*body的onkeydown事件时调用*/ function onEnterDown(event) { event = event || window.event; if (event.keyCode == 13) { /*add your code here*/ } }
<body onkeydown="onEnterDown(event);">
103.子页面调用父页面中的方法
/*一、在页面里用 open 打开的子页面:*/ //子页面调用父页面的方法,包括子页面给父页面传值: window.opener.methodName(); window.opener.methodName(param1,param2); //父页面关闭子页面:在父页面 var openWin=window.open(""); openWin.close(); /*二、在Iframe 的子页面里*/ //子页面给父页面的Div赋值 parent.window.document.getElementByIdx_x('id').innerHTML=''; //调用父页面的方法 window.parent.window.methodName(); //刷新父页面 window.parent.location.reload();
104.sql server语句添加字段索引
create index 索引名称 on 表名 (字段);
105.sql server排序规则
--查看表的collate(排序规则) select * from syscolumns where id=OBJECT_ID('表名') --如果连表查询提示排序规则不一致时,可指定排序规则显示(COLLATE Latin1_General_CI_AS),如 select * from tb1 inner join tb2 on tb1.name=tb2.name COLLATE Latin1_General_CI_AS
106.sql server查看执行过的语句
SELECT TOP 1000 --创建时间 QS.creation_time, --查询语句 SUBSTRING(ST.text,(QS.statement_start_offset/2)+1, ((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE QS.statement_end_offset END - QS.statement_start_offset)/2) + 1 ) AS statement_text, --执行文本 ST.text, --执行计划 QS.total_worker_time, QS.last_worker_time, QS.max_worker_time, QS.min_worker_time FROM sys.dm_exec_query_stats QS --关键字 CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) ST WHERE QS.creation_time BETWEEN '2015-06-01' AND '2015-06-03' --AND ST.text LIKE '%%' ORDER BY QS.creation_time DESC
107.修改sqlserver sa的密码
exec sp_password null,'你的新密码','sa'
108.sqlserver数据库,为用户授予执行存储过程的权限
--为用户授予执行procedure1的权限 grant execute on procedure1 to user1
109.Handler返回错误状态Ajax执行error方法
context.Response.StatusCode = 500;
110.计算字符串中指定字符的出现次数
using System.Text.RegularExpressions; int count = Regex.Matches(整个字符串,要查询的字符).Count;
111.sp_executesql的用法
在存储过程中,如果定义的sql过长的话,是会报截断错误的,因为varchar最大长度是4000,我们可以用exec(@sql)来解决,例子:
exec('select @count=count(empid) from '+@tableName+' where proid='+@proid+' and id<'+@id+' and state!=4')
112.获取元素到浏览器边框的距离
/*距离左边框距离*/ var _x = $("xxx").offset().left; 或者: var _x = $("xxx").position().left;
113.IE8版本以下的Background,用Filter滤镜调整背景图片的大小
/*背景图片兼容IE7、8*/ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='图片的绝对路径',sizingMethod='scale');
114.控制文本单行显示,超出部分用省略号代替,再配合title属性,鼠标浮动时看全部内容
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
115.Sql Server数据库定义存储过程,重新执行所有视图
CREATE PROCEDURE [dbo].[RefreshAllView] AS DECLARE MyCursor CURSOR FOR select Name from dbo.sysobjects where OBJECTPROPERTY(id, N'IsView') = 1 and (not name in ('sysconstraints','syssegments')) DECLARE @name varchar(40) OPEN MyCursor FETCH NEXT FROM MyCursor INTO @name WHILE (@@fetch_status <> -1) BEGIN IF (@@fetch_status <> -2) begin exec sp_refreshview @name end FETCH NEXT FROM MyCursor INTO @name END CLOSE MyCursor DEALLOCATE MyCursor GO
116.两个路由器串联
需要关闭第二台路由的DHCP功能,然后将路由的一个Lan口接到第一台路由的LAN口上。
117.C#后台操作Json数据
using Newtonsoft.Json.Linq; string jsonstr="{\"a\":\"1\",\"b\":\"2,3,4\",\"c\":\"5,6\",\"d\":\"7\"}"; JObject obj = JObject.Parse(jsonstr); string stra = (string)obj["a"];
118.Jquery移除元素绑定事件
$("p").unbind();
$("p").unbind("click");
119.sqlserver用row_number和partition by分组取top数据
--sqlserver用row_number和partition by分组取top数据,下例是取每组数据的前5条 SELECT * from ( SELECT rid=ROW_NUMBER() OVER(PARTITION BY [主子表关联字段] ORDER BY [排序字段] asc),* FROM [详细信息表]) AS T WHERE rid<=5
120.设置滚动条样式
/*Chrome,以下写法针对页面所有的滚动条,单独给某元素设置的话在::前加#Id*/ /* 设置滚动条的样式 */::-webkit-scrollbar { width: 8px;} /* 滚动槽 */::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); border-radius: 10px;} /* 滚动条滑块 */::-webkit-scrollbar-thumb { border-radius: 10px; background:#e5e5e5; -webkit-box-shadow: inset 0 0 6px #d0cdcd; } /* 滚动条不活动状态 */::-webkit-scrollbar-thumb:window-inactive { background:white; } /*IE中只能设置颜色,不能改变宽度*/ scrollBar-face-color:#e5e5e5; scrollBar-hightLight-color:#e5e5e5; scrollBar-3dLight-color:#e5e5e5; scrollBar-darkshadow-color:#e5e5e5; scrollBar-shadow-color:#e5e5e5; scrollBar-arrow-color:transparent; scrollBar-track-color:transparent; scrollBar-base-color:transparent;
121.HttpFileCollection 转 Stream, byte[]读取文件
HttpFileCollection files = context.Request.Files; if (files.Count > 0) { HttpPostedFile file = files[0]; Stream fs = file.InputStream; BinaryReader br = new BinaryReader(fs); byte[] bytes = br.ReadBytes((int)fs.Length); fs.Flush(); fs.Close(); }
122.下载文件,输出文件流
/*在aspx页面中适用*/ Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", HttpUtility.UrlEncode(DateTime.Now.ToString("yyyy-MM-dd"), System.Text.Encoding.UTF8))); Response.BinaryWrite(byte); Response.End();
123.计算文件大小,取整
/*函数:Math.Ceiling()上取整、Math.Floor()下取整 */
/*计算文件大小,文件大于1M,单位用M,其他用KB*/ if (filelen > 1048576) { filesize = Math.Ceiling((double)filelen / (double)1024 / (double)1024) + "M"; } else { filesize = Math.Ceiling((double)filelen / (double)1024) + "KB"; }
124.Json返回数据<pre></pre>标签问题
当后台获取到前台传来的文件时(例如上传功能, 导入功能), 返回类型为application/json, 这个时候响应到前端的JSON格式的数据格式可能是:
<pre style="word-wrap: break-word; white-space: pre-wrap;">{"JsonKey":"JsonValue"}</pre>
这个是不同浏览器对返回数据处理的问题。
解决方法:
/*1.前端解决*/
var reg = /<pre.+?>(.+)<\/pre>/g; var result = data.match(reg); data = RegExp.$1;
/*2.后台解决*/ /*将返回的类型从application/json改为text/html*/ Response.ContentType = "text/html";
125.Web.config限制上传文件大小,加在<system.web>中,当前限制为1G
<!--maxRequestLength就是文件的最大字符数,单位是byte,当前限制是1G,最大值不能超过2个G,executionTimeout是超时时间,单位毫秒--> <httpRuntime maxRequestLength="1073741824" executionTimeout="3600000"/>
126.WebService上传较大文件,请求因 HTTP 状态 404 失败: Not Found。
<!--Web.config配置文件<configuration>标签下添加如下内容,大小限制200M--> <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="209715200"></requestLimits> </requestFiltering> </security> </system.webServer>
127.Sql Server,把一列数据拼接成字符串
--Sql Server,把一列数据拼接成字符串 select notes= stuff((select ',' + note from table_A for xml path('')), 1, 1, '')
128.C#计算页数,分页
int totalpage=rowscount%Convert.ToInt32(pagesize)==0?rowscount/Convert.ToInt32(pagesize):rowscount/Convert.ToInt32(pagesize)+1;
129.C#IO获取文件名称
HttpFileCollection files = context.Request.Files; /*获取真实文件名,files[0].FileName这种方法在IE浏览器中上传会带有F://路径*/ string filename = System.IO.Path.GetFileName(files[0].FileName);
130.js客户端判断文件大小限制上传
function CheckFileSize() { var msg = "true"; var isIE = /msie/i.test(navigator.userAgent) && !window.opera; var fileSize = 0; var obj = document.getElementById("_file"); if (isIE && !obj.files) { var filePath = obj.value; var fileSystem = new ActiveXObject("Scripting.FileSystemObject"); var file = fileSystem.GetFile(filePath); fileSize = file.Size; } else { fileSize = obj.files[0].size; } var size = fileSize / 1024 / 1024; if (size > 150) { alert("附件不能大于150M,请重新选择!"); msg = "false"; } return msg; }
131.js获取鼠标坐标
/*定位鼠标,获取坐标,下面两句一个获取屏幕坐标,另一个是页面坐标*/ function(e){ var _x = e.originalEvent.x || e.originalEvent.layerX || 0; var _y = e.originalEvent.y || e.originalEvent.layerY || 0; var _pagex = e.pageX; var _pagey = e.pageY; }
132.添加网站favicon.ico,页面head中加入下列标记
<link rel="icon" href="favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
133.jQurey监听页面滚动事件
jQuery(document).ready(function () { $(window).bind("scroll", function () { var _scrolltop = $(document).scrollTop(); console.log(_scrolltop); /*add your code here*/ }); });
134.Sql Server 循环语句
declare @cur int set @cur=1 while @cur<=10 begin update table1 set col=@cur where ID=@cur set @cur=@cur+1 end
135.Javascript原生ajax示例
var xmlhttp; if (window.XMLHttpRequest) {
/*IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码*/ xmlhttp = new XMLHttpRequest(); } else {
/*IE6, IE5 浏览器执行代码*/ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState==4&&xmlhttp.status==200) { document.getElementById("box-content").innerHTML = xmlhttp.responseText; } } xmlhttp.open("get", "Demo.ashx?action=GetAjaxData", true); xmlhttp.send();
136.EF中Exception类,可以看出具体字段出的问题
System.Data.Entity.Validation.DbEntityValidationException