﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-Terry的Blog</title><link>http://www.blogjava.net/terry-zj/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 01:28:06 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 01:28:06 GMT</pubDate><ttl>60</ttl><item><title>Oracle instant客户端配置</title><link>http://www.blogjava.net/terry-zj/archive/2010/08/30/330216.html</link><dc:creator>Terry的Blog</dc:creator><author>Terry的Blog</author><pubDate>Sun, 29 Aug 2010 17:26:00 GMT</pubDate><guid>http://www.blogjava.net/terry-zj/archive/2010/08/30/330216.html</guid><wfw:comment>http://www.blogjava.net/terry-zj/comments/330216.html</wfw:comment><comments>http://www.blogjava.net/terry-zj/archive/2010/08/30/330216.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/terry-zj/comments/commentRss/330216.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/terry-zj/services/trackbacks/330216.html</trackback:ping><description><![CDATA[<strong>Oracle instant客户端下载地址</strong><br />
<font size="4"><a href="http://www.oracle.com/technetwork/topics/winsoft-085727.html" target="_blank">http://www.oracle.com/<wbr>technetwork/topics/winsoft-<wbr>085727.html</a><br />
</font><a class="boldbodylink" href="http://download.oracle.com/otn/nt/instantclient/112010/instantclient-basic-win32-11.2.0.1.0.zip" id="file36" name="file36" onclick="youMustAgreePrompt();">instantclient-basic-win32-11.2.0.1.0.zip</a><br />
<font size="4"><br />
<strong>解压后</strong></font><strong>在客户端根目录创建tnsnames.ora文件</strong><br />
XE1 =
<br />
(DESCRIPTION =
<br />
&nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = 16.157.1.1)(PORT = 1521))
<br />
(CONNECT_DATA =
<br />
(SERVER = DEDICATED)
<br />
(SERVICE_NAME = XE1)
<br />
)
<br />
<br />
XE2 =
<br />
(DESCRIPTION =
<br />
&nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = 16.157.1.2)(PORT = 1521))
<br />
(CONNECT_DATA =
<br />
(SERVER = DEDICATED)
<br />
(SID= XE2)
<br />
)
<br />
<br />
配置PL/SQL Developer<br />
<strong>配置PL/SQL的oracle的目录位置</strong><br />
tool--&gt;preferences--&gt;<wbr>connection--&gt;oracle home
和 OCI Library 的路径<br />
<br />
在PL/SQL Developer安装目录下建立一个start.bat脚本文件<br />
设置环境变量<br />
set path=C:\instantclient_11_2<br />
set ORACLE_HOME=C:\instantclient_<wbr>11_2<br />
set TNS_ADMIN=C:\instantclient_11_<wbr>2<br />
set NLS_LANG=AMERICAN_AMERICA.<wbr>AL32UTF8<br />
start PLSQLDev.exe
<br />
<br />
具体说明NLS_LANG的取值<br />
格式:NLS_LANG=language_territory.charset
<br />
<br />
取值来源:select * from v$nls_parameters
<br />
查询nls的参数，获得数据库服务器端的字符编码
,需要保证要设置客户端字符集与服务器端字符集一致
<br />
NLS_LANGUAGE
<br />
NLS_CHARACTERSET
<br />
<br />
<font size="4"><br />
</font>
<img src ="http://www.blogjava.net/terry-zj/aggbug/330216.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/terry-zj/" target="_blank">Terry的Blog</a> 2010-08-30 01:26 <a href="http://www.blogjava.net/terry-zj/archive/2010/08/30/330216.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转发(forward)、包含(include)及转向(redirect)的区别与联系</title><link>http://www.blogjava.net/terry-zj/archive/2006/10/11/74530.html</link><dc:creator>Terry的Blog</dc:creator><author>Terry的Blog</author><pubDate>Wed, 11 Oct 2006 05:41:00 GMT</pubDate><guid>http://www.blogjava.net/terry-zj/archive/2006/10/11/74530.html</guid><wfw:comment>http://www.blogjava.net/terry-zj/comments/74530.html</wfw:comment><comments>http://www.blogjava.net/terry-zj/archive/2006/10/11/74530.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/terry-zj/comments/commentRss/74530.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/terry-zj/services/trackbacks/74530.html</trackback:ping><description><![CDATA[forward,include,redirect是jsp中web页面(jsp或servelt)的三种不同的路由关系，三个貌似相同，其实还是有许多差别的，而了解这些细微的差别，在web开发中是很重要的。<br />说明：<br />一、forward、include由javax.servlet.RequestDispatcher来封装,由包容器container提供RequestDispatcher接口的实现，其中声明如下：<br />void forward(ServletRequest req,ServletResponse res)<br />void include(ServeltRequest req,ServletResponse res)<br />可以通过两种方式得到RequestDispatcher:<br />1、ServletContext.getRequestDispatcher(String path);<br />其中这里的path必须开始为"/"，即这里的path必须相对于context的root.<br />2、ServeltRequest.getRequestDispatcher(String path)<br />这里的path可以为相对路径,如果path开始为"/",则也认为是从context的root开始的。<br />二、Redirect由HttpServletResponse.sendRedirect(String location)来支持<br />差别：<br />三个都可以对用户的request进行转发，但是还是有许多的不同，差别最主要集中在如下几个方面：<br />1、forward与include共亨Request范围内的对象,而redirect则不行，即：如果一个javabean被声明为request范围的话，则被forward到的资源也可以访问这个javabean,而redriect则不行。<br />2、forward与include基本上都是转发到context内部的资源，而redirect可以重定向到外部的资源,如： req.sendRedriect("<a href="http://www.mocuai.com">http://www.mocuai.com</a>");<br /><br />以上来源 <a href="http://www.cn-java.com/target/news.php?news_id=3176">http://www.cn-java.com/target/news.php?news_id=3176</a><br /><br />充<br />struts-config.xml <br />&lt;forward name="succ"  path="/pages/dynabean2.jsp" <font style="BACKGROUND-COLOR: #ff0000">redirect="true"</font>/&gt;<br />设置redirect="true"后 转向目标页面时效果和redirect一致。<br /><img src ="http://www.blogjava.net/terry-zj/aggbug/74530.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/terry-zj/" target="_blank">Terry的Blog</a> 2006-10-11 13:41 <a href="http://www.blogjava.net/terry-zj/archive/2006/10/11/74530.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsp页面上调用Batch</title><link>http://www.blogjava.net/terry-zj/archive/2006/10/10/74308.html</link><dc:creator>Terry的Blog</dc:creator><author>Terry的Blog</author><pubDate>Tue, 10 Oct 2006 07:53:00 GMT</pubDate><guid>http://www.blogjava.net/terry-zj/archive/2006/10/10/74308.html</guid><wfw:comment>http://www.blogjava.net/terry-zj/comments/74308.html</wfw:comment><comments>http://www.blogjava.net/terry-zj/archive/2006/10/10/74308.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/terry-zj/comments/commentRss/74308.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/terry-zj/services/trackbacks/74308.html</trackback:ping><description><![CDATA[
		<p>有这样一个需求，web服务器是sun Soaris5.8 原来有一个java写的Batch打包成jar文件由shell调用 现在要在页面上增加一个按钮调用这个shell。<br />代码如下：<br /> struts中的Action</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> ActionForward execute(<br />    ActionMapping mapping,<br />    ActionForm form,<br />    HttpServletRequest request,<br />    HttpServletResponse response)<br />    </span>
				<span style="COLOR: #0000ff">throws</span>
				<span style="COLOR: #000000"> Exception {<br /><br />    String command </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">csh /home/zwfe/shell/zwfecv101.csh</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">;<br />    Process child;<br />    </span>
				<span style="COLOR: #0000ff">try</span>
				<span style="COLOR: #000000"> {<br />        child </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Runtime.getRuntime().exec(command);<br /><br />        BufferedReader in </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> BufferedReader(</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> InputStreamReader(child.getInputStream()));<br />        String line </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">""</span>
				<span style="COLOR: #000000">;<br />        </span>
				<span style="COLOR: #0000ff">while</span>
				<span style="COLOR: #000000"> ((line </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> in.readLine()) </span>
				<span style="COLOR: #000000">!=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">null</span>
				<span style="COLOR: #000000">) {<br />            System.out.println(line);<br />        }<br />        in.close();<br /><br />    } </span>
				<span style="COLOR: #0000ff">catch</span>
				<span style="COLOR: #000000"> (IOException e) {<br />        System.out.println(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">e.getMessage() = </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> e.getMessage());<br />        e.printStackTrace();<br />    }<br /><br />    BatchDateDAO dao </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> BatchDateDAO();<br />    Zwfecw002Form zwfe002form </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> (Zwfecw002Form) form;<br />    zwfe002form.setBatchDate(dao.batchDate());<br /><br />    </span>
				<span style="COLOR: #0000ff">return</span>
				<span style="COLOR: #000000"> mapping.findForward(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">screen.zwfecw002</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br />}</span>
		</div>
		<br />这里应该注意child <span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Runtime.getRuntime().exec(command);后需要检查这个Process 是否已经执行完毕，否则当Action执行完返回后Process 将会中断。<br /></span><br /><img src ="http://www.blogjava.net/terry-zj/aggbug/74308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/terry-zj/" target="_blank">Terry的Blog</a> 2006-10-10 15:53 <a href="http://www.blogjava.net/terry-zj/archive/2006/10/10/74308.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何写一份好的工程师简历-转载</title><link>http://www.blogjava.net/terry-zj/archive/2006/06/23/54605.html</link><dc:creator>Terry的Blog</dc:creator><author>Terry的Blog</author><pubDate>Fri, 23 Jun 2006 01:09:00 GMT</pubDate><guid>http://www.blogjava.net/terry-zj/archive/2006/06/23/54605.html</guid><wfw:comment>http://www.blogjava.net/terry-zj/comments/54605.html</wfw:comment><comments>http://www.blogjava.net/terry-zj/archive/2006/06/23/54605.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/terry-zj/comments/commentRss/54605.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/terry-zj/services/trackbacks/54605.html</trackback:ping><description><![CDATA[
		<p>转自 <a href="http://googlechinablog.com/2006/06/blog-post_14.html">http://googlechinablog.com/2006/06/blog-post_14.html</a><br /><br />如何写一份好的工程师简历</p>
		<p>2006年6月14日 上午 10:15:00<br />发表者：王忻，Google 工程师 </p>
		<p>最近三年作为 Google（谷歌）的软件工程师，我每周会帮人事部门审查简历，决定要不要给他们面试。Google 这几年的发展让很多许多优秀的工程师都前来申请。到目前为止，我已经看了上千份简历，有些简历留下的印象比别的好很多。尤其是最近亲戚朋友常常问我如何修改他们的简历，所以我积累了一些常见的错误避免的提议，在此跟大家交流一下。</p>
		<p>1．谈到你做过的技术时，应该提到用的程序语言、你的个人贡献和产品细节。</p>
		<p>有时我看到有人把过去的经验在简历上一笔带过，比如说：</p>
		<p>• 在三人小组里，为电子邮件软件写了些 features。</p>
		<p>这是远远不够的，看简历的人希望了解你做的工作的难度和对本公司有多少联系，所以你最好写的具体一些。譬如：</p>
		<p>• 用 C++ 语言写了网络电子邮件的自动 backups。在三人小组里，专门负责设计和写储存服务器。从设计开始， 一年后把这个功能 feature 的用户推到了三千。</p>
		<p>2．多讲事实, 少用形容词。</p>
		<p>看简历的人读你的简历时，需要做判断，所以在简历里需要事实和数目。如果你写“迅速的提高了软件的操作效率”，看简历的人很难判断你成就的难度。但如果你写“在3个星期内，把软件的操作效率提高了40%” 就好多了。</p>
		<p>有些谦虚的朋友们不愿意把话说满，所以你也可以用这个办法。你如果说自己“突出”或“在项目上常常被请去救火”，听起来难免会有点骄傲。但你也可以用不能否认的事实来说明你的观点，如“《纽约日报》评这个产品为‘突出’”，或“加入了三个原本已落后于计划的项目小组，但经过努力和组员一起把它们都按时完成了。”</p>
		<p>3．你获得的奖、商业的荣誉或表扬、受用户欢迎的产品和你做过的有难度的业余项目都该包括在简历里。</p>
		<p>我有位朋友在硅谷一个著名的硬件公司做了六年，她设计的 IP phone（网络电话）为公司赚了上亿的收入，被公司与商业报道多次评了奖。我有一次在旧金山的高速公路上驾车时，看到路边有她产品的广告牌；还有一次我去上海度假时，竟然发现上海公路边上也有！</p>
		<p>不久，这位朋友决定换工作，请我看看她的简历。我惊讶的发现，她居然轻描淡写的写了一句-- "1998 – 2004：网络电话产品的硬件工程师组长" 和她的职责。</p>
		<p>"产品赢的奖呢？它为公司赚的钱呢？" 我追问到。</p>
		<p>"那些也该写吗？" 她说。</p>
		<p>当然该写。</p>
		<p>有人问，业余时间做的项目可不可以写？我觉得只要你的项目有代表性能说明对你的能力，都该包括。</p>
		<p>4．分清主次，删掉相比之下不起眼的成绩，以免冲淡更加突出的成绩。</p>
		<p>有朋友问，写简历是不是写的越多越好？譬如：</p>
		<p>在甲公司做暑假实习生——<br />* 改善电子游戏的数值分类算法， 减少了内存要求 10%。<br />* 用 Java 写了 3000 行用户界面程序。<br />* 每周做两小时的人工测试。</p>
		<p>你在申请软件工程师的职位时，我觉得前两点比较相关，第三点其实就不必写了。有时我看到有的简历里会提到，"按时完成了任务，产品符合原计划规格"。但读简历的人通常会认为这是理所当然的，而你把这些声明出来反而减弱简历的效果。</p>
		<p>写一份简历不容易，但写好了也会带来成就感 （和好工作！）。 Google （谷歌）在中国广召各方面的人才，你不妨可以给我们投个简历！我们不但在信息检索方面招雇工程师，还有计算机图形、用户界面、硬件、Windows、质量保证员和系统管理员等方面。更多信息，请您访问这里。</p>
		<p>谢谢阅读！大家感兴趣的话，下次我可以介绍“如何预备软件工程师的面试”。</p>
<img src ="http://www.blogjava.net/terry-zj/aggbug/54605.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/terry-zj/" target="_blank">Terry的Blog</a> 2006-06-23 09:09 <a href="http://www.blogjava.net/terry-zj/archive/2006/06/23/54605.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Introducing to Spring Framework（中文修订版） 转载</title><link>http://www.blogjava.net/terry-zj/archive/2006/06/21/54163.html</link><dc:creator>Terry的Blog</dc:creator><author>Terry的Blog</author><pubDate>Wed, 21 Jun 2006 03:42:00 GMT</pubDate><guid>http://www.blogjava.net/terry-zj/archive/2006/06/21/54163.html</guid><wfw:comment>http://www.blogjava.net/terry-zj/comments/54163.html</wfw:comment><comments>http://www.blogjava.net/terry-zj/archive/2006/06/21/54163.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/terry-zj/comments/commentRss/54163.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/terry-zj/services/trackbacks/54163.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 转载地址： http://forum.javaeye.com/viewtopic.php?t=4919  中文http://www.theserverside.com/tt/articles/article.tss?l=SpringFramework 英文Introducing to Spring Framework						作者：Rod Johnson 译者：yanger，taow...&nbsp;&nbsp;<a href='http://www.blogjava.net/terry-zj/archive/2006/06/21/54163.html'>阅读全文</a><img src ="http://www.blogjava.net/terry-zj/aggbug/54163.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/terry-zj/" target="_blank">Terry的Blog</a> 2006-06-21 11:42 <a href="http://www.blogjava.net/terry-zj/archive/2006/06/21/54163.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VB中动态生成Excel文件</title><link>http://www.blogjava.net/terry-zj/archive/2006/05/24/47783.html</link><dc:creator>Terry的Blog</dc:creator><author>Terry的Blog</author><pubDate>Wed, 24 May 2006 03:28:00 GMT</pubDate><guid>http://www.blogjava.net/terry-zj/archive/2006/05/24/47783.html</guid><wfw:comment>http://www.blogjava.net/terry-zj/comments/47783.html</wfw:comment><comments>http://www.blogjava.net/terry-zj/archive/2006/05/24/47783.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/terry-zj/comments/commentRss/47783.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/terry-zj/services/trackbacks/47783.html</trackback:ping><description><![CDATA[
		<p>    Dim xlApp As Excel.Application<br />    Dim xlBook As Excel.Workbook<br />    Dim xlSheet As Excel.Worksheet<br />    <br />    Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象<br />    Set xlBook = xlApp.Workbooks.Add    'xlApp.Workbooks.Open("文件名") '打开已经存在的EXCEL工件簿文件<br />    xlApp.Visible = False '设置EXCEL对象可见（或不可见）<br />    Set xlSheet = xlBook.Worksheets(1) '设置活动工作表<br />    xlSheet.Activate<br />    xlSheet.Range("C3").Value = "1"<br />    xlSheet.Cells(1, 1) = "test中文" '给单元格（row,col）赋值<br />    <br />    ' 画边框线<br />    xlSheet.Range(xlSheet.Cells(1, 1), xlSheet.Cells(2, 2)).Borders.LineStyle = xlContinuous<br />    <br />    xlSheet.Rows(1).HorizontalAlignment = xlVAlignCenter '左右居中<br />    xlSheet.Rows(1).VerticalAlignment = xlVAlignCenter '上下居中<br /><br />    xlSheet.Cells(iStartRow + idx, 2).HorizontalAlignment = xlVAlignCenter '左右居中<br />    <br />    '设置指定列的宽度(单位：字符个数)<br />    xlApp.ActiveSheet.Columns(1).ColumnWidth = 15</p>
		<p>    '设置指定行的高度(单位：磅)<br />    xlApp.ActiveSheet.Rows(1).RowHeight = 1 / 0.035<br />    <br />    '设置字体<br />    'xlApp.ActiveSheet.Cells(1, 1).Font.Name = "黑体"</p>
		<p>    '设置字体大小<br />    xlApp.ActiveSheet.Cells(1, 1).Font.Size = 25<br />    <br />    '设置整列字体为粗体<br />    xlApp.ActiveSheet.Columns(1).Font.Bold = True<br />    <br />    'xlBook.SaveAs ("C:\Case1.xls")<br />    <br />    'xlSheet.PrintPreview (True)<br />    <br />    xlApp.Visible = True '显示文件<br />    <br />    'xlSheet.PrintOut '打印工作表<br /><br />    If Not (xlApp Is Nothing) Then<br />        <br />        xlBook.Close (True) '关闭工作簿<br />        <br />        xlApp.Quit '必须结束EXCEL对象<br />        Set xlApp = Nothing '释放xlApp对象<br />    End If</p>
<img src ="http://www.blogjava.net/terry-zj/aggbug/47783.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/terry-zj/" target="_blank">Terry的Blog</a> 2006-05-24 11:28 <a href="http://www.blogjava.net/terry-zj/archive/2006/05/24/47783.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何用Java得到Excel中Formula的值</title><link>http://www.blogjava.net/terry-zj/archive/2006/05/23/47643.html</link><dc:creator>Terry的Blog</dc:creator><author>Terry的Blog</author><pubDate>Tue, 23 May 2006 06:47:00 GMT</pubDate><guid>http://www.blogjava.net/terry-zj/archive/2006/05/23/47643.html</guid><wfw:comment>http://www.blogjava.net/terry-zj/comments/47643.html</wfw:comment><comments>http://www.blogjava.net/terry-zj/archive/2006/05/23/47643.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/terry-zj/comments/commentRss/47643.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/terry-zj/services/trackbacks/47643.html</trackback:ping><description><![CDATA[工具1：POI<br />POI是常用的读取Office文件的开源工具。但是在它正式发布的版本中没有提供得到Excel中Formula值的功能。<br />这个POI还在开发中的功能。相关信息 请看<a href="http://jakarta.apache.org/poi/hssf/eval.html">http://jakarta.apache.org/poi/hssf/eval.html</a><br /><br />工具2：JExcelAPI<br /><strong>Java Excel API</strong> - A Java API to read, write, and modify Excel spreadsheets<br /><a href="http://jexcelapi.sourceforge.net/">http://jexcelapi.sourceforge.net/</a><br />目前的最新版本是2.6 <br /><br /><strong>Some Features</strong><br />* Reads data from Excel 95, 97, 2000, XP, and 2003 workbooks<br />* Reads and writes formulas (Excel 97 and later only)<br />* Generates spreadsheets in Excel 2000 format<br />* Supports font, number and date formatting<br />* Supports shading, bordering, and coloring of cells<br />* Modifies existing worksheets<br />* Is internationalized, enabling processing in almost any locale, country, language, or character encoding (formulas are currently only supported in English, French, * * Spanish, and German, but more can be added if translated)<br />* Supports copying of charts<br />* Supports insertion and copying of images into spreadsheets<br />* Supports logging with Jakarta Commons Logging, log4j, JDK 1.4 Logger, etc<br />...and much more<br /><br />　<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">  1</span> <span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.io.BufferedWriter;<br /></span><span style="COLOR: #008080">  2</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.io.File;<br /></span><span style="COLOR: #008080">  3</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.io.IOException;<br /></span><span style="COLOR: #008080">  4</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.io.OutputStream;<br /></span><span style="COLOR: #008080">  5</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.io.OutputStreamWriter;<br /></span><span style="COLOR: #008080">  6</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.io.UnsupportedEncodingException;<br /></span><span style="COLOR: #008080">  7</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">  8</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.util.ArrayList;<br /></span><span style="COLOR: #008080">  9</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.util.Iterator;<br /></span><span style="COLOR: #008080"> 10</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 11</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> jxl.Cell;<br /></span><span style="COLOR: #008080"> 12</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> jxl.CellType;<br /></span><span style="COLOR: #008080"> 13</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> jxl.FormulaCell;<br /></span><span style="COLOR: #008080"> 14</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> jxl.Sheet;<br /></span><span style="COLOR: #008080"> 15</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> jxl.Workbook;<br /></span><span style="COLOR: #008080"> 16</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> jxl.biff.CellReferenceHelper;<br /></span><span style="COLOR: #008080"> 17</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> jxl.biff.formula.FormulaException;<br /></span><span style="COLOR: #008080"> 18</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 19</span> <span style="COLOR: #000000"></span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 20</span> <span style="COLOR: #008000"> * Goes through each cell in the workbook, and if the contents of that cell is a<br /></span><span style="COLOR: #008080"> 21</span> <span style="COLOR: #008000"> * formula, it prints out the last calculated value and the formula string<br /></span><span style="COLOR: #008080"> 22</span> <span style="COLOR: #008000"> </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 23</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> Formulas {<br /></span><span style="COLOR: #008080"> 24</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 25</span> <span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> main(String[] args) {<br /></span><span style="COLOR: #008080"> 26</span> <span style="COLOR: #000000">        String file </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jxlrwtest.xls</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080"> 27</span> <span style="COLOR: #000000">        String encoding </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">UTF8</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080"> 28</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"> {<br /></span><span style="COLOR: #008080"> 29</span> <span style="COLOR: #000000">            Workbook w </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Workbook.getWorkbook(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> File(file));<br /></span><span style="COLOR: #008080"> 30</span> <span style="COLOR: #000000">            Formulas f </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Formulas(w, System.out, encoding);<br /></span><span style="COLOR: #008080"> 31</span> <span style="COLOR: #000000">            w.close();<br /></span><span style="COLOR: #008080"> 32</span> <span style="COLOR: #000000">        } </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> (Exception e) {<br /></span><span style="COLOR: #008080"> 33</span> <span style="COLOR: #000000">            e.printStackTrace();<br /></span><span style="COLOR: #008080"> 34</span> <span style="COLOR: #000000">        }<br /></span><span style="COLOR: #008080"> 35</span> <span style="COLOR: #000000">    }<br /></span><span style="COLOR: #008080"> 36</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 37</span> <span style="COLOR: #000000">    </span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 38</span> <span style="COLOR: #008000">     * Constructor<br /></span><span style="COLOR: #008080"> 39</span> <span style="COLOR: #008000">     * <br /></span><span style="COLOR: #008080"> 40</span> <span style="COLOR: #008000">     * </span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000"> w<br /></span><span style="COLOR: #008080"> 41</span> <span style="COLOR: #008000">     *            The workbook to interrogate<br /></span><span style="COLOR: #008080"> 42</span> <span style="COLOR: #008000">     * </span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000"> out<br /></span><span style="COLOR: #008080"> 43</span> <span style="COLOR: #008000">     *            The output stream to which the CSV values are written<br /></span><span style="COLOR: #008080"> 44</span> <span style="COLOR: #008000">     * </span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000"> encoding<br /></span><span style="COLOR: #008080"> 45</span> <span style="COLOR: #008000">     *            The encoding used by the output stream. Null or unrecognized<br /></span><span style="COLOR: #008080"> 46</span> <span style="COLOR: #008000">     *            values cause the encoding to default to UTF8<br /></span><span style="COLOR: #008080"> 47</span> <span style="COLOR: #008000">     * </span><span style="COLOR: #808080">@exception</span><span style="COLOR: #008000"> java.io.IOException<br /></span><span style="COLOR: #008080"> 48</span> <span style="COLOR: #008000">     </span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 49</span> <span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Formulas(Workbook w, OutputStream out, String encoding)<br /></span><span style="COLOR: #008080"> 50</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000"> IOException {<br /></span><span style="COLOR: #008080"> 51</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (encoding </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">||</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">encoding.equals(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">UnicodeBig</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)) {<br /></span><span style="COLOR: #008080"> 52</span> <span style="COLOR: #000000">            encoding </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">UTF8</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080"> 53</span> <span style="COLOR: #000000">        }<br /></span><span style="COLOR: #008080"> 54</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 55</span> <span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"> {<br /></span><span style="COLOR: #008080"> 56</span> <span style="COLOR: #000000">            OutputStreamWriter osw </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> OutputStreamWriter(out, encoding);<br /></span><span style="COLOR: #008080"> 57</span> <span style="COLOR: #000000">            BufferedWriter bw </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> BufferedWriter(osw);<br /></span><span style="COLOR: #008080"> 58</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 59</span> <span style="COLOR: #000000">            ArrayList parseErrors </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ArrayList();<br /></span><span style="COLOR: #008080"> 60</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 61</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> sheet </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; sheet </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> w.getNumberOfSheets(); sheet</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080"> 62</span> <span style="COLOR: #000000">                Sheet s </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> w.getSheet(sheet);<br /></span><span style="COLOR: #008080"> 63</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 64</span> <span style="COLOR: #000000">                bw.write(s.getName());<br /></span><span style="COLOR: #008080"> 65</span> <span style="COLOR: #000000">                bw.newLine();<br /></span><span style="COLOR: #008080"> 66</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 67</span> <span style="COLOR: #000000">                Cell[] row </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080"> 68</span> <span style="COLOR: #000000">                Cell c </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080"> 69</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 70</span> <span style="COLOR: #000000">                </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> s.getRows(); i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080"> 71</span> <span style="COLOR: #000000">                    row </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> s.getRow(i);<br /></span><span style="COLOR: #008080"> 72</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 73</span> <span style="COLOR: #000000">                    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; j </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> row.length; j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080"> 74</span> <span style="COLOR: #000000">                        c </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> row[j];<br /></span><span style="COLOR: #008080"> 75</span> <span style="COLOR: #000000">                        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (c.getType() </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> CellType.NUMBER_FORMULA<br /></span><span style="COLOR: #008080"> 76</span> <span style="COLOR: #000000">                                </span><span style="COLOR: #000000">||</span><span style="COLOR: #000000"> c.getType() </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> CellType.STRING_FORMULA<br /></span><span style="COLOR: #008080"> 77</span> <span style="COLOR: #000000">                                </span><span style="COLOR: #000000">||</span><span style="COLOR: #000000"> c.getType() </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> CellType.BOOLEAN_FORMULA<br /></span><span style="COLOR: #008080"> 78</span> <span style="COLOR: #000000">                                </span><span style="COLOR: #000000">||</span><span style="COLOR: #000000"> c.getType() </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> CellType.DATE_FORMULA<br /></span><span style="COLOR: #008080"> 79</span> <span style="COLOR: #000000">                                </span><span style="COLOR: #000000">||</span><span style="COLOR: #000000"> c.getType() </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> CellType.FORMULA_ERROR) {<br /></span><span style="COLOR: #008080"> 80</span> <span style="COLOR: #000000">                            FormulaCell nfc </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (FormulaCell) c;<br /></span><span style="COLOR: #008080"> 81</span> <span style="COLOR: #000000">                            StringBuffer sb </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> StringBuffer();<br /></span><span style="COLOR: #008080"> 82</span> <span style="COLOR: #000000">                            CellReferenceHelper.getCellReference(c.getColumn(),<br /></span><span style="COLOR: #008080"> 83</span> <span style="COLOR: #000000">                                    c.getRow(), sb);<br /></span><span style="COLOR: #008080"> 84</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 85</span> <span style="COLOR: #000000">                            </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"> {<br /></span><span style="COLOR: #008080"> 86</span> <span style="COLOR: #000000">                                bw.write(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Formula in </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> sb.toString()<br /></span><span style="COLOR: #008080"> 87</span> <span style="COLOR: #000000">                                        </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> value:  </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> c.getContents());<br /></span><span style="COLOR: #008080"> 88</span> <span style="COLOR: #000000">                                bw.flush();<br /></span><span style="COLOR: #008080"> 89</span> <span style="COLOR: #000000">                                bw.write(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> formula: </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> nfc.getFormula());<br /></span><span style="COLOR: #008080"> 90</span> <span style="COLOR: #000000">                                bw.flush();<br /></span><span style="COLOR: #008080"> 91</span> <span style="COLOR: #000000">                                bw.newLine();<br /></span><span style="COLOR: #008080"> 92</span> <span style="COLOR: #000000">                            } </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> (FormulaException e) {<br /></span><span style="COLOR: #008080"> 93</span> <span style="COLOR: #000000">                                bw.newLine();<br /></span><span style="COLOR: #008080"> 94</span> <span style="COLOR: #000000">                                parseErrors<br /></span><span style="COLOR: #008080"> 95</span> <span style="COLOR: #000000">                                        .add(s.getName() </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> sb.toString()<br /></span><span style="COLOR: #008080"> 96</span> <span style="COLOR: #000000">                                                </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">: </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> e.getMessage());<br /></span><span style="COLOR: #008080"> 97</span> <span style="COLOR: #000000">                            }<br /></span><span style="COLOR: #008080"> 98</span> <span style="COLOR: #000000">                        }<br /></span><span style="COLOR: #008080"> 99</span> <span style="COLOR: #000000">                    }<br /></span><span style="COLOR: #008080">100</span> <span style="COLOR: #000000">                }<br /></span><span style="COLOR: #008080">101</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">102</span> <span style="COLOR: #000000">            bw.flush();<br /></span><span style="COLOR: #008080">103</span> <span style="COLOR: #000000">            bw.close();<br /></span><span style="COLOR: #008080">104</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">105</span> <span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (parseErrors.size() </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">) {<br /></span><span style="COLOR: #008080">106</span> <span style="COLOR: #000000">                System.err.println();<br /></span><span style="COLOR: #008080">107</span> <span style="COLOR: #000000">                System.err.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">There were </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> parseErrors.size()<br /></span><span style="COLOR: #008080">108</span> <span style="COLOR: #000000">                        </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> errors</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">109</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">110</span> <span style="COLOR: #000000">                Iterator i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> parseErrors.iterator();<br /></span><span style="COLOR: #008080">111</span> <span style="COLOR: #000000">                </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000"> (i.hasNext()) {<br /></span><span style="COLOR: #008080">112</span> <span style="COLOR: #000000">                    System.err.println(i.next());<br /></span><span style="COLOR: #008080">113</span> <span style="COLOR: #000000">                }<br /></span><span style="COLOR: #008080">114</span> <span style="COLOR: #000000">            }<br /></span><span style="COLOR: #008080">115</span> <span style="COLOR: #000000">        } </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> (UnsupportedEncodingException e) {<br /></span><span style="COLOR: #008080">116</span> <span style="COLOR: #000000">            System.err.println(e.toString());<br /></span><span style="COLOR: #008080">117</span> <span style="COLOR: #000000">        }<br /></span><span style="COLOR: #008080">118</span> <span style="COLOR: #000000">    }<br /></span><span style="COLOR: #008080">119</span> <span style="COLOR: #000000">}</span></div><br /><br /><br />两篇中文的介绍：<br /><a href="http://www.chinaitpower.com/A/2005-03-03/109739.html">http://www.chinaitpower.com/A/2005-03-03/109739.html</a><br /><a href="http://www.myfaq.com.cn/A200507/2005-07-24/166992.html">http://www.myfaq.com.cn/A200507/2005-07-24/166992.html</a><a href="http://www.gamvan.com/developer/java/2005/9/614.html"></a><img src ="http://www.blogjava.net/terry-zj/aggbug/47643.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/terry-zj/" target="_blank">Terry的Blog</a> 2006-05-23 14:47 <a href="http://www.blogjava.net/terry-zj/archive/2006/05/23/47643.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>日文编码与Unicode编码转换（未完）</title><link>http://www.blogjava.net/terry-zj/archive/2006/04/20/42201.html</link><dc:creator>Terry的Blog</dc:creator><author>Terry的Blog</author><pubDate>Thu, 20 Apr 2006 09:45:00 GMT</pubDate><guid>http://www.blogjava.net/terry-zj/archive/2006/04/20/42201.html</guid><wfw:comment>http://www.blogjava.net/terry-zj/comments/42201.html</wfw:comment><comments>http://www.blogjava.net/terry-zj/archive/2006/04/20/42201.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/terry-zj/comments/commentRss/42201.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/terry-zj/services/trackbacks/42201.html</trackback:ping><description><![CDATA[
		<p>参考网址：<br />日本語のUnicodeベンダ依存文字表 <a href="http://www.ingrid.org/java/i18n/unicode.html">http://www.ingrid.org/java/i18n/unicode.html</a><br /></p>
<img src ="http://www.blogjava.net/terry-zj/aggbug/42201.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/terry-zj/" target="_blank">Terry的Blog</a> 2006-04-20 17:45 <a href="http://www.blogjava.net/terry-zj/archive/2006/04/20/42201.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>日文字符中常见的乱码情况---正波浪线“～”</title><link>http://www.blogjava.net/terry-zj/archive/2006/04/20/42108.html</link><dc:creator>Terry的Blog</dc:creator><author>Terry的Blog</author><pubDate>Thu, 20 Apr 2006 02:46:00 GMT</pubDate><guid>http://www.blogjava.net/terry-zj/archive/2006/04/20/42108.html</guid><wfw:comment>http://www.blogjava.net/terry-zj/comments/42108.html</wfw:comment><comments>http://www.blogjava.net/terry-zj/archive/2006/04/20/42108.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/terry-zj/comments/commentRss/42108.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/terry-zj/services/trackbacks/42108.html</trackback:ping><description><![CDATA[
		<p>在一般的日文字符表示正常的情况下正波浪线“～”任然经常会出现乱码的情况。<br /><br />数据库参数NLS Database Parameters<br />NLS_CHARACTERSET                   JA16SJIS <br />NLS_NCHAR_CHARACTERSET   AL16UTF16<br /><br />一：对于VARCHAR2字段<br />现象：在页面上输入“～”存入DB后再取出到页面时变成“?”<strong>（页面的字符设置为charset=shift-jis）</strong><br />调查：<br />1 页面提交后在java中观察编码为\uff5e<br />2 java中定义一个字符变量“～”观察编码为\uff5e<br />3 编码为\uff5e的字符存入数据库再取出的编码为\u301c<br />4 用Object Browser观察数据库中字符都正常<br />结论：存入数据库时编码发生了变化\uff5e ---&gt; \u301c<br />解决：取出数据时遍历发现\u301c就转换为\uff5e<br />      public String getString(int columnIndex) throws SQLException {<br />         // TODO: ～を変更<br />         String value = rs.getString(columnIndex);<br />         if (value != null){<br />              StringBuffer sbDest = new StringBuffer();<br />              char ch;<br />              for(int j= 0;j&lt; value.length();j++){<br />                  ch = value.charAt(j);<br />                  if(ch == 0x301c){<br />                      sbDest.append("\uff5e"); // ～<br />                  }else{<br />                      sbDest.append(ch);<br />                  }<br />              }<br />              value = sbDest.toString();<br />         }</p>
		<p>         return value;<br />     }<br /><br />二：对于NVARCHAR2字段<br />现象：在页面上输入正波浪线“～”存入DB后再取出到页面时变成反波浪线“〜”<strong>（页面的字符设置为charset=UTF-8）<br /></strong>用Object Browser工具察看表中的数据 发现是正波浪线“～” 编码为\u301c。（实际上用Object Browser看\u301c  \uff5e都是正波浪线）<br />如果用NVARCHAR2字段，那么正确的操作后可以存入\uff5e<br /><br />试验用表 Products ，表中的列定义如下所示<br />id - VARCHAR2(10) — 产品 id<br />lang_id — VARCHAR2(10) — 语言 id<br />description — NVARCHAR2(2000) — Unicode 编码的产品描述<br /><br />JDBC 允许 Java 程序访问 Oracle9i 数据库中的 NVARCHAR2 数据类型的列。Oracle JDBC 驱动程序把 SQL NCHAR/NVARCHAR2 列中的数据从本地字符集编码（UTF8 或 AL16UTF16）直接转化为 UTF-16 编码的 Java 字符串。<br />为此，我们需要把 Java 字符串绑定到一个 NVARCHAR2 列。下面的代码段显示了完成这项任务的代码。</p>
		<p>// Get an Oracle preparedstatement<br />OraclePreparedStatement orastmt =(OraclePreparedStatement)connection.prepareStatement(<br />"INSERT INTO PRODUCTS VALUES(?,?,?)");<br />// Bind the 3rd parameter to NVARCHAR2 form so that the data is stored as unicode<br /><strong>orastmt.setFormOfUse(3,OraclePreparedStatement.FORM_NCHAR);<br /></strong>orastmt.setString(1,product.getId());<br />orastmt.setString(2,product.getLangId());<br />orastmt.setString(3,product.getDescription());<br />orastmt.executeUpdate();<br />orastmt.close();</p>
		<p>使用 orastmt.setFormOfUse() 方法来指定列的类型是 NVARCHAR2。确保数据以Unicode 编码存储。<br /><br />关于NVARCHAR2字段的操作参考：<br /><a href="http://www.oracle.com/technology/sample_code/tech/java/sqlj_jdbc/files/9i_jdbc/NCHARsupport4UnicodeSample/Readme.html">http://www.oracle.com/technology/sample_code/tech/java/sqlj_jdbc/files/9i_jdbc/NCHARsupport4UnicodeSample/Readme.html</a><br /><br />注意这段话：<br />The only difference in usage between the SQL CHAR and SQL NCHAR datatypes occur in a data bind situation. <br />The JDBC program must call the setFormOfUse() method to specify if the data is bound for a SQL NCHAR<br />datatype and <strong>it must be called before binding</strong> Java variables to SQL NCHAR datatypes.<br /><strong>必须先setFormOfUse再绑定变量。否则存入数据库中的仍是\u301c<br /></strong></p>
<img src ="http://www.blogjava.net/terry-zj/aggbug/42108.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/terry-zj/" target="_blank">Terry的Blog</a> 2006-04-20 10:46 <a href="http://www.blogjava.net/terry-zj/archive/2006/04/20/42108.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>比较Oracle SQL中的IN &amp; EXISTS</title><link>http://www.blogjava.net/terry-zj/archive/2006/04/18/41662.html</link><dc:creator>Terry的Blog</dc:creator><author>Terry的Blog</author><pubDate>Tue, 18 Apr 2006 08:01:00 GMT</pubDate><guid>http://www.blogjava.net/terry-zj/archive/2006/04/18/41662.html</guid><wfw:comment>http://www.blogjava.net/terry-zj/comments/41662.html</wfw:comment><comments>http://www.blogjava.net/terry-zj/archive/2006/04/18/41662.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/terry-zj/comments/commentRss/41662.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/terry-zj/services/trackbacks/41662.html</trackback:ping><description><![CDATA[
		<p>在Oracle SQL中取数据时有时要用到in 和 exists 那么他们有什么区别呢？<br /><br /><strong>1 性能上的比较<br /></strong>比如Select * from T1 where x in ( select y from T2 )<br />执行的过程相当于:<br />select * <br />  from t1, ( select distinct y from t2 ) t2<br /> where t1.x = t2.y;<br /><br />相对的</p>
		<p>select * from t1 where exists ( select null from t2 where y = x )<br />执行的过程相当于:<br />for x in ( select * from t1 )<br />   loop<br />      if ( exists ( select null from t2 where y = x.x )<br />      then <br />         OUTPUT THE RECORD<br />      end if<br />end loop<br />表 T1 不可避免的要被完全扫描一遍</p>
		<p>分别适用在什么情况?<br />以子查询 ( select y from T2 )为考虑方向<br />如果子查询的结果集很大需要消耗很多时间，但是T1比较小执行( select null from t2 where y = x.x )非常快，那么exists就比较适合用在这里<br />相对应得子查询的结果集比较小的时候就应该使用in.<br /><br /><strong>2 含义上的比较<br /></strong>在标准的scott/tiger用户下<br /></p>
		<table style="WIDTH: 367pt; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" width="487" border="0" x:str="">
				<colgroup>
						<col style="WIDTH: 19pt; mso-width-source: userset; mso-width-alt: 914" width="25" />
						<col style="WIDTH: 38pt; mso-width-source: userset; mso-width-alt: 1865" span="2" width="51" />
						<col style="WIDTH: 47pt; mso-width-source: userset; mso-width-alt: 2267" width="62" />
						<col style="WIDTH: 29pt; mso-width-source: userset; mso-width-alt: 1389" width="38" />
						<col style="WIDTH: 61pt; mso-width-source: userset; mso-width-alt: 2962" width="81" />
						<col style="WIDTH: 46pt; mso-width-source: userset; mso-width-alt: 2230" span="2" width="61" />
						<col style="WIDTH: 43pt; mso-width-source: userset; mso-width-alt: 2084" width="57" />
				</colgroup>
				<tbody>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl45" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 19pt; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" width="25" height="17" x:str="   ">
										<span style="mso-spacerun: yes">
												<font face="ＭＳ ゴシック" size="2">
														<strong>   </strong>
												</font>
										</span>
								</td>
								<td class="xl45" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 38pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="51">
										<font face="ＭＳ ゴシック" size="2">
												<strong>EMPNO</strong>
										</font>
								</td>
								<td class="xl45" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 38pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="51">
										<font face="ＭＳ ゴシック" size="2">
												<strong>ENAME</strong>
										</font>
								</td>
								<td class="xl45" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 47pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="62">
										<font face="ＭＳ ゴシック" size="2">
												<strong>JOB</strong>
										</font>
								</td>
								<td class="xl45" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 29pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="38">
										<font face="ＭＳ ゴシック" size="2">
												<strong>MGR</strong>
										</font>
								</td>
								<td class="xl45" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 61pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="81">
										<font face="ＭＳ ゴシック" size="2">
												<strong>HIREDATE</strong>
										</font>
								</td>
								<td class="xl45" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 46pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="61">
										<font face="ＭＳ ゴシック" size="2">
												<strong>SAL</strong>
										</font>
								</td>
								<td class="xl45" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 46pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="61">
										<font face="ＭＳ ゴシック" size="2">
												<strong>COMM</strong>
										</font>
								</td>
								<td class="xl45" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext 0.5pt solid; BORDER-LEFT: windowtext; WIDTH: 43pt; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" width="57">
										<strong>
												<font face="ＭＳ ゴシック" size="2">DEPTNO</font>
										</strong>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl33" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">1</font>
								</td>
								<td class="xl33" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7499</font>
								</td>
								<td class="xl43" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">ALLEN</font>
								</td>
								<td class="xl34" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: windowtext; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">SALESMAN</font>
								</td>
								<td class="xl37" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7698</font>
								</td>
								<td class="xl35" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: windowtext; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="29637">
										<font face="ＭＳ ゴシック" size="2">1981/02/20</font>
								</td>
								<td class="xl40" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">1600.00</font>
								</td>
								<td class="xl36" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: windowtext; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">300.00</font>
								</td>
								<td class="xl37" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: windowtext; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">30</font>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">2</font>
								</td>
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7521</font>
								</td>
								<td class="xl44" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">WARD</font>
								</td>
								<td class="xl26" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">SALESMAN</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7698</font>
								</td>
								<td class="xl27" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="29639">
										<font face="ＭＳ ゴシック" size="2">1981/02/22</font>
								</td>
								<td class="xl41" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">1250.00</font>
								</td>
								<td class="xl28" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">500.00</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">30</font>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">3</font>
								</td>
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7566</font>
								</td>
								<td class="xl44" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">JONES</font>
								</td>
								<td class="xl26" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">MANAGER</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7839</font>
								</td>
								<td class="xl27" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="29678">
										<font face="ＭＳ ゴシック" size="2">1981/04/02</font>
								</td>
								<td class="xl41" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">2975.00</font>
								</td>
								<td class="xl28" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" x:str="">
										<font face="ＭＳ ゴシック" size="2">
										</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">20</font>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">4</font>
								</td>
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7654</font>
								</td>
								<td class="xl44" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">MARTIN</font>
								</td>
								<td class="xl26" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">SALESMAN</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7698</font>
								</td>
								<td class="xl27" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="29857">
										<font face="ＭＳ ゴシック" size="2">1981/09/28</font>
								</td>
								<td class="xl41" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">1250.00</font>
								</td>
								<td class="xl28" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">1400.00</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">30</font>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">5</font>
								</td>
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7698</font>
								</td>
								<td class="xl44" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">BLAKE</font>
								</td>
								<td class="xl26" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">MANAGER</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7839</font>
								</td>
								<td class="xl27" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="29707">
										<font face="ＭＳ ゴシック" size="2">1981/05/01</font>
								</td>
								<td class="xl41" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">2850.00</font>
								</td>
								<td class="xl28" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" x:str="">
										<font face="ＭＳ ゴシック" size="2">
										</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">30</font>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">6</font>
								</td>
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7782</font>
								</td>
								<td class="xl44" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">CLARK</font>
								</td>
								<td class="xl26" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">MANAGER</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7839</font>
								</td>
								<td class="xl27" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="29746">
										<font face="ＭＳ ゴシック" size="2">1981/06/09</font>
								</td>
								<td class="xl41" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">2450.00</font>
								</td>
								<td class="xl28" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" x:str="">
										<font face="ＭＳ ゴシック" size="2">
										</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">10</font>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">7</font>
								</td>
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7788</font>
								</td>
								<td class="xl44" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">SCOTT</font>
								</td>
								<td class="xl26" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">ANALYST</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7566</font>
								</td>
								<td class="xl27" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="31886">
										<font face="ＭＳ ゴシック" size="2">1987/04/19</font>
								</td>
								<td class="xl41" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">3000.00</font>
								</td>
								<td class="xl28" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" x:str="">
										<font face="ＭＳ ゴシック" size="2">
										</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">20</font>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">8</font>
								</td>
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7839</font>
								</td>
								<td class="xl44" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">KING</font>
								</td>
								<td class="xl26" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">PRESIDENT</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" x:str="">
										<font face="ＭＳ ゴシック" size="2">　</font>
								</td>
								<td class="xl27" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="29907">
										<font face="ＭＳ ゴシック" size="2">1981/11/17</font>
								</td>
								<td class="xl41" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">5000.00</font>
								</td>
								<td class="xl28" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" x:str="">
										<font face="ＭＳ ゴシック" size="2">
										</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">10</font>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">9</font>
								</td>
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7844</font>
								</td>
								<td class="xl44" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">TURNER</font>
								</td>
								<td class="xl26" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">SALESMAN</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7698</font>
								</td>
								<td class="xl27" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="29837">
										<font face="ＭＳ ゴシック" size="2">1981/09/08</font>
								</td>
								<td class="xl41" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">1500.00</font>
								</td>
								<td class="xl28" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">0.00</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">30</font>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">10</font>
								</td>
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7876</font>
								</td>
								<td class="xl44" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">ADAMS</font>
								</td>
								<td class="xl26" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">CLERK</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7788</font>
								</td>
								<td class="xl27" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="31920">
										<font face="ＭＳ ゴシック" size="2">1987/05/23</font>
								</td>
								<td class="xl41" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">1100.00</font>
								</td>
								<td class="xl28" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" x:str="">
										<font face="ＭＳ ゴシック" size="2">
										</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">20</font>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">11</font>
								</td>
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7900</font>
								</td>
								<td class="xl44" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">JAMES</font>
								</td>
								<td class="xl26" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">CLERK</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7698</font>
								</td>
								<td class="xl27" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="29923">
										<font face="ＭＳ ゴシック" size="2">1981/12/03</font>
								</td>
								<td class="xl41" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">950.00</font>
								</td>
								<td class="xl28" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" x:str="">
										<font face="ＭＳ ゴシック" size="2">
										</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">30</font>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">12</font>
								</td>
								<td class="xl25" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7902</font>
								</td>
								<td class="xl44" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">FORD</font>
								</td>
								<td class="xl26" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">ANALYST</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7566</font>
								</td>
								<td class="xl27" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="29923">
										<font face="ＭＳ ゴシック" size="2">1981/12/03</font>
								</td>
								<td class="xl41" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">3000.00</font>
								</td>
								<td class="xl28" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" x:str="">
										<font face="ＭＳ ゴシック" size="2">
										</font>
								</td>
								<td class="xl38" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">20</font>
								</td>
						</tr>
						<tr style="HEIGHT: 12.75pt" height="17">
								<td class="xl29" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" height="17">
										<font face="ＭＳ ゴシック" size="2">13</font>
								</td>
								<td class="xl29" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7934</font>
								</td>
								<td class="xl24" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">MILLER</font>
								</td>
								<td class="xl30" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent">
										<font face="ＭＳ ゴシック" size="2">CLERK</font>
								</td>
								<td class="xl39" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">7782</font>
								</td>
								<td class="xl31" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" align="right" x:num="29974">
										<font face="ＭＳ ゴシック" size="2">1982/01/23</font>
								</td>
								<td class="xl42" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">1300.00</font>
								</td>
								<td class="xl32" style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" x:str="">
										<font face="ＭＳ ゴシック" size="2">　</font>
								</td>
								<td class="xl39" style="BORDER-RIGHT: windowtext 0.5pt solid; BORDER-TOP: #ece9d8; BORDER-LEFT: windowtext 0.5pt solid; BORDER-BOTTOM: windowtext 0.5pt solid; BACKGROUND-COLOR: transparent" align="right" x:num="">
										<font face="ＭＳ ゴシック" size="2">10</font>
								</td>
						</tr>
				</tbody>
		</table>
		<br />执行<br />SQL&gt; select count(*) from emp where empno not in ( select mgr from emp );<br />COUNT(*)<br />----------<br />         0<br />SQL&gt; select count(*) from emp T1<br />  2  where not exists ( select null from emp T2 where t2.mgr = t1.empno ); -- 这里子查询中取出null并没有什么特殊作用，只是表示取什么都一样。<br />COUNT(*)<br />----------<br />         8<br />结果明显不同，问题就出在MGR=null的那条数据上。任何值X not in (null)  结果都不成立。<br />用一个小例子试验一下:<br />select * from dual where dummy not in ( NULL ) -- no rows selected<br />select * from dual where NOT( dummy not in ( NULL ) ) --no rows selected<br />知觉上这两句SQL总有一句会取出数据的，但是实际上都没有。SQL中逻辑表达式的值可以有三种结果（true false null）而null相当于false.<br /><br /><br /><img src ="http://www.blogjava.net/terry-zj/aggbug/41662.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/terry-zj/" target="_blank">Terry的Blog</a> 2006-04-18 16:01 <a href="http://www.blogjava.net/terry-zj/archive/2006/04/18/41662.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>