<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_漫漫技术人生路</title><subtitle type="text">C#</subtitle><id>http://feed.cnblogs.com/blog/u/21527/rss</id><updated>2011-01-13T09:23:52Z</updated><author><name>javaca88</name><uri>http://www.cnblogs.com/javaca88/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/javaca88/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/21527/rss"/><entry><id>http://www.cnblogs.com/javaca88/archive/2010/06/07/1752951.html</id><title type="text">SQL高级语法汇总</title><summary type="text">SQL高级语法汇总http://hi.baidu.com/vstudycn/blog/item/d34791d8292982e039012fb4.htmlCUBE ROLLUP 及COMPUTE关键词CUBE 关键词是用来将所要进行查询的各分组字段内的数据求和的运算。COMPUTE关键字则是用来将分组做小计，也就是说将字段内进行分组并且将每一组生成一或多个总和 平均值等范例select cust_...</summary><published>2010-06-07T01:14:00Z</published><updated>2010-06-07T01:14:00Z</updated><author><name>javaca88</name><uri>http://www.cnblogs.com/javaca88/</uri></author><link rel="alternate" href="http://www.cnblogs.com/javaca88/archive/2010/06/07/1752951.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/javaca88/archive/2010/06/07/1752951.html"/><content type="html">&lt;p&gt;SQL高级语法汇总&lt;br /&gt;&lt;a href="http://hi.baidu.com/vstudycn/blog/item/d34791d8292982e039012fb4.html" target="_blank"&gt;http://hi.baidu.com/vstudycn/blog/item/d34791d8292982e039012fb4.html&lt;/a&gt;&lt;br /&gt;CUBE ROLLUP 及COMPUTE关键词&lt;br /&gt;CUBE 关键词是用来将所要进行查询的各分组字段内的数据求和的运算。&lt;br /&gt;COMPUTE关键字则是用来将分组做小计，也就是说将字段内进行分组并且将每一组生成一或多个总和 平均值等&lt;/p&gt;&#xD;
&lt;p&gt;范例&lt;br /&gt;select cust_id,SUM(pay1) AS pay11 from pay_list GROUP BY pay1 WITH CUBE&lt;br /&gt;go&lt;br /&gt;以上代码导致错误因为在SUM汇总函数所指定的字段名称pay1与CUBE关键词一并使用所导致发生的错误消息&lt;br /&gt;修改&lt;br /&gt;SELECT cust_id,SUM(pay1) as pay11 FROM pay_list GROUP BY cust_id WITH CUBE&lt;br /&gt;GO&lt;/p&gt;&#xD;
&lt;p&gt;ROLLUP关键词&lt;br /&gt;将GROUP BY后面所加的第一个字段名称来求和而其他的字段并不做&lt;br /&gt;ROLLUP以及CUBE关键词二者之间不同的地方就是ROLLUP只会将GROUP BY后面的第一个字段名称求总和而CUBE则会将每一个字段都求总和的操作&lt;/p&gt;&#xD;
&lt;p&gt;范例&lt;br /&gt;SELECT 厂商编号,产品名称,SUM(数量) AS 总数量 FROM proced GROUP BY 厂商编号，产品名称 WITH ROLLUP&lt;br /&gt;GO&lt;br /&gt;COMPUTE关键词&lt;br /&gt;用来将分组小计也就是在字段内进行分组,并且将每一组生成一或多个总和 平均值等&lt;br /&gt;范例&lt;br /&gt;select 厂商编号,产品名称,数量 from proced compute sum(数量)&lt;br /&gt;go&lt;/p&gt;&#xD;
&lt;p&gt;以厂商编号作为分类根据时&lt;br /&gt;select 厂商编号,产品名称,数量 from proced order by 厂商编号 COMPUTE SUM(数量) BY 厂商编号&lt;br /&gt;go&lt;/p&gt;&#xD;
&lt;p&gt;RETURN 语句&lt;br /&gt;将目前正在执行的批处理T-SQL语句，退出程序或语句中断,并返回或不返回数值。&lt;br /&gt;当RETURN语句与存储过程一起使用时，其RETURN并不会返回一个NULL值。但当某程序尝试返回NULL值时，则会生成警告消息，接着会返回一个为0的数值。&lt;/p&gt;&#xD;
&lt;p&gt;语法声明&lt;br /&gt;return [integer_expression]&lt;br /&gt;integer_expression指要返回的整数值&lt;/p&gt;&#xD;
&lt;p&gt;范例&lt;br /&gt;--return的使用范例&lt;br /&gt;create procedurecheck_maxdata&lt;br /&gt;as&lt;br /&gt;if(select state from authors where au_id='123-34-45')&lt;br /&gt;return 1&lt;br /&gt;else&lt;br /&gt;return 2&lt;br /&gt;WAITFOR语句&lt;br /&gt;WAITFOR语句是用来指定触发语句组，存储过程或事物执行的时间，时间间隔或事件。执行WAITFOR语句之后，必须等到指定的时间或指定的事件发生后，才能使用到SQL Server 的连接。&lt;br /&gt;如果 想知道目前谁在使用或等待时，可以使用系统存储过程sp_who来了解。&lt;/p&gt;&#xD;
&lt;p&gt;声明语法&lt;br /&gt;WAITFOR{DELAY 'time'|TIME 'time'}&lt;br /&gt;参数说明&lt;br /&gt;DELAY用来设置要SQL Server必须要等待所到指定的时数已过时，才可以使用SQL Server的连接&lt;br /&gt;time 用来指定要等待的时间&lt;br /&gt;只能指定时间而不能设置日期。其等待时间的设置最多可指定到24小时。&lt;/p&gt;&#xD;
&lt;p&gt;TIME用来指示SQL Server等待到所指定的时间。&lt;/p&gt;&#xD;
&lt;p&gt;范例&lt;br /&gt;--此范例会在下午6：00时会执行select_data 存储过程&lt;br /&gt;begin&lt;br /&gt;waitfor TIME '18:00'&lt;br /&gt;EXEC select_data&lt;br /&gt;end&lt;/p&gt;&#xD;
&lt;p&gt;begin&lt;br /&gt;waitfor TIME '15:20'&lt;br /&gt;print 'ninhao'&lt;br /&gt;end&lt;/p&gt;&#xD;
&lt;p&gt;范例&lt;br /&gt;--WAITFOR DELAY的使用范例&lt;br /&gt;use pubs&lt;br /&gt;go&lt;br /&gt;--设置要sql server 等待一分钟再执行下列语句&lt;br /&gt;waitfor delay '00:01:00'&lt;br /&gt;select * from authors&lt;br /&gt;go&lt;br /&gt;CASE&lt;br /&gt;根据条件列表之后来执行表达式，其CASE可分为两种格式：&lt;br /&gt;1 一种格式是属于简单的CASE格式，这种CASE会比较表达式与一组简单表达式，以便决定结果。&lt;br /&gt;2 另一种格式是属于搜索的CASE格式，这种格式会评估一组布尔表达式,以便决定其结果。&lt;/p&gt;&#xD;
&lt;p&gt;简单CASE声明&lt;br /&gt;CASE input_expression&lt;br /&gt;WHEN when_expression THEN result_expression&lt;br /&gt;[..n]&lt;br /&gt;[&lt;br /&gt;ELSE else_result_expression&lt;br /&gt;END&lt;/p&gt;&#xD;
&lt;p&gt;如果想使用搜索CASE格式时，可以根据下面的语法来进行声明&lt;br /&gt;CASE&lt;br /&gt;WHEN Boolean_expression THEN result_expression&lt;br /&gt;[..n]&lt;br /&gt;[&lt;br /&gt;ELSE else_result_expression&lt;br /&gt;END&lt;/p&gt;&#xD;
&lt;p&gt;RAISERROR 语句&lt;br /&gt;RAISERROR语句会返回用户所自定义的错误消息，并且设置系统旗标，记录曾发生过的错误。&lt;br /&gt;使用RAISERROR指定用户自定义的错误消息时，请使用大于50，000的错误消息代码和0至18的重要性层级。&lt;/p&gt;&#xD;
&lt;p&gt;使用系统存储过程sp_addmessage来创建自定义的错误消息&lt;/p&gt;&#xD;
&lt;p&gt;RAISERROR语句其语法声明&lt;/p&gt;&#xD;
&lt;p&gt;使用RAISERROR语句来创建并返回用户自定义的错误信息时，请使用sp_addmessage来添加用户自定义的错误消息，并使用sp_dropmessage来删除用户自定义的错误消息。&lt;br /&gt;发生错误时，错误代码会放置在@@ERROR函数中，此函数存放着最近生成的错误代码。&lt;/p&gt;&#xD;
&lt;p&gt;范例&lt;br /&gt;--使用RAISERROR的范例&lt;br /&gt;--使用sp_addmessage来创建自定义错误消息，其中76548是指错误代码，9是代表严重程度，而"错误消息测试"则是代表消息内容&lt;br /&gt;EXEC sp_addmessage 76548,9,'错误消息测试'&lt;br /&gt;GO&lt;br /&gt;RAISERROR(76548,9,1)&lt;/p&gt;&lt;img src="http://www.cnblogs.com/javaca88/aggbug/1752951.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/javaca88/archive/2010/06/07/1752951.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/javaca88/archive/2009/06/26/1511357.html</id><title type="text">textaera maxlength</title><summary type="text">&amp;lt;html&amp;gt;&amp;lt;script type="text/javascript" language="javascript"&amp;gt; function ismaxlength(obj) {alert(obj.value.length); var mlength=obj.getAttribute ? parseInt(obj.getAttribute("maxlength")) : "";...</summary><published>2009-06-26T00:51:00Z</published><updated>2009-06-26T00:51:00Z</updated><author><name>javaca88</name><uri>http://www.cnblogs.com/javaca88/</uri></author><link rel="alternate" href="http://www.cnblogs.com/javaca88/archive/2009/06/26/1511357.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/javaca88/archive/2009/06/26/1511357.html"/></entry><entry><id>http://www.cnblogs.com/javaca88/archive/2009/06/26/1511356.html</id><title type="text">聚焦索引与非聚焦索引及其查询效率 zhuan</title><summary type="text">&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&amp;lt;html&amp;gt;&amp;lt;span&amp;gt;聚焦索引与非聚焦索引及其查询效率&amp;lt;/span&amp;gt;&amp;lt;pre&amp;gt;随着&amp;#8220;...</summary><published>2009-06-26T00:50:00Z</published><updated>2009-06-26T00:50:00Z</updated><author><name>javaca88</name><uri>http://www.cnblogs.com/javaca88/</uri></author><link rel="alternate" href="http://www.cnblogs.com/javaca88/archive/2009/06/26/1511356.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/javaca88/archive/2009/06/26/1511356.html"/></entry><entry><id>http://www.cnblogs.com/javaca88/archive/2008/04/02/1134385.html</id><title type="text">挪威公主</title><summary type="text">大家输得可怜了吧，我再向上好公式《反弹》大智慧，通信达，通用 大家输得可怜了吧，自用反弹主图加选股，我没时间加图谁有时间帮补上个图吧。主图；五:MA(C,5),LINETHICK2;十:MA(C,10),LINETHICK2;三十:MA(C,30),LINETHICK4;六十:MA(C,60),LINETHICK3;A1:=MA(C,5)&amp;lt;MA(C,10) AND CROSS(C,MA(C,...</summary><published>2008-04-02T04:55:00Z</published><updated>2008-04-02T04:55:00Z</updated><author><name>javaca88</name><uri>http://www.cnblogs.com/javaca88/</uri></author><link rel="alternate" href="http://www.cnblogs.com/javaca88/archive/2008/04/02/1134385.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/javaca88/archive/2008/04/02/1134385.html"/></entry><entry><id>http://www.cnblogs.com/javaca88/archive/2006/11/01/546870.html</id><title type="text">  FormView1.ChangeMode</title><summary type="text">protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) {  GridViewRow selectRow = GridView1.Rows[e.NewSelectedIndex];  string strId = selectRow.Cells[0].Text; if (BLL...</summary><published>2006-11-01T07:44:00Z</published><updated>2006-11-01T07:44:00Z</updated><author><name>javaca88</name><uri>http://www.cnblogs.com/javaca88/</uri></author><link rel="alternate" href="http://www.cnblogs.com/javaca88/archive/2006/11/01/546870.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/javaca88/archive/2006/11/01/546870.html"/></entry><entry><id>http://www.cnblogs.com/javaca88/archive/2006/10/30/544582.html</id><title type="text">最经典的实现字符数控制的方案哦！(完善版）(转)</title><summary type="text">最经典的实现字符数控制的方案哦！(完善版） --&amp;gt;最经典的实现字符数控制的方案 当我们在ASP.NET开发时，经常会遇到一个头疼的问题：字符数的控制 由于数据库的字段长度是固定的，因此在进行字符输入时，最关键的就是控制字符的个数不能超过字段的长度，要不然，一个个异常会让人疯掉的。  对于单行文本框，不管是HTML控件还是Web控件，我们经常会使用MaxLength来控制，但这种控制无法控制到中文字...</summary><published>2006-10-30T07:56:00Z</published><updated>2006-10-30T07:56:00Z</updated><author><name>javaca88</name><uri>http://www.cnblogs.com/javaca88/</uri></author><link rel="alternate" href="http://www.cnblogs.com/javaca88/archive/2006/10/30/544582.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/javaca88/archive/2006/10/30/544582.html"/></entry><entry><id>http://www.cnblogs.com/javaca88/archive/2006/10/27/541420.html</id><title type="text">JavaScript实际应用:父子页面交互</title><summary type="text">子窗口和父窗口交互的内容，基本上无非就是把子窗口的信息传递给父窗口，并且关闭自己等等，或者是父窗口把自己的信息传递给子窗口等等。1。父窗口传递信息给子窗口看代码实例：&amp;lt;script language=javascript&amp;gt;function outPut(){//获取父窗口的文本信息赋值给textvar text = document.abc.text.value;//打开子窗口，并且把...</summary><published>2006-10-27T00:36:00Z</published><updated>2006-10-27T00:36:00Z</updated><author><name>javaca88</name><uri>http://www.cnblogs.com/javaca88/</uri></author><link rel="alternate" href="http://www.cnblogs.com/javaca88/archive/2006/10/27/541420.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/javaca88/archive/2006/10/27/541420.html"/></entry><entry><id>http://www.cnblogs.com/javaca88/archive/2006/10/26/540873.html</id><title type="text">FormView1 动态传参数</title><summary type="text">using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.We...</summary><published>2006-10-26T08:38:00Z</published><updated>2006-10-26T08:38:00Z</updated><author><name>javaca88</name><uri>http://www.cnblogs.com/javaca88/</uri></author><link rel="alternate" href="http://www.cnblogs.com/javaca88/archive/2006/10/26/540873.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/javaca88/archive/2006/10/26/540873.html"/></entry><entry><id>http://www.cnblogs.com/javaca88/archive/2006/10/26/540652.html</id><title type="text">如何取得treeview的节点的checkbox的value值</title><summary type="text">?private void InitTree2(TreeNodeCollection Nds,string parentId,int flag){DataView dv=new DataView();TreeNode tmpNd;dv.Table=dsTree.Tables[0];dv.RowFilter="ParentId='" + parentId + "'" ;foreach(DataRow...</summary><published>2006-10-26T06:10:00Z</published><updated>2006-10-26T06:10:00Z</updated><author><name>javaca88</name><uri>http://www.cnblogs.com/javaca88/</uri></author><link rel="alternate" href="http://www.cnblogs.com/javaca88/archive/2006/10/26/540652.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/javaca88/archive/2006/10/26/540652.html"/></entry><entry><id>http://www.cnblogs.com/javaca88/archive/2006/10/25/539540.html</id><title type="text">DetailsView1 动态添加自动列</title><summary type="text">protected void DetailsView1_ItemCommand(object sender, DetailsViewCommandEventArgs e) { if (e.CommandName == "Edit") { DetailsView1.ChangeMode(DetailsViewMode.Edit); CommandField dd = new CommandField...</summary><published>2006-10-25T06:46:00Z</published><updated>2006-10-25T06:46:00Z</updated><author><name>javaca88</name><uri>http://www.cnblogs.com/javaca88/</uri></author><link rel="alternate" href="http://www.cnblogs.com/javaca88/archive/2006/10/25/539540.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/javaca88/archive/2006/10/25/539540.html"/></entry></feed>
