嗮各种小代码片段
嗮各种小代码片段,有的赶紧拿出来。别长毛了。。让大家也都学习学习。。。
//树控件。TreeNode node = new TreeNode(function[i].Function1); treeView1.Nodes.Add(node); for (int j = 0; j < function.Count; j++) { if (function[i].Id == function[j].Uid) { TreeNode nod = new TreeNode(function[j].Function1); node.Nodes.Add(nod); for (int z = 0; z < function.Count; z++) { if (function[j].Id == function[z].Uid) { TreeNode n = new TreeNode(function[z].Function1); nod.Nodes.Add(n); } } }
//年月日的正则。regex = new Regex(@"(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])");
// 倒置字符串static public string Reverse( string s ){ char[] charArray = s.ToCharArray(); Array.Reverse( charArray ); return new string( charArray );}
[解决办法]
"^\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\d+$" //整数 "^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数 "^((-\d+(\.\d+)?)|(0+(\.0+)?))$" //非正浮点数(负浮点数 + 0) "^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数 "^(-?\d+)(\.\d+)?$" //浮点数 "^[A-Za-z]+$" //由26个英文字母组成的字符串 "^[A-Z]+$" //由26个英文字母的大写组成的字符串 "^[a-z]+$" //由26个英文字母的小写组成的字符串 "^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串 "^\w+$" //由数字、26个英文字母或者下划线组成的字符串 "^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$" //email地址 "^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$" //url/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址匹配中文字符的正则表达式: [\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^\x00-\xff]匹配空行的正则表达式:\n[\s| ]*\r匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/匹配首尾空格的正则表达式:(^\s*)|(\s*$)匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*匹配网址URL的正则表达式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$元字符及其在正则表达式上下文中的行为: \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。 $ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。 * 匹配前面的子表达式零次或多次。 + 匹配前面的子表达式一次或多次。+ 等价于 {1,}。 ? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。 {n} n 是一个非负整数,匹配确定的n 次。{n,} n 是一个非负整数,至少匹配n 次。 {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。 . 匹配除 "\n" 之外的任何单个字符。要匹配包括 ’\n’ 在内的任何字符,请使用象 ’[.\n]’ 的模式。 (pattern) 匹配pattern 并获取这一匹配。 (?:pattern) 匹配pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。 (?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。 (?!pattern) 负向预查,与(?=pattern)作用相反 x|y 匹配 x 或 y。 [xyz] 字符集合。 [^xyz] 负值字符集合。 [a-z] 字符范围,匹配指定范围内的任意字符。 [^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符。 \b 匹配一个单词边界,也就是指单词和空格间的位置。\B 匹配非单词边界。 \cx 匹配由x指明的控制字符。 \d 匹配一个数字字符。等价于 [0-9]。 \D 匹配一个非数字字符。等价于 [^0-9]。 \f 匹配一个换页符。等价于 \x0c 和 \cL。 \n 匹配一个换行符。等价于 \x0a 和 \cJ。 \r 匹配一个回车符。等价于 \x0d 和 \cM。 \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。 \S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 \t 匹配一个制表符。等价于 \x09 和 \cI。 \v 匹配一个垂直制表符。等价于 \x0b 和 \cK。 \w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。 \W 匹配任何非单词字符。等价于 ’[^A-Za-z0-9_]’。 \xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。\num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。 \n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。 \nm 标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm 为后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。 \nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。 \un 匹配 n,其中 n 是一个用四个十六进制数字表示的Unicode字符。匹配中文字符的正则表达式: [u4e00-u9fa5]匹配双字节字符(包括汉字在内):[^x00-xff]匹配空行的正则表达式:n[s| ]*r匹配HTML标记的正则表达式:/<(.*)>.*</1>|<(.*) />/ 匹配首尾空格的正则表达式:(^s*)|(s*$)匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?利用正则表达式限制网页表单里的文本框输入内容:用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" ōnbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"用正则表达式限制只能输入全角字符: ōnkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" ōnbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"
[解决办法]
// 不通过临时变量交换两个整数a ^= b;b ^= a;a ^= b;
[解决办法]
c#.net常用的小函数和方法集 1、DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now; 1.2 取当前年 int 年=currentTime.Year; 1.3 取当前月 int 月=currentTime.Month; 1.4 取当前日 int 日=currentTime.Day; 1.5 取当前时 int 时=currentTime.Hour; 1.6 取当前分 int 分=currentTime.Minute; 1.7 取当前秒 int 秒=currentTime.Second; 1.8 取当前毫秒 int 毫秒=currentTime.Millisecond; (变量可用中文) 2、Int32.Parse(变量) Int32.Parse("常量") 字符型转换 转为32位数字型 3、 变量.ToString() 字符型转换 转为字符串 12345.ToString("n"); //生成 12,345.00 12345.ToString("C"); //生成 ¥12,345.00 12345.ToString("e"); //生成 1.234500e+004 12345.ToString("f4"); //生成 12345.0000 12345.ToString("x"); //生成 3039 (16进制) 12345.ToString("p"); //生成 1,234,500.00% 4、变量.Length 数字型 取字串长度: 如: string str="中国"; int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名 5、System.Text.Encoding.Default.GetBytes(变量) 字码转换 转为比特码 如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 然后可得到比特长度: len = bytStr.Length; 6、System.Text.StringBuilder("") 字符串相加,(+号是不是也一样?) 如:System.Text.StringBuilder sb = new System.Text.StringBuilder(""); sb.Append("中华"); sb.Append("人民"); sb.Append("共和国"); 7、变量.Substring(参数1,参数2); 截取字串的一部分,参数1为左起始位数,参数2为截取几位。 如:string s1 = str.Substring(0,2); 8、String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); 取远程用户IP地址 9、穿过代理服务器取远程用户真实IP地址: if(Request.ServerVariables["HTTP_VIA"]!=null){ string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); }else{ string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); } 10、 Session["变量"]; 存取Session值; 如,赋值: Session["username"]="小布什"; 取值: Object objName=Session["username"]; String strName=objName.ToString(); 清空: Session.RemoveAll(); 11、String str=Request.QueryString["变量"]; 用超链接传送变量。 如在任一页中建超链接:<a href=Edit.aspx?fbid=23>点击</a> 在Edit.aspx页中取值:String str=Request.QueryString["fdid"]; 12、DOC对象.CreateElement("新建节点名"); 创建XML文档新节点 13、父节点.AppendChild(子节点); 将新建的子节点加到XML文档父节点下 14、 父节点.RemoveChild(节点); 删除节点 15、Response Response.Write("字串"); Response.Write(变量); 向页面输出。 Response.Redirect("URL地址"); 跳转到URL指定的页面 16、char.IsWhiteSpce(字串变量,位数)——逻辑型 查指定位置是否空字符; 如: string str="中国 人民"; Response.Write(char.IsWhiteSpace(str,2)); //结果为:True, 第一个字符是0位,2是第三个字符。 17、char.IsPunctuation('字符') --逻辑型 查字符是否是标点符号 如:Response.Write(char.IsPunctuation('A')); //返回:False 18、(int)'字符' 把字符转为数字,查代码点,注意是单引号。 如: Response.Write((int)'中'); //结果为中字的代码:20013 19、(char)代码 把数字转为字符,查代码代表的字符。 如: Response.Write((char)22269); //返回“国”字。 20、 Trim() 清除字串前后空格 21 、字串变量.Replace("子字串","替换为") 字串替换 如: string str="中国"; str=str.Replace("国","央"); //将国字换为央字 Response.Write(str); //输出结果为“中央” 再如:(这个非常实用) string str="这是<script>脚本"; str=str.Replace("<","<font><</font>"); //将左尖括号替换为<font> 与 < 与 </font> (或换为<,但估计经XML存诸后,再提出仍会还原) Response.Write(str); //显示为:“这是<script>脚本” 如果不替换,<script>将不显示,如果是一段脚本,将运行;而替换后,脚本将不运行。 这段代码的价值在于:你可以让一个文本中的所有HTML标签失效,全部显示出来,保护你的具有交互性的站点。 具体实现:将你的表单提交按钮脚本加上下面代码: string strSubmit=label1.Text; //label1是你让用户提交数据的控件ID。 strSubmit=strSubmit.Replace("<","<font><</font>"); 然后保存或输出strSubmit。 用此方法还可以简单实现UBB代码。 22、Math.Max(i,j) 取i与j中的最大值 如 int x=Math.Max(5,10); // x将取值 10 23.跳出框架的JS<script language = javascript>window.open('Login.aspx','_parent')</script>"
[解决办法]
#region 批量插入 /// <summary> /// 将DataTable中数据批量插入远程服务器的数据表中 /// </summary> /// <param name="dt">源数据集</param> /// <param name="Conn">目标服务器的数据连接字符串</param> /// <param name="FieldStr">要插入的字段</param> /// <param name="TableName">目标服务器的表名</param> //protected void SqlBulkCopyData(DataTable dt, string Conn, string[] FieldStr, String TableName) //{ // //使用SqlBulkCopy把内存表DataTable里的数据插入答卷数据表 // SqlBulkCopy bcp = new SqlBulkCopy(Conn); // //指定目标数据库的表名 // bcp.DestinationTableName = TableName; // //指定源列和目标列 // foreach (string field in FieldStr) // { // bcp.ColumnMappings.Add(field, field); // } // //写入数据库表 // bcp.WriteToServer(dt); // bcp.Close(); //} #endregion
[解决办法]
// 数字转换成大写金额// 例如:(new Money(200)).ToString() == "贰佰元"namespace Skyiv.Util{ using System.Text; class Test { static void Main() { for (;;) { System.Console.Write("金额: "); string s = System.Console.ReadLine(); decimal m; try { m = decimal.Parse(s); } catch { break; } System.Console.WriteLine("大写: " + new Money(m)); } } } // 该类重载的 ToString() 方法返回的是大写金额字符串 class Money { public string Yuan = "元"; // “元”,可以改为“圆”、“卢布”之类 public string Jiao = "角"; // “角”,可以改为“拾” public string Fen = "分"; // “分”,可以改为“美分”之类 static string Digit = "零壹贰叁肆伍陆柒捌玖"; // 大写数字 bool isAllZero = true; // 片段内是否全零 bool isPreZero = true; // 低一位数字是否是零 bool Overflow = false; // 溢出标志 long money100; // 金额*100,即以“分”为单位的金额 long value; // money100的绝对值 StringBuilder sb = new StringBuilder(); // 大写金额字符串,逆序 // 只读属性: "零元" public string ZeroString { get { return Digit[0] + Yuan; } } // 构造函数 public Money(decimal money) { try { money100 = (long)(money * 100m); } catch { Overflow = true; } if (money100 == long.MinValue) Overflow = true; } // 重载 ToString() 方法,返回大写金额字符串 public override string ToString() { if (Overflow) return "金额超出范围"; if (money100 == 0) return ZeroString; string [] Unit = { Yuan, "万", "亿", "万", "亿亿" }; value = System.Math.Abs(money100); ParseSection(true); for (int i = 0; i < Unit.Length && value > 0; i++) { if (isPreZero && !isAllZero) sb.Append(Digit[0]); if (i == 4 && sb.ToString().EndsWith(Unit[2])) sb.Remove(sb.Length - Unit[2].Length, Unit[2].Length); sb.Append(Unit[i]); ParseSection(false); if ((i % 2) == 1 && isAllZero) sb.Remove(sb.Length - Unit[i].Length, Unit[i].Length); } if (money100 < 0) sb.Append("负"); return Reverse(); } // 解析“片段”: “角分(2位)”或“万以内的一段(4位)” void ParseSection(bool isJiaoFen) { string [] Unit = isJiaoFen ? new string [] { Fen, Jiao } : new string [] { "", "拾", "佰", "仟" }; isAllZero = true; for (int i = 0; i < Unit.Length && value > 0; i++) { int d = (int)(value % 10); if (d != 0) { if (isPreZero && !isAllZero) sb.Append(Digit[0]); sb.AppendFormat("{0}{1}", Unit[i], Digit[d]); isAllZero = false; } isPreZero = (d == 0); value /= 10; } } // 反转字符串 string Reverse() { StringBuilder sbReversed = new StringBuilder(); for (int i = sb.Length - 1; i >= 0; i--) sbReversed.Append(sb[i]); return sbReversed.ToString(); } }}
[解决办法]
//使用模板生成HTML页 public static bool WriteFile(string strText, string strContent, string strAuthor) { string path = HttpContext.Current.Server.MapPath("~/news/"); Encoding code = Encoding.GetEncoding("gb2312"); // 读取模板文件 string temp = HttpContext.Current.Server.MapPath("~/news/text.html"); StreamReader sr = null; StreamWriter sw = null; string str = ""; try { sr = new StreamReader(temp, code); str = sr.ReadToEnd(); // 读取文件 } catch (Exception exp) { HttpContext.Current.Response.Write(exp.Message); HttpContext.Current.Response.End(); sr.Close(); } string htmlfilename = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html"; // 替换内容 // 这时,模板文件已经读入到名称为str的变量中了 str = str.Replace("ShowArticle", strText); //模板页中的ShowArticle str = str.Replace("biaoti", strText); str = str.Replace("content", strContent); str = str.Replace("author", strAuthor); // 写文件 try { sw = new StreamWriter(path + htmlfilename, false, code); sw.Write(str); sw.Flush(); } catch (Exception ex) { HttpContext.Current.Response.Write(ex.Message); HttpContext.Current.Response.End(); } finally { sw.Close(); } return true; }
[解决办法]
/// <summary> /// 对一个字符串进行倒序排列 /// </summary> /// <param name="ReverseString">要排列的字符串</param> /// <returns>倒序后的字符串</returns> public static string Reverse(string ReverseString) { String output = string.Empty; for (int i = ReverseString.Length; i > 0; i--) { output += ReverseString.Substring(i - 1, 1); } return output; }/// <summary> /// 名称:IsMobilePhone /// 功能:判断输入的是否为手机号码 /// 编写人:胡文娟 /// 编写日期:2009-05-08 /// </summary> /// <param name="input">传入一个字符串</param> /// <returns>bool值</returns> public static bool IsMobilePhone(string input) { Regex regex = new Regex("^1\\d{10}$"); return regex.IsMatch(input); } /// <summary> /// 名称:IsIP /// 功能:判断输入的是否为ip地址 /// 编写人:胡文娟 /// 编写日期:2009-06-19 /// </summary> /// <param name="input">所需判断的字符串</param> /// <returns>若查出符合条件的则返回true,否则返回false</returns> public static bool IsIP(string input) { Regex regex = new Regex("^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"); return regex.IsMatch(input); }
[解决办法]
网页常用Javascript 1.让文字不停地滚动 <MARQUEE>滚动文字</MARQUEE> 2.记录并显示网页的最后修改时间 <script language=Javascript> document.write("最后更新时间: " + document.lastModified + "") </script> 3.关闭当前窗口 <a href="/"onClick="javascript:window.close();return false;">关闭窗口</a> 4.5秒后关闭当前页 <script language="Javascript"> <!-- setTimeout('window.close();',5000); --> </script> 5.2秒后载入指定网页 <head> <meta http-equiv="refresh" content="2;URL=http://你的网址"> </head> 6.添加到收藏夹 <script Language="Javascript"> function bookmarkit() { window.external.addFavorite('http://你的网址','你的网站名称') } if (document.all)document.write('<a href="#" onClick="bookmarkit()">加入收藏夹</a>') </script> 7.让超链接不显示下划线 <style type="text/css"> <!- a:link{text-decoration:none} a:hover{text-decoration:none} a:visited{text-decoration:none} -> </style> 8.禁止鼠标右键的动作 <script Language = "Javascript"> function click() { if (event.button==2||event.button==3) { alert('禁止鼠标右键'); } document.onmousedown=click // --> </script> 9.设置该页为首页 <body bgcolor="#FFFFFF" text="#000000"> <!-- 网址:http://你的网址--> <a class="chlnk" style="cursor:hand" HREF onClick="this.style.behavior='url(#default#homepage)'; this.setHomePage('你的网站名称);"><font color="000000" size="2" face="宋体">设为首页</font></a> </body> 10.节日倒计时 <script Language="Javascript"> var timedate= new Date("December 25,2003"); var times="圣诞节"; var now = new Date(); var date = timedate.getTime() - now.getTime(); var time = Math.floor(date / (1000 * 60 * 60 * 24)); if (time >= 0) document.write("现在离"+times+"还有: "+time +"天")</script> 11.单击按钮打印出当前页 <script Language="Javascript"> <!-- Begin if (window.print) { document.write('<form>' + '<input type=button name=print value="打印本页" ' + 'onClick="javascript:window.print()"></form>'); } // End --> </script> 12.单击按钮‘另存为’当前页 <input type="button" name="Button" value="保存本页" onClick="document.all.button.ExecWB(4,1)"> <object id="button" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"> <embed width="0" height="0"></embed> </object> 13.显示系统当前日期 <script language=Javascript> today=new Date(); function date(){ this.length=date.arguments.length for(var i=0;i<this.length;i++) this[i+1]=date.arguments } var d=new date("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); document.write( "<font color=##000000 style='font-size:9pt;font-family: 宋体'> ", today.getYear(),"年",today.getMonth()+1,"月",today.getDate(),"日", d[today.getDay()+1],"</font>" ); </script> 14.不同时间段显示不同问候语 <script Language="Javascript"> <!-- var text=""; day = new Date( ); time = day.getHours( ); if (( time>=0) && (time < 7 )) text="夜猫子,要注意身体哦! " if (( time >= 7 ) && (time < 12)) text="今天天气……哈哈哈,不去玩吗?" if (( time >= 12) && (time < 14)) text="午休时间哦,朋友一定是不习惯午睡的吧?!" if (( time >=14) && (time < 18)) text="下午茶的时间到了,休息一下吧! " if ((time >= 18) && (time <= 22)) text="您又来了,可别和MM聊太久哦!" if ((time >= 22) && (time < 24)) text="很晚了哦,注意休息呀!" document.write(text) //---> </script> 15.水中倒影效果 <img id="reflect" src="你自己的图片文件名" width="175" height="59"> <script language="Javascript"> function f1() { setInterval("mdiv.filters.wave.phase+=10",100); } if (document.all) { document.write('<img id=mdiv src="'+document.all.reflect.src+'" style="filter:wave(strength=3,freq=3,phase=0,lightstrength=30) blur() flipv()">') window.onload=f1 } </script> 16.慢慢变大的窗口 <script Language="Javascript"> <!-- var Windowsheight=100 var Windowswidth=100 var numx=5 function openwindow(thelocation){ temploc=thelocation if (!(window.resizeTo&&document.all)&&!(window.resizeTo&&document.getElementById)) { window.open(thelocation) return } windowsize=window.open("","","scrollbars") windowsize.moveTo(0,0) windowsize.resizeTo(100,100) tenumxt() } function tenumxt(){ if (Windowsheight>=screen.availHeight-3) numx=0 windowsize.resizeBy(5,numx) Windowsheight+=5 Windowswidth+=5 if (Windowswidth>=screen.width-5) { windowsize.location=temploc Windowsheight=100 Windowswidth=100 numx=5 return } setTimeout("tenumxt()",50) } //--> </script> <p><a href="javascript:openwindow(http://www.3ydesign.com)">进入</a> 17.改变IE地址栏的IE图标 我们要先做一个16*16的icon(图标文件),保存为index.ico。把这个图标文件上传到根目录下并在首页<head></head>之间加上如下代码: <link REL = "Shortcut Icon" href="index.ico">18:全屏:window.open("1.htm","","fullscreen,scrollbars=no")
[解决办法]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>判断输入的字数</title> <mce:script type="text/javascript"><!-- function Checkval() { var s=document.getElementById("Text1").value; var n=0; for(var i=0;i<s.length;i++) { //charCodeAt()可以返回指定位置的unicode编码,这个返回值是0-65535之间的整数 if(s.charCodeAt(i)<128) { n++; } else { n+=3; } } alert(n); } // --></mce:script> </head> <body> <input id="Text1" type="text" onblur="Checkval()" /> </body> </html> 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ws_hgo/archive/2009/07/31/4398515.aspx
[解决办法]
//图片旋转处理js
<html><head> <title></title> <script type="text/javascript">function rotateImage(HTMLControlID,degree) { if(window.navigator.userAgent.indexOf('MSIE') > -1) { //处理IE浏览器 var imageToRotate = document.getElementById(HTMLControlID); imageToRotate.style.filter= "progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand')"; var deg2radians = Math.PI * 2 / 360; var degreeToRotate =degree // 旋转度数; rad = degreeToRotate * deg2radians ; costheta = Math.cos(rad); sintheta = Math.sin(rad); imageToRotate.filters.item(0).M11 = costheta; imageToRotate.filters.item(0).M12 = -sintheta; imageToRotate.filters.item(0).M21 = sintheta; imageToRotate.filters.item(0).M22 = costheta; var w=document.getElementById(HTMLControlID).width; var h=document.getElementById(HTMLControlID).height; document.getElementById(HTMLControlID).width=h; document.getElementById(HTMLControlID).height=w; n+=1; if(n<2) { rotateImage(HTMLControlID,degree); } else { n=0; } } } </script></head><body><table width="100%" height="100%" border="0"><tr><td><A href="javascript:rotateImage('imgRotate' , 90);">旋转90度</A><A href="javascript:rotateImage('imgRotate' , 180);">旋转180度</A><A href="javascript:rotateImage('imgRotate' , 270);">旋转270度</A><A href="javascript:rotateImage('imgRotate' , 360);">原图</A></td></tr><tr><td> <canvas id="canvas" ><img id="imgRotate" src="bd8dcf53-3c57-49cd-8221-0ffc03a155dc.jpg" /></canvas></td></tr></table></body></html><script>var n=0;</script>
[解决办法]
// (1)方法1 protected void Page_Load(object sender, EventArgs e) { string ss = ReverseStr(); Response.Write(ss); } //1.逆序一个字符串 public string ReverseStr() { string s1 = ""; string Str = "ABCDEFG"; for (int i = Str.Length; 0 < i; i--) { s1 += Str.Substring(i - 1, 1); } return s1; } //(2)方法2 public void ReverseStr() { string Str = "ABCDEFG"; Char[] MyChar = Str.ToCharArray(); Array.Reverse(MyChar); string MyStr = new string(MyChar); Response.Write(MyStr); } //方法3 protected void Page_Load(object sender, EventArgs e) { string ss = Reverse("ABCDEFG"); Response.Write(ss); //ReverseStr(); } public static string Reverse(string str) { if (string.IsNullOrEmpty(str)) { throw new ArgumentException("参数不合法"); } char[] chars = str.ToCharArray(); int begin = 0; int end = chars.Length - 1; char tempChar; while (begin < end) { tempChar = chars[begin]; chars[begin] = chars[end]; chars[end] = tempChar; begin++; end--; } string strResult = new string(chars); return strResult; } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ws_hgo/archive/2009/07/02/4317364.aspx
[解决办法]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>onfocus与OnBlur的例子</title> <script type="text/javascript"> //默认值为请输入职位或企业名 function ShowInfo() { var oDiv = document.getElementById("Text1"); //当失焦的时候如果没有填制,还是获取默认值,如果填了值给个背景 if (oDiv.value == "") { oDiv.value = "请输入职位或企业名"; } else { oDiv.style.borderColor = "black"; } } </script> </head> <body> <input id="Text1" type="text" value="请输入职位或企业名" onfocus="this.value='';" onblur="ShowInfo();" /> </body> </html> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>onfocus与OnBlur的例子</title> <script type="text/javascript"> //默认值为请输入职位或企业名 function ShowInfo() { var oDiv = document.getElementById("Text1"); //当失焦的时候如果没有填制,还是获取默认值,如果填了值给个背景 if (oDiv.value == "") { oDiv.value = "请输入职位或企业名"; } else { oDiv.style.borderColor = "black"; } } </script></head><body> <input id="Text1" type="text" value="请输入职位或企业名" onfocus="this.value='';" onblur="ShowInfo();" /> </body></html> 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ws_hgo/archive/2009/06/29/4306738.aspx
[解决办法]
view plaincopy to clipboardprint?//方法1 protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { ReplaceStr(); } } public void ReplaceStr() { ArrayList MyArray = new ArrayList(); MyArray.Add("123"); MyArray.Add("aaa"); if (MyArray.Contains("aaa")) { MyArray.Remove("aaa"); MyArray.Add("bbb"); } for (int i = 0; i <= MyArray.Count - 1; i++) { Response.Write(MyArray[i].ToString()); } } //方法2 protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { ReplaceStr(); } } public void ReplaceStr() { string [] tm = new string[] { "123", "aaa" }; for (int i = 0; i < tm.Length; i++) { if (tm[i].ToString() == "aaa") { tm[i]=tm[i].Replace("aaa", "bbb"); } } for (int i = 0; i <= tm.Length - 1; i++) { Response.Write(tm[i].ToString()); } } //方法3 protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { string[] tm = new string[] { "123", "aaa" }; string Array=ReplaceValue(tm, "aaa", "bbb", ","); Response.Write(Array); } } public static string ReplaceValue(string[] item, string oldSv, string newSv, string separator) { if (item == null) return string.Empty; StringBuilder sb = new StringBuilder(); foreach (string s in item) { if (s == oldSv) { sb.Append(newSv); sb.Append(separator); } else { sb.Append(s); sb.Append(separator); } } string returnstr = sb.ToString(); returnstr = (returnstr.EndsWith(separator)) ? returnstr.Substring(0, returnstr.Length - 1) : returnstr; return returnstr; } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ws_hgo/archive/2009/05/10/4164995.aspx
[解决办法]
js设置图片或文字自动左右滚动控制,鼠标经过停留
<BODY leftMargin=0 topMargin=2 marginheight="0" marginwidth="0"> <CENTER> <p> <h1>JS不间断循环滚动</h1><p> <TABLE style="BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; BORDER-BOTTOM: #666666 1px solid" cellSpacing=0 cellPadding=0 width=750 align=center border=0> <TBODY> <TR><td width="30"><a href="#" onClick="clickdiv()" id="aa">向左</a></td> <TD> <DIV id=demo style="OVERFLOW: hidden; WIDTH: 750px; COLOR: #ffffff"> <TABLE cellSpacing=0 cellPadding=0 align=left border=0 cellspace="0"> <TBODY> <TR> <TD id=demo1 vAlign=top><table width="1710" height="116" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="171" background="pic_bg.jpg"><div align="center">内容一</div></td> <td width="171" background="pic_bg.jpg"><div align="center">内容二</div></td> <td width="171" background="pic_bg.jpg"><div align="center">内容三</div></td> <td width="171" background="pic_bg.jpg"><div align="center">内容四</div></td> <td width="171" background="pic_bg.jpg"><div align="center">内容五</div></td> <td width="171" background="pic_bg.jpg"><div align="center">内容六</div></td> <td width="171" background="pic_bg.jpg"><div align="center">内容七</div></td> <td width="171" background="pic_bg.jpg"><div align="center">内容八</div></td> <td width="171" background="pic_bg.jpg"><div align="center">内容九</div></td> <td width="171" background="pic_bg.jpg"><div align="center">内容十</div></td> </tr> </table></TD> <TD id=demo2 vAlign=top> </TD></TR></TBODY></TABLE></DIV> </TD><td width="30"><a href="#" onClick="Rclickdiv()" id="mcc">向右</a></td></TR></TBODY></TABLE></TD></TR></TABLE> </CENTER><SCRIPT> var speed3=25//速度数值越大速度越慢 var t=false; var id="aa"; document.getElementById("demo2").innerHTML=document.getElementById("demo1").innerHTML function Marquee(){ if(document.getElementById("demo2").offsetWidth-document.getElementById("demo").scrollLeft<=0) document.getElementById("demo").scrollLeft-=document.getElementById("demo1").offsetWidth else{ document.getElementById("demo").scrollLeft++ } t=false; } function RMarquee(){ if(document.getElementById("demo").scrollLeft<=0) document.getElementById("demo").scrollLeft+=document.getElementById("demo2").offsetWidth else{ document.getElementById("demo").scrollLeft-- } t=true; } function clickdiv(){ clearInterval(MyMar) Marquee(); } function Rclickdiv(){ clearInterval(MyMar) RMarquee(); } var MyMar=setInterval(Marquee,speed3) document.getElementById("demo").onmouseover=function() {clearInterval(MyMar)} document.getElementById("demo").onmouseout=function() {if(t){MyMar=setInterval(RMarquee,speed3)}else{MyMar=setInterval(Marquee,speed3)}} document.getElementById('mcc').onmouseout=function(){clearInterval(MyMar);MyMar=setInterval(RMarquee,speed3);} document.getElementById('aa').onmouseout=function(){clearInterval(MyMar);MyMar=setInterval(Marquee,speed3);} </SCRIPT> </BODY>
[解决办法]
基本函数:1.len()不取字符串最后的空格个数,但会取字符串中间的空格个数。 datalength()取所有的,包括空格个数2.reverse()将()里面的字符反过来3.replicate(a,n)将a重复n次4.space(n)返回n个空格5.stuff(a,n1,n2,b)从n1起往a字符串中插入b字符串,n2是要覆盖的个数。如果为0,则只是插入,不覆盖a中的字符。否之。6.raiserror('',16,1) 抛出消息7.substring(a,i,j) 取a字符串中从i起,共j个长度的字符。 charindex(a,m) 得到字符串a在字符串m中的起始位置8.isnull()函数 isnull(a,b)如果列a为空,则用值b来代替,但并不改变其在数据库中的值。删除R1表中R2的数据delete r1 where checksum(*) in (select checksum(*) from r2)9.exists()函数如果()中查询语句返回行数为0,则为false,否之则为true.往a表中添加一列a01alter table a add a01 int修改列alter table pp alter column a varchar(50)更改字段名exec sp_rename '表名.字段名','新字段名','column'ALTER TABLE 表名 DISABLE TRIGGER 触发器名 --禁止触发器 ALTER TABLE 表名 ENABLE TRIGGER 触发器名 --允许触发器 EXEC sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL' --禁用数据库中所有表的所有触发器EXEC sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL' --启用数据库中所有表的所有触发器--清除所有表主键EXEC sp_MSforeachtable 'declare @PkName varchar(100)select @PkName=name from sysobjects where xtype=''Pk'' and parent_obj=object_id(''?'');exec(''alter table ? drop constraint ''+@PkName)'go --修改所有表的字段为某字段:EXEC sp_MSforeachtable 'exec sp_rename ''?.收款日期'',''发生日期''' --将数据库中所有表的收款日期改为发生日期修改text类型字段的值:create table os(SoftIntro text,ID int) insert into os select 'aaa',1004 union all select 'bbb',1003 union all select 'ccc',1002 declare @ptr binary(16) select @ptr=textptr(SoftIntro) from os where id=1002 updatetext os.SoftIntro @ptr null 0 'dddd'select * from os 替换text类型字段的值create table t(Cbody ntext)insert into t select '324234234深圳罗湖324324'insert into t select '深圳罗湖324324'declare @ptrval binary(16),@star intdeclare cur cursor for select textptr(Cbody),charindex('深圳罗湖',cbody)-1 from t where cbody like '%深圳罗湖%'open curfetch next from cur into @ptrval,@starwhile(@@fetch_status=0)begin declare @sql nvarchar(1000) set @sql='UPDATETEXT t.cbody @ptrval ' +ltrim(@star)+' '+ ltrim(len('深圳罗湖'))+' N''深圳福田''' exec sp_executesql @sql,N'@ptrval binary(16)',@ptrval fetch next from cur into @ptrval,@starendclose curdeallocate cur--创建表create table 表(a1 varchar(10),a2 char(2))--为表添加描述信息EXECUTE sp_addextendedproperty N'MS_Description', '人员信息表', N'user', N'dbo', N'table', N'表', NULL, NULL--为字段a1添加描述信息EXECUTE sp_addextendedproperty N'MS_Description', '姓名', N'user', N'dbo', N'table', N'表', N'column', N'a1'--更新表中列a1的描述属性:EXEC sp_updateextendedproperty 'MS_Description','字段1','user',dbo,'table','表','column',a1--删除表中列a1的描述属性:EXEC sp_dropextendedproperty 'MS_Description','user',dbo,'table','表','column',a1--删除测试drop table 表取5以下随机的数字select convert(varchar,ceiling(rand()*5))将数字转换成百分比:select rtrim(cast(2 * 100/10 as decimal(5,2))) + '%'cast(2 * 100/10 as decimal(5,2)) 这个是将2*100/10转换成5位且小数位为2位的浮点小数,11.乘积:declare @s table(id float)insert into @s select 2insert into @s select 3insert into @s select 2.5select exp(sum(log(id))) from @s12.like的用法查出记录中的字符串包含1,2,3,4的记录Create Table TEST(share varchar(100))Insert TEST Select '1,2,24'Union All Select '2,23,56'Union All Select '6,10,11'Union All Select '3,4,15'Union All Select '6,29,31'GOSelect * From TEST Where ',' + share + ',' Like '%,[1-4],%'13,按条件分类排序select brand from braorder by case when brand ='飞利浦' then '' else brand end//将brand为飞利浦的排在最上面14.给返回的记录加上一个行数(1)当没有自增的id列时:select bh = identity(int,1,1) ,proname,price into temp from productselect '第' + cast(bh as varchar) + '个' , proname,price from temp(2)当有自增的id列时select bh,name,price from( SELECT bh=(SELECT COUNT(1) FROM product WHERE id > a.id)+ 1,* FROM product a ) torder by bh ---SQL2005启用 openrowset/opendatasetexec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigure-- 启用xp_cmdshell-- 允许配置高级选项EXEC sp_configure 'show advanced options', 1GO-- 重新配置RECONFIGUREGO-- 启用xp_cmdshellEXEC sp_configure 'xp_cmdshell', 1GO--重新配置RECONFIGUREGO--启动远程服务器的MSDTC服务 exec master..xp_cmdshell 'isql /S"10.128.34.22" /U"sa" /P"123456" /q"exec master..xp_cmdshell ''net start msdtc'',no_output"',no_output --启动本机的MSDTC服务 exec master..xp_cmdshell 'net start msdtc',no_output ---远程链接:1、创建远程链接服务器,然后进行查询exec sp_addlinkedserver 'HJZX_SYN','','SQLOLEDB','10.128.34.22' exec sp_addlinkedsrvlogin 'HJZX_SYN','false',null,'sa','123456' go select * from HJZX_SYN.数据库名.dbo.表名---删除连接exec sp_dropserver 'MyLink','droplogins' ---查询select * from sysservers 2、select * from openrowset('msdasql','driver={sql server};server=10.124.20.10;uid=ncc2008;pwd=ncc2008',hjzx4.dbo.t_p_order) AS a3、select * from opendatasource('sqloledb','Data Source=10.124.20.10;User ID=ncc2008;Password=ncc2008').hjzx4.dbo.t_p_order 如:alter database 数据库名 COLLATE Chinese_PRC_CI_AS 不区分大小写, 而 alter database 数据库名 COLLATE Chinese_PRC_CS_AS 使之区分大小写。导入excel数据:select * into # from OPENROWSET('microsoft.jet.oledb.4.0','Excel 5.0;hdr=yes;database=d:\1月安排.xls',准考证信息$)insert into 表名 select * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=f:\Test.xls;User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$] office2007SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0','Data Source="f:\aa.xls";User ID=admin;Password=;Extended properties=Excel 5.0')...[sheet1$]----bcp:-t列分割符,默认是以制表符(\t)分割-r行分割符,默认是以换行符(\n)分割导入:inEXEC master..xp_cmdshell 'bcp pruduct in d:\wsp.txt -c -t. -r\n'导出:--导出全表数据outEXEC master..xp_cmdshell 'bcp pruduct out d:\wsp.txt -c -Usa -Psa'--导出查询结果queryoutEXEC master..xp_cmdshell 'bcp "select * from pruduct where part_id like ''80%''" queryout d:\wsp.txt -c -t, -Usa -Psa'--导入文本文档:BULK INSERT osFROM 'c:\d.txt'WITH ( FIELDTERMINATOR = ',', --列以逗号隔开 ROWTERMINATOR = '\n' --行以换行符隔开)---osql,执行sql命令exec master..xp_cmdshell 'osql -U sa -P sa -i d:\tt.txt'--用SQL语句备份、还原数据库BACKUP DATABASE test --这里的test指的是数据库名称 TO disk = 'c:\backup.bak' --这里指名的数据库路径(backup.bak为备份文件名) WITH FORMAT, NAME = 'Full Backup of MyNwind' --这个是备注,无所谓。。随便写。RESTORE DATABASE jz1 --所被恢复的数据库名称 FROM disk = 'c:\backup.bak --本地硬盘路径(backup.bak为备份文件名)GO--SQL语句分离、附加:--分离sp_detach_db 'zetian' --附加EXEC sp_attach_db @dbname = N'zetian', @filename1 = N'C:\Inetpub\wwwroot\zetian\数据库\zetian.mdf', @filename2 = N'C:\Inetpub\wwwroot\zetian\数据库\zetian_log.ldf'--分解字咐declare @a table(A varchar(20), B varchar(20), C varchar(20), D varchar(20))insert @a select 'a1' ,'b1', 'c1', 'd1/da'union all select 'a2' ,'b2' ,'c2' ,'d22/da/da22' union all select 'a3' ,'b3' ,'c3' ,'d3' declare @t table( id int identity(1,1),e int)insert @t select top 500 1 from syscolumnsselect a,b,c,substring(d+'/',id,charindex('/',d+'/',id+1)-id) Xfrom @a a,@t bwhere substring('/'+d,id,1)='/'--设置约束CREATE TABLE jobs ( min_lvl int NOT NULL CHECK (min_lvl > = 10) ) 判断该文件是否存在:DECLARE @err INT,@fso INT,@fleExists BIT,@file VARCHAR(100)SET @file='d:\aaa.txt'EXEC @err=sp_OACreate 'Scripting.FileSystemObject',@fso OUTPUTEXEC @err=sp_OAMethod @fso, 'FileExists',@fleExists OUTPUT,@fileEXEC @err = sp_OADestroy @fsoIF @fleExists=0 PRINT '"' + @file + '" not exists'ELSE exec('exec xp_cmdshell ''del '+@file+'''') --存在则删除设置级联:alter table 表名 constraint FK_employee foreign key (外键字段) references 主表(主键字段)ON UPDATE CASCADE 设置默认值:alter table 表名 constraint FK_employee default 默认值 for 字段
[解决办法]
--数据库加密解密----加密存储过程:Create PROCEDURE po WITH ENCRYPTIONASSelect * FROM taGO--查看加密信息exec sp_helptext po---创建解密存储过程create PROCEDURE sp_decrypt(@objectname varchar(50))ASbeginset nocount on--CSDN:j9988 copyright:2004.07.15 --V3.2 --破解字节不受限制,适用于SQLSERVER2000存储过程,函数,视图,触发器--修正上一版"视图触发器"不能正确解密错误--发现有错,请E_MAIL:CSDNj9988@tom.combegin trandeclare @objectname1 varchar(100),@orgvarbin varbinary(8000)declare @sql1 nvarchar(4000),@sql2 varchar(8000),@sql3 nvarchar(4000),@sql4 nvarchar(4000)DECLARE @OrigSpText1 nvarchar(4000), @OrigSpText2 nvarchar(4000) , @OrigSpText3 nvarchar(4000), @resultsp nvarchar(4000)declare @i int,@status int,@type varchar(10),@parentid intdeclare @colid int,@n int,@q int,@j int,@k int,@encrypted int,@number intselect @type=xtype,@parentid=parent_obj from sysobjects where id=object_id(@objectname)create table #temp(number int,colid int,ctext varbinary(8000),encrypted int,status int)insert #temp Select number,colid,ctext,encrypted,status FROM syscomments Where id = object_id(@objectname)select @number=max(number) from #tempset @k=0while @k<=@number beginif exists(select 1 from syscomments where id=object_id(@objectname) and number=@k)beginif @type='P'set @sql1=(case when @number>1 then 'Alter PROCEDURE '+ @objectname +';'+rtrim(@k)+' WITH ENCRYPTION AS 'else 'Alter PROCEDURE '+ @objectname+' WITH ENCRYPTION AS 'end)if @type='TR'begindeclare @parent_obj varchar(255),@tr_parent_xtype varchar(10)select @parent_obj=parent_obj from sysobjects where id=object_id(@objectname)select @tr_parent_xtype=xtype from sysobjects where id=@parent_objif @tr_parent_xtype='V'beginset @sql1='Alter TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION INSTERD OF Insert AS PRINT 1 'endelsebeginset @sql1='Alter TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION FOR Insert AS PRINT 1 'endendif @type='FN' or @type='TF' or @type='IF'set @sql1=(case @type when 'TF' then 'Alter FUNCTION '+ @objectname+'(@a char(1)) returns @b table(a varchar(10)) with encryption as begin insert @b select @a return end 'when 'FN' then'Alter FUNCTION '+ @objectname+'(@a char(1)) returns char(1) with encryption as begin return @a end'when 'IF' then'Alter FUNCTION '+ @objectname+'(@a char(1)) returns table with encryption as return select @a as a'end)if @type='V'set @sql1='Alter VIEW '+@objectname+' WITH ENCRYPTION AS Select 1 as f'set @q=len(@sql1)set @sql1=@sql1+REPLICATE('-',4000-@q)select @sql2=REPLICATE('-',8000)set @sql3='exec(@sql1'select @colid=max(colid) from #temp where number=@k set @n=1while @n<=CEILING(1.0*(@colid-1)/2) and len(@sql3)<=3996begin set @sql3=@sql3+'+@'set @n=@n+1endset @sql3=@sql3+')'exec sp_executesql @sql3,N'@sql1 nvarchar(4000),@ varchar(8000)',@sql1=@sql1,@=@sql2endset @k=@k+1endset @k=0while @k<=@number beginif exists(select 1 from syscomments where id=object_id(@objectname) and number=@k)beginselect @colid=max(colid) from #temp where number=@k set @n=1while @n<=@colidbeginselect @OrigSpText1=ctext,@encrypted=encrypted,@status=status FROM #temp Where colid=@n and number=@kSET @OrigSpText3=(Select ctext FROM syscomments Where id=object_id(@objectname) and colid=@n and number=@k)if @n=1beginif @type='P'SET @OrigSpText2=(case when @number>1 then 'Create PROCEDURE '+ @objectname +';'+rtrim(@k)+' WITH ENCRYPTION AS 'else 'Create PROCEDURE '+ @objectname +' WITH ENCRYPTION AS 'end)if @type='FN' or @type='TF' or @type='IF'SET @OrigSpText2=(case @type when 'TF' then 'Create FUNCTION '+ @objectname+'(@a char(1)) returns @b table(a varchar(10)) with encryption as begin insert @b select @a return end 'when 'FN' then'Create FUNCTION '+ @objectname+'(@a char(1)) returns char(1) with encryption as begin return @a end'when 'IF' then'Create FUNCTION '+ @objectname+'(@a char(1)) returns table with encryption as return select @a as a'end)if @type='TR' beginif @tr_parent_xtype='V'beginset @OrigSpText2='Create TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION INSTEAD OF Insert AS PRINT 1 'endelsebeginset @OrigSpText2='Create TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION FOR Insert AS PRINT 1 'endendif @type='V'set @OrigSpText2='Create VIEW '+@objectname+' WITH ENCRYPTION AS Select 1 as f'set @q=4000-len(@OrigSpText2)set @OrigSpText2=@OrigSpText2+REPLICATE('-',@q)endelsebeginSET @OrigSpText2=REPLICATE('-', 4000)endSET @i=1SET @resultsp = replicate(N'A', (datalength(@OrigSpText1) / 2))WHILE @i<=datalength(@OrigSpText1)/2BEGINSET @resultsp = stuff(@resultsp, @i, 1, NCHAR(UNICODE(substring(@OrigSpText1, @i, 1)) ^(UNICODE(substring(@OrigSpText2, @i, 1)) ^UNICODE(substring(@OrigSpText3, @i, 1)))))SET @i=@i+1ENDset @orgvarbin=cast(@OrigSpText1 as varbinary(8000))set @resultsp=(case when @encrypted=1 then @resultsp else convert(nvarchar(4000),case when @status&2=2 then uncompress(@orgvarbin) else @orgvarbin end)end)print @resultspset @n=@n+1endendset @k=@k+1enddrop table #temprollback tranend--调用解密存储过程将加密的存储过程进行解密exec sp_decrypt po
[解决办法]
--SQL处理库存与销售,先进先出原则--库存表create table t(id int identity(1,1),name varchar(50),--商品名称j int, --入库数量c int, --出库数量jdate datetime --入库时间)insert into t(name,j,c,jdate) select 'A',100,0,'2007-12-01'insert into t(name,j,c,jdate) select 'A',200,0,'2008-01-07'insert into t(name,j,c,jdate) select 'B',320,0,'2007-12-21'insert into t(name,j,c,jdate) select 'A',100,0,'2008-01-15'insert into t(name,j,c,jdate) select 'B',90,0,'2008-02-03'insert into t(name,j,c,jdate) select 'A',460,0,'2008-02-01'insert into t(name,j,c,jdate) select 'A',510,0,'2008-03-01'gocreate proc wsp@name varchar(50),@cost int--,--销售量--@returns int output --该货物的库存是否够(不够:-1;够:1)as--先得出该货物的库存是否够declare @spare float --剩余库存select @spare=sum(j)-sum(c) from t where name=@name if(@spare>=@cost)begin --根据入库日期采用先进先出原则对货物的库存进行处理 update t set c= case when (select @cost-isnull(sum(j),0)+isnull(sum(c),0) from t where name=@name and jdate<=a.jdate and j!=c)>=0 then a.j else case when (select @cost-isnull(sum(j),0)+isnull(sum(c),0) from t where name=@name and jdate<a.jdate and j!=c)<0 then 0 else (select @cost-isnull(sum(j),0)+isnull(sum(c),0)+a.c from t where name=@name and jdate<a.jdate and j!=c) end end from t a where name=@name and j!=c endelse raiserror('库存不足',16,1) return go--测试:exec wsp @name='A',@cost=390select * from t--删除测试环境drop table tdrop proc wsp
[解决办法]
1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1<>1
法二:select top 0 * into b from a
2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;
3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..
4、说明:子查询(表名1:a 表名2:b)
select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)
5、说明:显示文章、提交人和最后回复时间
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
6、说明:外连接查询(表名1:a 表名2:b)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
7、说明:在线视图查询(表名1:a )
select * from (SELECT a,b,c FROM a) T where t.a > 1;
8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 数值1 and 数值2
9、说明:in 的使用方法
select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)
10、说明:两张关联表,删除主表中已经在副表中没有的信息
delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )
11、说明:四表联查问题:
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....
12、说明:日程安排提前五分钟提醒
SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5
13、说明:一条sql 语句搞定数据库分页
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段
14、说明:前10条记录
select top 10 * form table1 where 范围
15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)
select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)
16、说明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表
(select a from tableA ) except (select a from tableB) except (select a from tableC)
17、说明:随机取出10条数据
select top 10 * from tablename order by newid()
18、说明:随机选择记录
select newid()
19、说明:删除重复记录
Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)
20、说明:列出数据库里所有的表名
select name from sysobjects where type='U'
21、说明:列出表里的所有的
select name from syscolumns where id=object_id('TableName')
22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type
显示结果:
type vender pcs
电脑 A 1
电脑 A 1
光盘 B 2
光盘 A 2
手机 B 3
手机 C 3
23、说明:初始化表table1
TRUNCATE TABLE table1
24、说明:选择从10到15的记录
select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc
[解决办法]
word中合并单元格,不知道为什么横向的不能像纵向那样。。
//横向 Cell beginCell = table.Cell(rowNum, colNum);//起始单元格 Cell endCell = table.Cell(rowNum, colNum + count);//最后一个单元格 beginCell.Merge(endCell);//将首尾单元格及之间所有单元格合并 //纵向 table.Cell(rowNum, colNum).Select(); object moveUnit = WdUnits.wdLine; object moveCount = count; object moveExtend = WdMovementType.wdExtend; m_WordApp.Selection.MoveDown(ref moveUnit, ref moveCount, ref moveExtend); m_WordApp.Selection.Cells.Merge(); m_WordApp.Selection.Cells.VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
[解决办法]
superdullwolf。。
L.Sort( delegate(KeyValuePair <String, int> a, KeyValuePair <String, int> b)这里是一个Icompare接口。所谓排序,就意味着比较大小的原则,除了系统自带的数据类型大小可以比外,很多面向对象的属性,需要你给出一个大小比较原则。.net 的范型类List <T>包含一个Sort()方法,只要你给出Icompare接口。这里是一个关键的技巧:用匿名函数代替类和接口的实现 L.Sort( delegate(KeyValuePair <String, int> a, KeyValuePair <String, int> b) { return (a.Value - b.Value); } );如果不用上面的,就要这样写,增加一个类: internal class myCompare : System.Collections.Generic.IComparer <KeyValuePair <String, int> > { public int Compare(KeyValuePair <String, int> a, KeyValuePair <String, int> b) { return (a.Value - b.Value); } }//凋用的地方这样写: myCompare mp=new myCompare(); L.Sort(mp.Compare);减少了很多代码和命名,也同时对delegate,接口,泛型有了进一步的了解。
[解决办法]
#region 全角转半角 string QjToBj(string str) { string QJstr = str; char[] c = QJstr.ToCharArray(); for (int i = 0; i < c.Length; i++) { byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1); if (b.Length == 2) { if (b[1] == 255) { b[0] = (byte)(b[0] + 32); b[1] = 0; c[i] = System.Text.Encoding.Unicode.GetChars(b)[0]; } } } string strNew = new string(c); return strNew; } #endregion
[解决办法]
向数据库中上传图片
protected void Button2_Click(object sender, EventArgs e)
{
string lastName = FileUpload1.FileName.Substring(FileUpload1.FileName.LastIndexOf(".") + 1);
if (lastName.ToLower() == "jpg" || lastName.ToLower() == "bmp" || lastName.ToLower() == "gif")
{
int len = FileUpload1.PostedFile.ContentLength;
Byte[] pictureData = new byte[len]; //将图片转换成二进制
HttpPostedFile htp = FileUpload1.PostedFile;
Stream srm = htp.InputStream;
srm.Read(pictureData, 0, len);
SqlConnection conn = new SqlConnection("Data Source=tiger;Initial Catalog=liuyan;Integrated Security=True");
conn.Open();
string sqlsel = "select * from tb_pic";
SqlDataAdapter ada = new SqlDataAdapter(sqlsel, conn);
DataSet ds = new DataSet();
ada.Fill(ds);
DataList1.DataSource = ds;
DataList1.DataBind();
SqlCommand comd = new SqlCommand("insert into tb_pic (username,name,pic) values ('" + TextBox4.Text + "','" + FileUpload1.FileName + "',@pictureData)", conn);
comd.Parameters.Add("@pictureData", SqlDbType.Image);
comd.Parameters["@pictureData"].Value = pictureData;
comd.ExecuteNonQuery();
DataList1.DataBind();
conn.Close();
Response.Write("<script>alert('添加成功!')location='tupian.aspx'</script>");
}
}
[解决办法]
支持,支持,献丑了,
namespace 修复网络连接
{
public partial class form1 : Form
{
DateTime ds;
int timescan;
System.Diagnostics.Process p=new System.Diagnostics.Process();
public form1()
{
InitializeComponent();
}
private void renew_Click(object sender, EventArgs e)
{
initial_timer();
}
public void rebuild_con()
{
//p = new System.Diagnostics.Process();
p.StartInfo.FileName = "cmd.exe";
//p.StartInfo.FileName = "f:\\test.bat";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine("ipconfig /release");
p.StandardInput.WriteLine("ipconfig /renew");
p.StandardInput.WriteLine("arp -d*");
p.StandardInput.WriteLine("nbtstat -r");
p.StandardInput.WriteLine("nbtstat -rr");
p.StandardInput.WriteLine("ipconfig/ flushdns");
//MessageBox.Show(p.StandardOutput.ReadToEnd().ToString());
}
public string NetStatus()
{
ManagementObjectCollection objects;
string status = "";
ManagementObjectSearcher searcher = new ManagementObjectSearcher();
searcher.Query.QueryString = "Select * From Win32_NetworkAdapter ";
objects = searcher.Get();
foreach (ManagementObject obj in objects)
{
foreach (PropertyData p in obj.Properties)
{
if (p.Name.Equals("NetConnectionStatus"))
{
if (p.Value != null)
{
status = p.Value.ToString();
}
}
}
}
switch (status)
{
case "0":
return "Disconnected";
case "1":
return "Connecting ...";
case "2":
return "Connected";
case "3":
return "Disconnecting ...";
case "4":
return "Hardware not present";
case "5":
return "Hardware disabled";
case "6":
return "Hardware malfunction";
case "7":
return "Media disconnected";
case "8":
return "Authenticating";
case "9":
return "Authentication succeeded";
case "10":
return "Authentication failed";
default:
return "";
}
}
private void timer1_Tick(object sender, EventArgs e)
{
rebuild_con();
richTextBox1.Text += "第" + (++timescan).ToString() + "次修复......";
if (timescan % 5 == 0)
{
richTextBox1.Text += "\n";
}
string sta = NetStatus();
while (sta == "Connected")
{
stp_exe();
richTextBox1.Text += " \n修复成功!"+"\n已停止修复!";
break;
}
}
private void button1_Click(object sender, EventArgs e)
{
stp_exe();
}
private void timer2_Tick(object sender, EventArgs e)
{
int xv = progressBar1.Value == progressBar1.Maximum ? progressBar1.Value = 0 : progressBar1.Value++;
}
public void stp_exe()
{
timer1.Stop();
timer2.Stop();
progressBar1.Visible = false;
label2.Visible = false;
}
public void initial_timer()
{
try
{
int j = int.Parse(textBox1.Text) * 1000;
if (j < 5000)
{
MessageBox.Show("时间间隔过短,数值不得小于5秒!");
return;
}
timer1.Interval = j;
}
catch (Exception ex)
{
MessageBox.Show("请输入数字类型字符!" + ex.ToString().Remove(60) + "......");
return;
}
timer2.Interval = 500;
timer1.Start();
timer2.Start();
progressBar1.Minimum = 0;
progressBar1.Maximum = 20;
progressBar1.Visible = true;
label2.Visible = true;
}
}
}
自动修复网络连接代码,原创,虽然没啥技术含量
[解决办法]
/// <summary> /// 错误处理函数,用于记录错误日志 /// </summary> public class SystemError { //记录错误日志位置 private static string m_fileName = System.Web.HttpContext.Current.Server.MapPath("Systemlog.log"); #region 可在web.config 中配置 // private static string m_fileName = System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["LogfilePathName"]); // private string m_fileName = "c:\\Systemlog.txt"; // <configuration> // <appSettings> // <add key="LogfilePathName" value="~/log/error.log"/> // </appSettings> // <connectionStrings/> #endregion //OleDbHelper OHelper = new OleDbHelper(); //OleDbHelper.CreateErrorLog("this is a test for error log!"); public static String FileName { get { return (m_fileName); } set { if (value != null || value != "") { m_fileName = value; } } } /// <summary> /// 记录日志至文本文件 /// </summary> /// <param name="message">记录的内容</param> public static void CreateErrorLog(string message) { String MyURLA, MyURLB, MyURLC, MyURLD, MyURLE, MyURLF; MyURLA = System.Web.HttpContext.Current.Request.RawUrl.ToString(); // /web/CompanyNews.aspx?ID=6 MyURLB = System.Web.HttpContext.Current.Request.Url.AbsolutePath.ToString(); // /web/CompanyNews.aspx 无参数 MyURLC = System.Web.HttpContext.Current.Request.Url.PathAndQuery.ToString(); // 同 Request.RawUrl MyURLD = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath.ToString(); // /web/CompanyNews.aspx 同 Request.Url.AbsolutePath MyURLE = System.Web.HttpContext.Current.Request.Url.AbsoluteUri.ToString(); // http://localhost:1108/web/CompanyNews.aspx?ID=6 MyURLF = System.Web.HttpContext.Current.Request.UserHostAddress.ToString(); //127.0.0.1 if (File.Exists(m_fileName)) { ///如果日志文件已经存在,则直接写入日志文件 StreamWriter sr = File.AppendText(FileName); sr.WriteLine("\n"); sr.WriteLine("*" + DateTime.Now.ToString() + " | " + MyURLA + " | " + message); //sr.WriteLine("\n"); //sr.WriteLine("*" + DateTime.Now.ToString() + " | " + MyURLD + " | " + message); sr.Close(); } else { ///创建日志文件 StreamWriter sr = File.CreateText(FileName); sr.Close(); } } }
[解决办法]
楼主的 主题不错。代码段
我感觉弄个 代码的书写技巧更好。因为代码段再好。不如有技巧的
比如 有一个判断
if(bool=true)
{
执行
}
else
{
执行
}
不如有一个条件是可以return
if(bool=false)
{
retun;
}
不执行
下面的了
想法而已
[解决办法]
/// <summary>/// BindURL 的摘要描述/// </summary>public class BindURL{ public BindURL() { // // TODO: 在此加入建構函式的程式碼 // }/// <summary>/// URL绑定 寒鹏:2009 /// </summary> /// <param name="MystrURL">主域名</param> public static void BindToURL(string MystrURL) { //string strURL = System.Web.HttpContext.Current.Request.ToString(); // if (MystrURL.ToLower() == "localhost") { System.Web.HttpContext.Current.Response.Redirect("http://" + MystrURL); } int MyURL = System.Web.HttpContext.Current.Request.Url.Host.ToString().ToLower().IndexOf(MystrURL); if (MyURL >=0) { System.Web.HttpContext.Current.Response.Redirect("http://" + MystrURL); } else { System.Web.HttpContext.Current.Response.Redirect("http://www.e8sp.Com"); } } /// <summary> /// URL绑定 寒鹏:2009 /// </summary> /// <param name="MystrURL">主域名</param> /// <param name="MystrURLs">二级域名</param> /// public static void BindToURL(string MystrURL, string MystrURLs) { int iMystrURL = Convert.ToInt32(System.Web.HttpContext.Current.Request.Url.Host.ToString().ToLower().IndexOf(MystrURL)); int iMystrURLs = Convert.ToInt32(System.Web.HttpContext.Current.Request.Url.Host.ToString().ToLower().IndexOf(MystrURL)); if (iMystrURL >= 0) { System.Web.HttpContext.Current.Response.Redirect("http://" + MystrURL); } else { System.Web.HttpContext.Current.Response.Redirect("http://www.e8sp.Com"); } if (iMystrURLs >= 0) { System.Web.HttpContext.Current.Response.Redirect("http://" + MystrURLs); } else { System.Web.HttpContext.Current.Response.Redirect("http://www.e8sp.Com"); } } /// <summary> /// URL绑定 寒鹏:2009 /// </summary> /// <param name="MystrURL">主域名</param> /// <param name="MystrURLs">二级域名</param> /// <param name="WebPort">端口</param> public static void BindToURL(string MystrURL, string MystrURLs, int WebPort) { int sMystrURL =Convert.ToInt32( System.Web.HttpContext.Current.Request.Url.Host.ToString().ToLower().IndexOf(MystrURL)); int sMystrURLs =Convert.ToInt32( System.Web.HttpContext.Current.Request.Url.Host.ToString().ToLower().IndexOf(MystrURL)); if (sMystrURL >= 0) { System.Web.HttpContext.Current.Response.Redirect("http://" + MystrURL + ":" + WebPort); } else { System.Web.HttpContext.Current.Response.Redirect("http://www.e8sp.Com"); } if (sMystrURLs >= 0) { System.Web.HttpContext.Current.Response.Redirect("http://" + MystrURLs + ":" + WebPort); } else { System.Web.HttpContext.Current.Response.Redirect("http://www.e8sp.Com"); } }}