< align=middle src=http://player.youku.com/player.php/sid/XMTQ3NTE2NzIw/v.swf width=480 height=400 type=application/x-shockwave-flash allowScriptAccess="sameDomain" quality="high" mce_src="http://player.youku.com/player.php/sid/XMTQ3NTE2NzIw/v.swf"> ......
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形
界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个
调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这
个道理。
一般来说,GDB主要帮忙你完成下面四个方面的功能:
1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。
2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
3、当程序被停住时,可以检查此时你的程序中所发生的事。
4、动态的改变你程序的执行环境。
从上面看来,GDB和一般的调试工具没有什么两样,基本上也是完成这些功能,不过在细节
上,你会发现GDB这个调试工具的强大,大家可能比较习惯了图形化的调试工具,但有时候
,命令行的调试工具却有着图形化工具所不能完成的功能。让我们一一看来。
一个调试示例
......
create function fun_getPY(@str nvarchar(4000))
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--如果非汉字字符,返回原字符
set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901
then (select top 1 PY from (
select 'A' as PY,N'驁' as word
union all select 'B',N'簿'
union all select 'C',N'錯'
union all select 'D',N'鵽'
union all select 'E',N'樲'
union all select 'F',N'鰒'
union all select 'G',N'腂'
union all select 'H',N'夻'
union all select 'J',N'攈'
union all select 'K',N'穒'
union all select 'L',N'鱳'
union all select 'M',N'旀'
union all select 'N',N'桛'
union all select 'O',N'漚'
union all select 'P',N'曝'
union all select 'Q',N'囕'
union all select 'R',N'鶸'
union all select 'S',N'蜶'
union all select 'T',N'籜'
union all s ......
sql group by 用法
2009-07-16 11:01:00 业界 | 评论(0) | 浏览(1676)
group by主要是用来分组的,怎么个分组呢?
以下用两个例子说明两个使用方面,1是合理的返回合计值(防止笛卡尔积现象),2是用分组来找出重复的记录
====================================================================
★★★例子1:假如有这么一个表:tab_1,它有两个字段:xm、gzlb、je(姓名、工资类别、金额),具体数据如下:
xm```````gzlb`````````je
-----------------------------------------
张三`````养老金`````1000
张三`````护理费`````200
张三`````其他```````50
.............
李四`````养老金`````800
李四`````其他```````50
.............
王五`````养老金`````900
王五`````其他```````35
可以看出每个人的工资都是按类别存放的,如果要返回合计的数据,如:
张三``````1250
李四``````850
王五``````935
该怎么写SQL呢?初学者往往会这么写:select xm, sum(je) from tab_1;但结果会是什么样呢?结果将是:
张三``````1250
张三``````850
张三``````935
李四``````1250
李四``````850
李四``````935
王五``````125 ......
一、
为什么要使用
JSP
在客户端网页编程中
Java
的解决方案是
Servlet/JSP
。对于动态页面的形成我们可以利用在
Servlet
中编写字符串实现,但是这样会使程序员的工作变得异常的繁琐,所以我们采用
JSP
达到网页的动态显示。
二、
什么是
JSP
JSP
(
JavaServerPage
)和
Servlet
是
Java
中产生动态网页相互补充的技术。它的文件扩展名为
.jsp
,现在的
JSP
规范是
JSP2.0
规范。
JSP
实际上也是一个
Servlet
。
三、
JSP
的运行机制和生命周期
1.
当向
JSP
发送请求时,
WEB
容器将
*.JSP
页面自动翻译
_*_.jsp.java
文件,在
tomcat
下这个
Java
文件代码位于
work
目录下。
2.
web
容器将代码编译成字节码文件,即
.CLASS
文件,这个文件与
.JAVA
文件放在同一个目录下。
3.
web
容器装载生成新的
servlet
类。
4.
JSP
页面实例化。
5.
JSP
页面初始化
6.   ......
5.
JSP
标准动作、
JSP
指令用于页面与容器间的通信,而
JSP
标准动作用于页面与页面或者页面与组件间的通信。如:
<jsp:include
page=”localURL” flush=”true”>
6.
JSP
隐式对象
在
_jspService
方法中定义了以下
9
个属性:
JspFactory _jspxFactory = null;
PageContext
pageContext = null;
HttpSession
session = null;
ServletContext application = null;
ServletConfig
config = null;
JspWriter out
= null;
Object page =
this;
JspWriter
_jspx_out = null;
PageContext _jspx_page_context = null;
我们在运用这
9
个属性的时候就不需要另外地进行声明,直接拿来使用就可以。这
9
个属性也称为隐式属性。
......
5.
JSP
标准动作、
JSP
指令用于页面与容器间的通信,而
JSP
标准动作用于页面与页面或者页面与组件间的通信。如:
<jsp:include
page=”localURL” flush=”true”>
6.
JSP
隐式对象
在
_jspService
方法中定义了以下
9
个属性:
JspFactory _jspxFactory = null;
PageContext
pageContext = null;
HttpSession
session = null;
ServletContext application = null;
ServletConfig
config = null;
JspWriter out
= null;
Object page =
this;
JspWriter
_jspx_out = null;
PageContext _jspx_page_context = null;
我们在运用这
9
个属性的时候就不需要另外地进行声明,直接拿来使用就可以。这
9
个属性也称为隐式属性。
......