<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>幸福人生</title>
	<atom:link href="http://blog.donews.com/utilities/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.donews.com/utilities</link>
	<description>快乐的生活从现在开始</description>
	<lastBuildDate>Tue, 20 Dec 2005 02:38:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>一些常用的javascript封装[不断完善中]</title>
		<link>http://blog.donews.com/utilities/archive/2005/12/20/664520.aspx</link>
		<comments>http://blog.donews.com/utilities/archive/2005/12/20/664520.aspx#comments</comments>
		<pubDate>Tue, 20 Dec 2005 02:38:00 +0000</pubDate>
		<dc:creator>幸福人生</dc:creator>
				<category><![CDATA[dotnet]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://blog.donews.com/utilities/archive/2005/12/20/664520.aspx</guid>
		<description><![CDATA[<p>//去掉首尾空格<br/>String.prototype.trim=function() {<br/>&#160; return this.replace(/(^\s*)&#124;(\s*$)/g,&#34;&#34;);<br/>}</p><p>//判断是否是中文<br/>String.prototype.isChinese=function() {<br/>&#160; if(name.length == 0)<br/>&#160;&#160;&#160; return false;<br/>&#160; for(i = 0; i &#60; name.length; i++) {<br/>&#160;&#160;&#160; if(name.charCodeAt(i) &#62; 128)<br/>&#160;&#160;&#160;&#160;&#160; return true;<br/>&#160; }<br/>&#160; return false;<br/>}</p><p>//判断字符串是否为英文<br/>String.prototype.isEnglish=funct]]></description>
			<content:encoded><![CDATA[<p>//去掉首尾空格<br/>String.prototype.trim=function() {<br/>&nbsp; return this.replace(/(^\s*)|(\s*$)/g,&quot;&quot;);<br/>}</p>
<p>//判断是否是中文<br/>String.prototype.isChinese=function() {<br/>&nbsp; if(name.length == 0)<br/>&nbsp;&nbsp;&nbsp; return false;<br/>&nbsp; for(i = 0; i &lt; name.length; i++) {<br/>&nbsp;&nbsp;&nbsp; if(name.charCodeAt(i) &gt; 128)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br/>&nbsp; }<br/>&nbsp; return false;<br/>}</p>
<p>//判断字符串是否为英文<br/>String.prototype.isEnglish=function() {<br/>&nbsp; var re = /^\w*$/;<br/>&nbsp; return re.test(str);<br/>}</p>
<p>//判断是否是日期型<br/>String.prototype.isDate=function() {<br/>&nbsp;&nbsp; var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); <br/>&nbsp;&nbsp; if(r == null)<br/>&nbsp; return false;<br/>&nbsp;&nbsp; var d = new Date(r[1], r[3]-1, r[4]); <br/>&nbsp;&nbsp; return (d.getFullYear() == r[1] &amp;&amp; (d.getMonth() + 1) == r[3] &amp;&amp; d.getDate() == r[4]);<br/>}</p>
<p>//判断是否是日期时间型<br/>String.prototype.isDateTime=function()<br/>{<br/>&nbsp; var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/); <br/>&nbsp; if(r == null)<br/>&nbsp;&nbsp; return false;<br/>&nbsp; var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); <br/>&nbsp; return (d.getFullYear() == r[1] &amp;&amp; (d.getMonth() + 1) == r[3] &amp;&amp; d.getDate() == r[4] <br/>&nbsp;&nbsp; &amp;&amp; d.getHours() == r[5] &amp;&amp; d.getMinutes() == r[6] &amp;&amp; d.getSeconds() == r[7]);<br/>}</p>
<p>//判断是否为数字串<br/>String.prototype.isNumber=function() {<br/>&nbsp; var re = /^[-]?\d+[.]?\d*$/;<br/>&nbsp; return re.test(this);<br/>}</p>
<p>//判断是否为正整数<br/>String.prototype.isNumber1=function() {<br/>&nbsp; var re = /^\d*$/;<br/>&nbsp; return re.test(this);<br/>}</p>
<p>//检查字符串的长度，汉字计2，ascii字符计1<br/>String.prototype.len=function() {<br/>&nbsp; return this.replace(/[^\x00-\xff]/g,&quot;aa&quot;).length;<br/>}</p>
<p>//判断是否是一个正确的IP地址<br/>String.prototype.isIp=function() {<br/>&nbsp; var re = /(\d{0,255})\.(\d{0,255})\.(\d{0,255}).(\d{0,255})/g;<br/>&nbsp; return reg.test(this);<br/>}</p></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/utilities/archive/2005/12/20/664520.aspx/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>一些js收藏</title>
		<link>http://blog.donews.com/utilities/archive/2005/12/20/664459.aspx</link>
		<comments>http://blog.donews.com/utilities/archive/2005/12/20/664459.aspx#comments</comments>
		<pubDate>Tue, 20 Dec 2005 01:31:00 +0000</pubDate>
		<dc:creator>幸福人生</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://blog.donews.com/utilities/archive/2005/12/20/664459.aspx</guid>
		<description><![CDATA[事件返回值 <br/>event.returnValue <br/>鼠标位置 <br/>event.x <br/>event.y <br/>窗体活动元素 <br/>document.activeElement <br/>绑定事件 <br/>document.captureEvents(Event.KEYDOWN); <br/>访问窗体元素 <br/>document.all(&#34;txt&#34;).focus(); <br/>document.all(&#34;txt&#34;).select(); <br/>窗体命令 <br/>document.execCommand <br/>窗体COOKIE <br/>document.cookie <br/>菜单事件 <br/>document.oncontextmenu <br/>创建元素 <br/>document.createElement(&#34;SPAN&#34;); <br/>根据鼠标获得元素： <br/>document.elementFromPoint(event.x,event.y).tagName==&#038;q]]></description>
			<content:encoded><![CDATA[<p>事件返回值 <br/>event.returnValue <br/>鼠标位置 <br/>event.x <br/>event.y <br/>窗体活动元素 <br/>document.activeElement <br/>绑定事件 <br/>document.captureEvents(Event.KEYDOWN); <br/>访问窗体元素 <br/>document.all(&quot;txt&quot;).focus(); <br/>document.all(&quot;txt&quot;).select(); <br/>窗体命令 <br/>document.execCommand <br/>窗体COOKIE <br/>document.cookie <br/>菜单事件 <br/>document.oncontextmenu <br/>创建元素 <br/>document.createElement(&quot;SPAN&quot;); <br/>根据鼠标获得元素： <br/>document.elementFromPoint(event.x,event.y).tagName==&quot;TD <br/>document.elementFromPoint(event.x,event.y).appendChild(ms) <br/>窗体图片 <br/>document.images[索引] <br/>窗体事件绑定 <br/>document.onmousedown=scrollwindow; <br/>元素 <br/>document.窗体.elements[索引] <br/>对象绑定事件 <br/>document.all.xxx.detachEvent(&#8216;onclick&#8217;,a); <br/>插件数目 <br/>navigator.plugins <br/>取变量类型 <br/>typeof($js_libpath) == &quot;undefined&quot; <br/>下拉框 <br/>下拉框.options[索引] <br/>下拉框.options.length <br/>查找对象 <br/>document.getElementsByName(&quot;r1&quot;); <br/>document.getElementById(id); <br/>定时 <br/>timer=setInterval(&#8217;scrollwindow()&#8217;,delay); <br/>clearInterval(timer); <br/>UNCODE编码 <br/>escape() ,unescape <br/>父对象 <br/>obj.parentElement(dhtml) <br/>obj.parentNode(dom) <br/>交换表的行 <br/>TableID.moveRow(2,1) <br/>替换CSS <br/>document.all.csss.href = &quot;a.css&quot;; <br/>并排显示 <br/>display:inline <br/>隐藏焦点 <br/>hidefocus=true <br/>根据宽度换行 <br/>style=&quot;word-break:break-all&quot; <br/>自动刷新 <br/>&lt;meta HTTP-EQUIV=&quot;refresh&quot; CONTENT=&quot;8;URL=http://c98.yeah.net&quot;&gt; <br/>简单邮件 <br/>&lt;a href=&quot;mailto:aaa@bbb.com?subject=ccc&amp;body=xxxyyy&quot;&gt; <br/>快速转到位置 <br/>obj.scrollIntoView(true) <br/>锚 <br/>&lt;a name=&quot;first&quot;&gt; <br/>&lt;a href=&quot;#first&quot;&gt;anchors&lt;/a&gt; <br/>网页传递参数 <br/>location.search(); <br/>可编辑 <br/>obj.contenteditable=true <br/>执行菜单命令 <br/>obj.execCommand <br/>双字节字符 <br/>/[^\x00-\xff]/ <br/>汉字 <br/>/[\u4e00-\u9fa5]/ <br/>让英文字符串超出表格宽度自动换行 <br/>word-wrap: break-word; word-break: break-all; <br/>透明背景 <br/>&lt;IFRAME src=&quot;1.htm&quot; width=300 height=180 allowtransparency&gt;&lt;/iframe&gt; <br/>获得style内容 <br/>obj.style.cssText <br/>HTML标签 <br/>document.documentElement.innerHTML <br/>第一个style标签 <br/>document.styleSheets[0] <br/>style标签里的第一个样式 <br/>document.styleSheets[0].rules[0] <br/>防止点击空链接时，页面往往重置到页首端。 <br/>&lt;a href=&quot;javascript :function()&quot;&gt;word&lt;/a&gt; <br/>上一网页源 <br/>asp: <br/>request.servervariables(&quot;HTTP_REFERER&quot;) <br/>javascript : <br/>document.referrer <br/>释放内存 <br/>CollectGarbage(); <br/>禁止右键 <br/>document.oncontextmenu = function() { return false;} <br/>禁止保存 <br/>&lt;noscript&gt;&lt;iframe src=&quot;*.htm&quot;&gt;&lt;/iframe&gt;&lt;/noscript&gt; <br/>禁止选取&lt;body oncontextmenu=&quot;return false&quot; ondragstart=&quot;return false&quot; <br/>onselectstart =&quot;return false&quot; onselect=&quot;document.selection.empty()&quot; <br/>oncopy=&quot;document.selection.empty()&quot; onbeforecopy=&quot;return <br/>false&quot;onmouseup=&quot;document.selection.empty()&gt; <br/>禁止粘贴 <br/>&lt;input type=text onpaste=&quot;return false&quot;&gt; <br/>地址栏图标 <br/>&lt;link rel=&quot;Shortcut Icon&quot; href=&quot;favicon.ico&quot;&gt; <br/>favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下 <br/>收藏栏图标 <br/>&lt;link rel=&quot;Bookmark&quot; href=&quot;favicon.ico&quot;&gt; <br/>查看源码 <br/>&lt;input type=button value=查看网页源代码 onclick=&quot;window.location = &#8216;view-source:&#8217;+ <br/>&#8216;http://www.csdn.net/&#8217;&quot;&gt; <br/>关闭输入法 <br/>&lt;input style=&quot;ime-mode:disabled&quot;&gt; <br/>自动全选 <br/>&lt;input type=text name=text1 value=&quot;123&quot; onfocus=&quot;this.select()&quot;&gt; <br/>ENTER键可以让光标移到下一个输入框 <br/>&lt;input onkeydown=&quot;if(event.keyCode==13)event.keyCode=9&quot;&gt; <br/>文本框的默认值 <br/>&lt;input type=text value=&quot;123&quot; onfocus=&quot;alert(this.defaultValue)&quot;&gt; <br/>title换行 <br/>obj.title = &quot;123&amp;#13sdfs&amp;#32&quot; <br/>获得时间所代表的微秒 <br/>var n1 = new Date(&quot;2004-10-10&quot;.replace(/-/g, &quot;\/&quot;)).getTime() <br/>窗口是否关闭 <br/>win.closed <br/>checkbox扁平 <br/>&lt;input type=checkbox style=&quot;position: absolute; clip:rect(5px 15px 15px <br/>5px)&quot;&gt;&lt;br&gt; <br/>获取选中内容 <br/>document.selection.createRange().duplicate().text <br/>自动完成功能 <br/>&lt;input type=text autocomplete=on&gt;打开该功能 <br/>&lt;input type=text autocomplete=off&gt;关闭该功能 <br/>窗口最大化 <br/>&lt;body onload=&quot;window.resizeTo(window.screen.width &#8211; <br/>4,window.screen.height-50);window.moveTo(-4,-4)&quot;&gt; <br/>无关闭按钮IE <br/>window.open(&quot;aa.htm&quot;, &quot;meizz&quot;, &quot;fullscreen=7&quot;); <br/>统一编码/解码 <br/>alert(decodeURIComponent(encodeURIComponent(&quot;http://你好.com?as= hehe&quot;))) <br/>encodeURIComponent对&quot;:&quot;、&quot;/&quot;、&quot;;&quot; 和 &quot;?&quot;也编码 <br/>表格行指示 <br/>&lt;tr onmouseover=&quot;this.bgColor=&#8217;#f0f0f0&#8242;&quot; onmouseout=&quot;this.bgColor=&#8217;#ffffff&#8217;&quot;&gt; <br/>//各种尺寸 <br/>s += &quot;\r\n网页可见区域宽：&quot;+ document.body.clientWidth; <br/>s += &quot;\r\n网页可见区域高：&quot;+ document.body.clientHeight; <br/>s += &quot;\r\n网页可见区域高：&quot;+ document.body.offsetWeight +&quot; (包括边线的宽)&quot;; <br/>s += &quot;\r\n网页可见区域高：&quot;+ document.body.offsetHeight +&quot; (包括边线的宽)&quot;; <br/>s += &quot;\r\n网页正文全文宽：&quot;+ document.body.scrollWidth; <br/>s += &quot;\r\n网页正文全文高：&quot;+ document.body.scrollHeight; <br/>s += &quot;\r\n网页被卷去的高：&quot;+ document.body.scrollTop; <br/>s += &quot;\r\n网页被卷去的左：&quot;+ document.body.scrollLeft; <br/>s += &quot;\r\n网页正文部分上：&quot;+ window.screenTop; <br/>s += &quot;\r\n网页正文部分左：&quot;+ window.screenLeft; <br/>s += &quot;\r\n屏幕分辨率的高：&quot;+ window.screen.height; <br/>s += &quot;\r\n屏幕分辨率的宽：&quot;+ window.screen.width; <br/>s += &quot;\r\n屏幕可用工作区高度：&quot;+ window.screen.availHeight; <br/>s += &quot;\r\n屏幕可用工作区宽度：&quot;+ window.screen.availWidth; <br/>//过滤数字 <br/>&lt;input type=text onkeypress=&quot;return <br/>event.keyCode&gt;=48&amp;&amp;event.keyCode&lt;=57||(this.value.indexOf(&#8216;.&#8217;)&lt;0?event.keyCode==46:false)&quot; <br/>onpaste=&quot;return !clipboardData.getData(&#8216;text&#8217;).match(/\D/)&quot; ondragenter=&quot;return <br/>false&quot;&gt; <br/>//特殊用途 <br/>&lt;input type=button value=导入收藏夹 <br/>onclick=&quot;window.external.ImportExportFavorites(true,&#8217;http://localhost&#8217;);&quot;&gt; <br/>&lt;input type=button value=导出收藏夹 <br/>onclick=&quot;window.external.ImportExportFavorites(false,&#8217;http://localhost&#8217;);&quot;&gt; <br/>&lt;input type=button value=整理收藏夹 <br/>onclick=&quot;window.external.ShowBrowserUI(&#8216;OrganizeFavorites&#8217;, null)&quot;&gt; <br/>&lt;input type=button value=语言设置 <br/>onclick=&quot;window.external.ShowBrowserUI(&#8216;LanguageDialog&#8217;, null)&quot;&gt; <br/>&lt;input type=button value=加入收藏夹 <br/>onclick=&quot;window.external.AddFavorite(&#8216;http://www.google.com/&#8217;, &#8216;google&#8217;)&quot;&gt; <br/>&lt;input type=button value=加入到频道 <br/>onclick=&quot;window.external.addChannel(&#8216;http://www.google.com/&#8217;)&quot;&gt; <br/>&lt;input type=button value=加入到频道 <br/>onclick=&quot;window.external.showBrowserUI(&#8216;PrivacySettings&#8217;,null)&quot;&gt; <br/>//不缓存 <br/>&lt;META HTTP-EQUIV=&quot;pragma&quot; CONTENT=&quot;no-cache&quot;&gt; <br/>&lt;META HTTP-EQUIV=&quot;Cache-Control&quot; CONTENT=&quot;no-cache, must-revalidate&quot;&gt; <br/>&lt;META HTTP-EQUIV=&quot;expires&quot; CONTENT=&quot;0&quot;&gt; <br/>//正则匹配 <br/>匹配中文字符的正则表达式： [\u4e00-\u9fa5] <br/>匹配双字节字符(包括汉字在内)：[^\x00-\xff] <br/>匹配空行的正则表达式：\n[\s| ]*\r <br/>匹配HTML标记的正则表达式：/&lt;(.*)&gt;.*&lt;\/\1&gt;|&lt;(.*) \/&gt;/ <br/>匹配首尾空格的正则表达式：(^\s*)|(\s*$)（像vbscript那样的trim函数） <br/>匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* <br/>匹配网址URL的正则表达式：[url]http://[/url]([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)? <br/>以下是例子： <br/>利用正则表达式限制网页表单里的文本框输入内容： <br/>用正则表达式限制只能输入中文：onkeyup=&quot;value=value.replace(/[^\u4E00-\u9FA5]/g,&#8221;)&quot; <br/>onbeforepaste=&quot;clipboardData.setData(&#8216;text&#8217;,clipboardData.getData(&#8216;text&#8217;).replace(/[^\u4E00-\u9FA5]/g,&#8221;))&quot; <br/>1.用正则表达式限制只能输入全角字符： onkeyup=&quot;value=value.replace(/[^\uFF00-\uFFFF]/g,&#8221;)&quot; <br/>onbeforepaste=&quot;clipboardData.setData(&#8216;text&#8217;,clipboardData.getData(&#8216;text&#8217;).replace(/[^\uFF00-\uFFFF]/g,&#8221;))&quot; <br/>2.用正则表达式限制只能输入数字：onkeyup=&quot;value=value.replace(/[^\d]/g,&#8221;) <br/>&quot;onbeforepaste=&quot;clipboardData.setData(&#8216;text&#8217;,clipboardData.getData(&#8216;text&#8217;).replace(/[^\d]/g,&#8221;))&quot; <br/>3.用正则表达式限制只能输入数字和英文：onkeyup=&quot;value=value.replace(/[\W]/g,&#8221;) <br/>&quot;onbeforepaste=&quot;clipboardData.setData(&#8216;text&#8217;,clipboardData.getData(&#8216;text&#8217;).replace(/[^\d]/g,&#8221;))&quot; <br/>//消除图像工具栏 <br/>&lt;IMG SRC=&quot;mypicture.jpg&quot; HEIGHT=&quot;100px&quot; WIDTH=&quot;100px&quot; GALLERYIMG=&quot;false&quot;&gt; <br/>or <br/>&lt;head&gt; <br/>&lt;meta http-equiv=&quot;imagetoolbar&quot; content=&quot;no&quot;&gt; <br/>&lt;/head&gt; <br/>//无提示关闭 <br/>function Close() <br/>{ <br/>var ua=navigator.userAgent <br/>var ie=navigator.appName==&quot;Microsoft Internet Explorer&quot;?true:false <br/>if(ie) <br/>{ <br/>var IEversion=parseFloat(ua.substring(ua.indexOf(&quot;MSIE <br/>&quot;)+5,ua.indexOf(&quot;;&quot;,ua.indexOf(&quot;MSIE &quot;)))) <br/>if(IEversion&lt; 5.5) <br/>{ <br/>var str = &#8216;&lt;object id=noTipClose <br/>classid=&quot;clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11&quot;&gt;&#8217; <br/>str += &#8216;&lt;param name=&quot;Command&quot; value=&quot;Close&quot;&gt;&lt;/object&gt;&#8217;; <br/>document.body.insertAdjacentHTML(&quot;beforeEnd&quot;, str); <br/>document.all.noTipClose.Click(); <br/>} <br/>else <br/>{ <br/>window.opener =null; <br/>window.close(); <br/>} <br/>} <br/>else <br/>{ <br/>window.close() <br/>} <br/>} <br/>//取得控件得绝对位置(1) <br/>&lt;script language=&quot;javascript&quot;&gt; <br/>function getoffset(e) <br/>{ <br/>var t=e.offsetTop; <br/>var l=e.offsetLeft; <br/>while(e=e.offsetParent) <br/>{ <br/>t+=e.offsetTop; <br/>l+=e.offsetLeft; <br/>} <br/>var rec = new Array(1); <br/>rec[0] = t; <br/>rec[1] = l; <br/>return rec <br/>} <br/>&lt;/script&gt; <br/>//获得控件的绝对位置(2) <br/>oRect = obj.getBoundingClientRect(); <br/>oRect.left <br/>oRect. <br/>//最小化,最大化,关闭 <br/>&lt;object id=min classid=&quot;clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11&quot;&gt; <br/>&lt;param name=&quot;Command&quot; value=&quot;Minimize&quot;&gt;&lt;/object&gt; <br/>&lt;object id=max classid=&quot;clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11&quot;&gt; <br/>&lt;param name=&quot;Command&quot; value=&quot;Maximize&quot;&gt;&lt;/object&gt; <br/>&lt;OBJECT id=close classid=&quot;clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11&quot;&gt; <br/>&lt;PARAM NAME=&quot;Command&quot; value=&quot;Close&quot;&gt;&lt;/OBJECT&gt; <br/>&lt;input type=button value=最小化 onclick=min.Click()&gt; <br/>&lt;input type=button value=最大化 onclick=max.Click()&gt; <br/>&lt;input type=button value=关闭 onclick=close.Click()&gt; <br/>//光标停在文字最后 <br/>&lt;script language=&quot;javascript&quot;&gt; <br/>function cc() <br/>{ <br/>var e = event.srcElement; <br/>var r =e.createTextRange(); <br/>r.moveStart(&#8216;character&#8217;,e.value.length); <br/>r.collapse(true); <br/>r.select(); <br/>} <br/>&lt;/script&gt; <br/>&lt;input type=text name=text1 value=&quot;123&quot; onfocus=&quot;cc()&quot;&gt; <br/>//页面进入和退出的特效 <br/>进入页面&lt;meta http-equiv=&quot;Page-Enter&quot; content=&quot;revealTrans(duration=x, <br/>transition=y)&quot;&gt; <br/>推出页面&lt;meta http-equiv=&quot;Page-Exit&quot; content=&quot;revealTrans(duration=x, <br/>transition=y)&quot;&gt; <br/>这个是页面被载入和调出时的一些特效。duration表示特效的持续时间，以秒为单位。transition表示使 <br/>用哪种特效，取值为1-23: <br/>　　0 矩形缩小 <br/>　　1 矩形扩大 <br/>　　2 圆形缩小 <br/>　　3 圆形扩大 <br/>　　4 下到上刷新 <br/>　　5 上到下刷新 <br/>　　6 左到右刷新 <br/>　　7 右到左刷新 <br/>　　8 竖百叶窗 <br/>　　9 横百叶窗 <br/>　　10 错位横百叶窗 <br/>　　11 错位竖百叶窗 <br/>　　12 点扩散 <br/>　　13 左右到中间刷新 <br/>　　14 中间到左右刷新 <br/>　　15 中间到上下 <br/>　　16 上下到中间 <br/>　　17 右下到左上 <br/>　　18 右上到左下 <br/>　　19 左上到右下 <br/>　　20 左下到右上 <br/>　　21 横条 <br/>　　22 竖条 <br/>　　23 <br/>//网页是否被检索 <br/>&lt;meta name=&quot;ROBOTS&quot; content=&quot;属性值&quot;&gt; <br/>　　其中属性值有以下一些: <br/>　　属性值为&quot;all&quot;: 文件将被检索，且页上链接可被查询； <br/>　　属性值为&quot;none&quot;: 文件不被检索，而且不查询页上的链接； <br/>　　属性值为&quot;index&quot;: 文件将被检索； <br/>　　属性值为&quot;follow&quot;: 查询页上的链接； <br/>　　属性值为&quot;noindex&quot;: 文件不检索，但可被查询链接； <br/>　　属性值为&quot;nofollow&quot;: <br/>//打印分页 <br/>&lt;p style=&quot;page-break-after:always&quot;&gt;page1&lt;/p&gt; <br/>&lt;p style=&quot;page-break-after:always&quot;&gt;page2&lt;/p&gt; <br/>//设置打印 <br/>&lt;object id=&quot;factory&quot; style=&quot;display:none&quot; viewastext <br/>classid=&quot;clsid:1663ed61-23eb-11d2-b92f-008048fdd814&quot; <br/>codebase=&quot;http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360&quot; <br/>&gt;&lt;/object&gt; <br/>&lt;input type=button value=页面设置 onclick=&quot;factory.printing.PageSetup()&quot;&gt; <br/>&lt;input type=button value=打印预览 onclick=&quot;factory.printing.Preview()&quot;&gt; <br/><br/>&lt;script language=javascript&gt; <br/>function window.onload() <br/>{ <br/>// &#8212; advanced features <br/>factory.printing.SetMarginMeasure(2) // measure margins in inches <br/>factory.printing.SetPageRange(false, 1, 3) // need pages from 1 to 3 <br/>factory.printing.printer = &quot;HP DeskJet 870C&quot; <br/>factory.printing.copies = 2 <br/>factory.printing.collate = true <br/>factory.printing.paperSize = &quot;A4&quot; <br/>factory.printing.paperSource = &quot;Manual feed&quot; <br/>// &#8212; basic features <br/>factory.printing.header = &quot;居左显示&amp;b居中显示&amp;b居右显示页码，第&amp;p页/共&amp;P页&quot; <br/>factory.printing.footer = &quot;（自定义页脚）&quot; <br/>factory.printing.portrait = false <br/>factory.printing.leftMargin = 0.75 <br/>factory.printing.topMargin = 1.5 <br/>factory.printing.rightMargin = 0.75 <br/>factory.printing.bottomMargin = 1.5 <br/>} <br/>function Print(frame) { <br/>factory.printing.Print(true, frame) // print with prompt <br/>} <br/>&lt;/script&gt; <br/>&lt;input type=button value=&quot;打印本页&quot; onclick=&quot;factory.printing.Print(false)&quot;&gt; <br/>&lt;input type=button value=&quot;页面设置&quot; onclick=&quot;factory.printing.PageSetup()&quot;&gt; <br/>&lt;input type=button value=&quot;打印预览&quot; onclick=&quot;factory.printing.Preview()&quot;&gt;&lt;br&gt; <br/>&lt;a href=&quot;http://www.meadroid.com/scriptx/docs/printdoc.htm?static&quot; <br/>target=_blank&gt;具体使用手册，更多信息，点这里&lt;/a&gt; <br/><br/>//自带的打印预览 <br/>WebBrowser.ExecWB(1,1) 打开 <br/>Web.ExecWB(2,1) 关闭现在所有的IE窗口，并打开一个新窗口 <br/>Web.ExecWB(4,1) 保存网页 <br/>Web.ExecWB(6,1) 打印 <br/>Web.ExecWB(7,1) 打印预览 <br/>Web.ExecWB(8,1) 打印页面设置 <br/>Web.ExecWB(10,1) 查看页面属性 <br/>Web.ExecWB(15,1) 好像是撤销，有待确认 <br/>Web.ExecWB(17,1) 全选 <br/>Web.ExecWB(22,1) 刷新 <br/>Web.ExecWB(45,1) 关闭窗体无提示 <br/>&lt;style media=print&gt; <br/>.Noprint{display:none;}&lt;!&#8211;用本样式在打印时隐藏非打印项目&#8211;&gt; <br/>.PageNext{page-break-after: always;}&lt;!&#8211;控制分页&#8211;&gt; <br/>&lt;/style&gt; <br/>&lt;object id=&quot;WebBrowser&quot; width=0 height=0 <br/>classid=&quot;CLSID:8856F961-340A-11D0-A96B-00C04FD705A2&quot;&gt; <br/>&lt;/object&gt; <br/><br/>&lt;center class=&quot;Noprint&quot; &gt; <br/>&lt;input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)&gt; <br/>&lt;input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)&gt; <br/>&lt;input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)&gt; <br/>&lt;/p&gt; <br/>&lt;p&gt; &lt;input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)&gt; <br/>&lt;/center&gt; <br/>//去掉打印时的页眉页脚 <br/>&lt;script language=&quot;JavaScript&quot;&gt; <br/>var HKEY_Root,HKEY_Path,HKEY_Key; <br/>HKEY_Root=&quot;HKEY_CURRENT_USER&quot;; <br/>HKEY_Path=&quot;\\Software\\Microsoft\\Internet Explorer\\PageSetup\\&quot;; <br/>//设置网页打印的页眉页脚为空 <br/>function PageSetup_Null() <br/>{ <br/>try <br/>{ <br/>var Wsh=new ActiveXObject(&quot;WScript.Shell&quot;); <br/>HKEY_Key=&quot;header&quot;; <br/>Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,&quot;&quot;); <br/>HKEY_Key=&quot;footer&quot;; <br/>Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,&quot;&quot;); <br/>} <br/>catch(e){} <br/>} <br/>//设置网页打印的页眉页脚为默认值 <br/>function PageSetup_Default() <br/>{ <br/>try <br/>{ <br/>var Wsh=new ActiveXObject(&quot;WScript.Shell&quot;); <br/>HKEY_Key=&quot;header&quot;; <br/>Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,&quot;&amp;w&amp;b页码,&amp;p/&amp;P&quot;); <br/>HKEY_Key=&quot;footer&quot;; <br/>Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,&quot;&amp;u&amp;b&amp;d&quot;); <br/>} <br/>catch(e){} <br/>} <br/>&lt;/script&gt; <br/>&lt;input type=&quot;button&quot; value=&quot;清空页码&quot; onclick=PageSetup_Null()&gt; <br/>&lt;input type=&quot;button&quot; value=&quot;恢复页码&quot; onclick=PageSetup_Default()&gt; <br/>//浏览器验证 <br/>function checkBrowser() <br/>{ <br/>this.ver=navigator.appVersion <br/>this.dom=document.getElementById?1:0 <br/>this.ie6=(this.ver.indexOf(&quot;MSIE 6&quot;)&gt;-1 &amp;&amp; this.dom)?1:0; <br/>this.ie5=(this.ver.indexOf(&quot;MSIE 5&quot;)&gt;-1 &amp;&amp; this.dom)?1:0; <br/>this.ie4=(document.all &amp;&amp; !this.dom)?1:0; <br/>this.ns5=(this.dom &amp;&amp; parseInt(this.ver) &gt;= 5) ?1:0; <br/>this.ns4=(document.layers &amp;&amp; !this.dom)?1:0; <br/>this.mac=(this.ver.indexOf(&#8216;Mac&#8217;) &gt; -1) ?1:0; <br/>this.ope=(navigator.userAgent.indexOf(&#8216;Opera&#8217;)&gt;-1); <br/>this.ie=(this.ie6 || this.ie5 || this.ie4) <br/>this.ns=(this.ns4 || this.ns5) <br/>this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns5 || this.ns4 || this.mac <br/>|| this.ope) <br/>this.nbw=(!this.bw) <br/>return this; <br/>} <br/>//计算内容宽和高 <br/>&lt;SCRIPT language=&quot;javascript&quot;&gt; <br/>function test(obj) <br/>{ <br/>var range = obj.createTextRange(); <br/>alert(&quot;内容区宽度: &quot; + range.boundingWidth <br/>+ &quot;px\r\n内容区高度: &quot; + <br/>range.boundingHeight + &quot;px&quot;); <br/><br/>} <br/>&lt;/SCRIPT&gt; <br/>&lt;BODY&gt; <br/>&lt;Textarea id=&quot;txt&quot; height=&quot;150&quot;&gt;sdf&lt;/textarea&gt;&lt;INPUT type=&quot;button&quot; <br/>value=&quot;计算内容宽度&quot; onClick=&quot;test(txt)&quot;&gt; <br/>&lt;/BODY&gt; <br/>//无模式的提示框 <br/>function modelessAlert(Msg) <br/>{ <br/><br/>window.showModelessDialog(&quot;javascript :alert(\&quot;&quot;+escape(Msg)+&quot;\&quot;);window.close();&quot;,&quot;&quot;,&quot;status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;&quot;); <br/>} <br/>//屏蔽按键 <br/>&lt;html&gt; <br/>&lt;head&gt; <br/>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=gb2312&quot;&gt; <br/>&lt;noscript&gt;&lt;meta http-equiv=&quot;refresh&quot; <br/>content=&quot;0;url=about:noscript&quot;&gt;&lt;/noscript&gt; <br/>&lt;title&gt;屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键&lt;/title&gt; <br/>&lt;/head&gt; <br/>&lt;body&gt; <br/>&lt;script language=&quot;Javascript&quot;&gt;&lt;!&#8211; <br/>//屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键 <br/>//Author: meizz(梅花雨) 2002-6-18 <br/>function document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠标右键 <br/>function window.onhelp(){return false} //屏蔽F1帮助 <br/>function document.onkeydown() <br/>{ <br/>if ((window.event.altKey)&amp;&amp; <br/>((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 &larr; <br/>(window.event.keyCode==39))) //屏蔽 Alt+ 方向键 &rarr; <br/>{ <br/>alert(&quot;不准你使用ALT+方向键前进或后退网页！&quot;); <br/>event.returnValue=false; <br/>} <br/>/* 注：这还不是真正地屏蔽 Alt+ 方向键， <br/>因为 Alt+ 方向键弹出警告框时，按住 Alt 键不放， <br/>用鼠标点掉警告框，这种屏蔽方法就失效了。以后若 <br/>有哪位高手有真正屏蔽 Alt 键的方法，请告知。*/ <br/>if ((event.keyCode==8) || //屏蔽退格删除键 <br/>(event.keyCode==116)|| //屏蔽 F5 刷新键 <br/>(event.ctrlKey &amp;&amp; event.keyCode==82)){ //Ctrl + R <br/>event.keyCode=0; <br/>event.returnValue=false; <br/>} <br/>if (event.keyCode==122){event.keyCode=0;event.returnValue=false;} //屏蔽F11 <br/>if (event.ctrlKey &amp;&amp; event.keyCode==78) event.returnValue=false; //屏蔽 Ctrl+n <br/>if (event.shiftKey &amp;&amp; event.keyCode==121)event.returnValue=false; //屏蔽 <br/>shift+F10 <br/>if (window.event.srcElement.tagName == &quot;A&quot; &amp;&amp; window.event.shiftKey) <br/>window.event.returnValue = false; //屏蔽 shift 加鼠标左键新开一网页 <br/>if ((window.event.altKey)&amp;&amp;(window.event.keyCode==115)) //屏蔽Alt+F4 <br/>{ <br/><br/>window.showModelessDialog(&quot;about:blank&quot;,&quot;&quot;,&quot;dialogWidth:1px;dialogheight:1px&quot;); <br/>return false; <br/>} <br/>} <br/>&lt;/script&gt; <br/>屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键 <br/>&lt;/body&gt; <br/>&lt;/html&gt; <br/>//屏蔽打印 <br/>&lt;style&gt; <br/>@media print{ <br/>* {display:none} <br/>} <br/>&lt;/style&gt; <br/>//移动的图层，拖动 <br/>1.&lt;span style=&#8217;position:absolute;width:200;height:200;background:red&#8217; <br/>onmousedown=MouseDown(this) onmousemove=MouseMove() <br/>onmouseup=MouseUp()&gt;meizz&lt;/span&gt; <br/>&lt;script language=javascript&gt; <br/>var Obj; <br/>function MouseDown(obj) <br/>{ <br/>Obj=obj; <br/>Obj.setCapture(); <br/>Obj.l=event.x-Obj.style.pixelLeft; <br/>Obj.t=event.y-Obj.style.pixelTop; <br/>} <br/>function MouseMove() <br/>{ <br/>if(Obj!=null) <br/>{ <br/>Obj.style.left = event.x-Obj.l; <br/>Obj.style.top = event.y-Obj.t; <br/>} <br/>} <br/>function MouseUp() <br/>{ <br/>if(Obj!=null) <br/>{ <br/>Obj.releaseCapture(); <br/>Obj=null; <br/>} <br/>} <br/>&lt;/script&gt; <br/>2. <br/>&lt;div id=&quot;myDiv&quot; src=&quot;logo.gif&quot; ondrag=&quot;doDrag();&quot; <br/>onmouseover=&quot;this.style.cursor=&#8217;hand&#8217;&quot; <br/>style=&quot;position:absolute;left=100;top=100;&quot; onmousedown=&quot;doMouseDown();&quot;&gt; <br/>&lt;a href=&quot;#&quot; onclick=&quot;return false&quot;&gt;&lt;h1&gt;wlecome&lt;/h1&gt;&lt;/a&gt; <br/>&lt;/div&gt; <br/>&lt;script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot;&gt; <br/>var orgMouseX; <br/>var orgMouseY; <br/>var orgObjX; <br/>var orgObjY; <br/>function doDrag() <br/>{ <br/>var myObject=document.all.myDiv; <br/>var x=event.clientX; <br/>var y=event.clientY; <br/>myObject.style.left=x-(orgMouseX-orgObjX); <br/>myObject.style.top=y-(orgMouseY-orgObjY); <br/><br/>} <br/>function doMouseDown() <br/>{ <br/>orgMouseX=event.clientX; <br/>orgMouseY=event.clientY; <br/>orgObjX=parseInt(document.all.myDiv.style.left); <br/>orgObjY=parseInt(document.all.myDiv.style.top); <br/>} <br/>&lt;/script&gt; <br/><br/>//文档状态改变 <br/>&lt;iframe src=&quot;a.html&quot; id=&quot;f&quot; name=&quot;f&quot; scrolling=&quot;no&quot; frameborder=0 marginwidth=0 <br/>marginheight=0&gt;&lt;/iframe&gt; <br/>&lt;script&gt; <br/>var doc=window.frames[&quot;f&quot;].document; <br/>function s(){ <br/>if (doc.readyState==&quot;complete&quot;){ <br/>document.all.f.style.height=doc.body.scrollHeight <br/>document.all.f.style.width=doc.body.scrollWidth <br/>} <br/>} <br/>doc.onreadystatechange=s <br/>&lt;/script&gt; <br/>//刷新后不变的文本框 <br/>&lt;HTML&gt; <br/>&lt;HEAD&gt; <br/>&lt;META NAME=&quot;save&quot; CONTENT=&quot;history&quot;&gt; <br/>&lt;STYLE&gt; <br/>.sHistory {behavior:url(#default#savehistory);} <br/>&lt;/STYLE&gt; <br/>&lt;/HEAD&gt; <br/>&lt;BODY&gt; <br/>&lt;INPUT class=sHistory type=text id=oPersistInput&gt; <br/>&lt;/BODY&gt; <br/>&lt;/HTML&gt; <br/>//访问剪贴板 <br/>(1)拖拽访问 <br/>event.dataTransfer.setData(&quot;URL&quot;, oImage.src); <br/>sImageURL = event.dataTransfer.getData(&quot;URL&quot;) <br/>(2)普通访问 <br/>window.clipboardData.setData(&quot;Text&quot;,oSource.innerText); <br/>window.clipboardData.getData(&quot;Text&quot;); <br/>//操作COOKIE <br/>function SetCookie(sName, sValue) <br/>{ <br/>document.cookie = sName + &quot;=&quot; + escape(sValue) + &quot;; &quot;; <br/>} <br/>function GetCookie(sName) <br/>{ <br/>var aCookie = document.cookie.split(&quot;; &quot;); <br/>for (var i=0; i &lt; aCookie.length; i++) <br/>{ <br/><br/>var aCrumb = aCookie[i].split(&quot;=&quot;); <br/>if (sName == aCrumb[0]) <br/>return unescape(aCrumb[1]); <br/>} <br/><br/>} <br/>function DelCookie(sName) <br/>{ <br/>document.cookie = sName + &quot;=&quot; + escape(sValue) + &quot;; expires=Fri, 31 Dec 1999 <br/>23:59:59 GMT;&quot;; <br/>} <br/>//setTimeout增加参数 <br/>&lt;script&gt; <br/>var _st = window.setTimeout; <br/>window.setTimeout = function(fRef, mDelay) { <br/>if(typeof fRef == &#8216;function&#8217;){ <br/>var argu = Array.prototype.slice.call(arguments,2); <br/>var f = (function(){ fRef.apply(null, argu); }); <br/>return _st(f, mDelay); <br/>} <br/>return _st(fRef,mDelay); <br/>} <br/>function test(x){ <br/>alert(x); <br/>} <br/>window.setTimeout(test,1000,&#8217;fason&#8217;); <br/>&lt;/script&gt; <br/>//自定义的apply,call <br/>Function.prototype.apply = function (obj, argu) { <br/>if (obj) obj.constructor.prototype._caller = this; <br/>var argus = new Array(); <br/>for (var i=0;i&lt;argu.length;i++) <br/>argus[i] = &quot;argu[&quot; + i + &quot;]&quot;; <br/>var r; <br/>eval(&quot;r = &quot; + (obj ? (&quot;obj._caller(&quot; + argus.join(&quot;,&quot;) + &quot;);&quot;) : (&quot;this(&quot; + <br/>argus.join(&quot;,&quot;) + &quot;);&quot;))); <br/>return r; <br/>}; <br/>Function.prototype.call = function (obj) { <br/>var argu = new Array(); <br/>for (var i=1;i&lt;arguments.length;i++) <br/>argu[i-1] = arguments[i]; <br/>return this.apply(obj, argu); <br/>}; <br/>//下载文件 <br/>function DownURL(strRemoteURL,strLocalURL) <br/>{ <br/>try <br/>{ <br/>var xmlHTTP=new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;); <br/>xmlHTTP.open(&quot;Get&quot;,strRemoteURL,false); <br/>xmlHTTP.send(); <br/>var adodbStream=new ActiveXObject(&quot;ADODB.Stream&quot;); <br/>adodbStream.Type=1;//1=adTypeBinary <br/>adodbStream.Open(); <br/>adodbStream.write(xmlHTTP.responseBody); <br/>adodbStream.SaveToFile(strLocalURL,2); <br/>adodbStream.Close(); <br/>adodbStream=null; <br/>xmlHTTP=null; <br/><br/>} <br/>catch(e) <br/>{ <br/>window.confirm(&quot;下载URL出错!&quot;); <br/>} <br/>//window.confirm(&quot;下载完成.&quot;); <br/>} <br/>//检验连接是否有效 <br/>function getXML(URL) <br/>{ <br/>var xmlhttp = new ActiveXObject(&quot;microsoft.xmlhttp&quot;); <br/>xmlhttp.Open(&quot;GET&quot;,URL, false); <br/>try <br/>{ <br/>xmlhttp.Send(); <br/>} <br/>catch(e){} <br/>finally <br/>{ <br/>var result = xmlhttp.responseText; <br/>if(result) <br/>{ <br/>if(xmlhttp.Status==200) <br/>{ <br/>return(true); <br/>} <br/>else <br/>{ <br/>return(false); <br/>} <br/>} <br/>else <br/>{ <br/>return(false); <br/>} <br/>} <br/>} <br/>//POST代替FORM <br/>&lt;SCRIPT language=&quot;VBScript&quot;&gt; <br/>Function URLEncoding(vstrIn) <br/>strReturn = &quot;&quot; <br/>For i = 1 To Len(vstrIn) <br/>ThisChr = Mid(vStrIn,i,1) <br/>If Abs(Asc(ThisChr)) &lt; &amp;HFF Then <br/>strReturn = strReturn &amp; ThisChr <br/>Else <br/>innerCode = Asc(ThisChr) <br/>If innerCode &lt; 0 Then <br/>innerCode = innerCode + &amp;H10000 <br/>End If <br/>Hight8 = (innerCode And &amp;HFF00)\ &amp;HFF <br/>Low8 = innerCode And &amp;HFF <br/>strReturn = strReturn &amp; &quot;%&quot; &amp; Hex(Hight8) &amp; &quot;%&quot; &amp; Hex(Low8) <br/>End If <br/>Next <br/>URLEncoding = strReturn <br/>End Function <br/>Function bytes2BSTR(vIn) <br/>strReturn = &quot;&quot; <br/>For i = 1 To LenB(vIn) <br/>ThisCharCode = AscB(MidB(vIn,i,1)) <br/>If ThisCharCode &lt; &amp;H80 Then <br/>strReturn = strReturn &amp; Chr(ThisCharCode) <br/>Else <br/>NextCharCode = AscB(MidB(vIn,i+1,1)) <br/>strReturn = strReturn &amp; Chr(CLng(ThisCharCode) * &amp;H100 + <br/>CInt(NextCharCode)) <br/>i = i + 1 <br/>End If <br/>Next <br/>bytes2BSTR = strReturn <br/>End Function <br/>dim strA,oReq <br/>strA = URLEncoding(&quot;submit1=Submit&amp;text1=中文&quot;) <br/>set oReq = CreateObject(&quot;MSXML2.XMLHTTP&quot;) <br/>oReq.open &quot;POST&quot;,&quot;http://ServerName/VDir/TstResult.asp&quot;,false <br/>oReq.setRequestHeader &quot;Content-Length&quot;,Len(strA) <br/>oReq.setRequestHeader &quot;CONTENT-TYPE&quot;,&quot;application/x-www-form-urlencoded&quot; <br/>oReq.send strA <br/>msgbox bytes2BSTR(oReq.responseBody) <br/>&lt;/SCRIPT&gt; <br/>//readyState是xmlhttp返回数据的进度，0=载入中,1=未初始化,2=已载入,3=运行中,4=完成<br/>//组件是否安装 <br/>isComponentInstalled(&quot;{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}&quot;, &quot;componentID&quot;)) <br/>//检查网页是否存在 <br/>function CheckURL(URL) <br/>{ <br/>var xmlhttp = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;); <br/>xmlhttp.Open(&quot;GET&quot;,URL, false); <br/>try <br/>{ <br/>xmlhttp.Send(); <br/>var result = xmlhttp.status; <br/>} <br/>catch(e) {return(false); } <br/>if(result==200) <br/>{ <br/>return true; <br/>} <br/>xmlhttp = null; <br/>return false; <br/>} <br/>//连接数据库 <br/>&lt;script language=&quot;javascript&quot;&gt; <br/>//用 JavaScript 写服务器端连接数据库的代码示例 <br/>var conn = new ActiveXObject(&quot;ADODB.Connection&quot;); <br/>conn.Open(&quot;Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa; &quot; <br/>+&quot;Password=; Initial Catalog=pubs&quot;); <br/>var rs = new ActiveXObject(&quot;ADODB.Recordset&quot;); <br/>var sql=&quot;select * from authors&quot;; <br/>rs.open(sql, conn); <br/>shtml = &quot;&lt;table width=&#8217;100%&#8217; border=1&gt;&quot;; <br/>shtml +=&quot;&lt;tr <br/>bgcolor=&#8217;#f4f4f4&#8242;&gt;&lt;td&gt;au_id&lt;/td&gt;&lt;td&gt;au_lname&lt;/td&gt;&lt;td&gt;au_fname&lt;/td&gt;&lt;td&gt;phone&lt;/td&gt;&lt;td&gt;address&lt;/td&gt;&lt;td&gt; <br/>city&lt;/td&gt;&lt;td&gt;state&lt;/td&gt;&lt;td&gt;zip&lt;/td&gt;&lt;/tr&gt;&quot;; <br/>while(!rs.EOF) <br/>{ <br/>shtml += &quot;&lt;tr&gt;&lt;td&gt;&quot; + rs(&quot;au_id&quot;) + &quot;&lt;/td&gt;&lt;td&gt;&quot; + rs(&quot;au_lname&quot;) + &quot;&lt;/td&gt;&lt;td&gt;&quot; <br/>+ rs(&quot;au_fname&quot;) + &quot;&lt;/td&gt;&lt;td&gt;&quot; + rs(&quot;phone&quot;) + &quot;&lt;/td&gt;&lt;td&gt;&quot; + rs(&quot;address&quot;) + <br/>&quot;&lt;/td&gt;&lt;td&gt;&quot; + rs(&quot;city&quot;) + &quot;&lt;/td&gt;&lt;td&gt;&quot; + rs(&quot;state&quot;) + &quot;&lt;/td&gt;&lt;td&gt;&quot; + rs(&quot;zip&quot;) + <br/>&quot;&lt;/td&gt;&lt;/tr&gt;&quot;; <br/>rs.moveNext; <br/>} <br/>shtml += &quot;&lt;/table&gt;&quot;; <br/>document.write(shtml); <br/>rs.close(); <br/>rs = null; <br/>conn.close(); <br/>conn = null; <br/>&lt;/script&gt; <br/>//使用数据岛 <br/>&lt;html&gt; <br/>&lt;body&gt; <br/>srno：&lt;input type=text datasrc=#xmldate DataFLD=srno size=&quot;76&quot;&gt;&lt;BR&gt; <br/>times：&lt;input type=text datasrc=#xmldate DataFLD=times size=&quot;76&quot;&gt;&lt;BR&gt; <br/>&lt;input id=&quot;first&quot; TYPE=button value=&quot;&lt;&lt;　第一条记录&quot; <br/>onclick=&quot;xmldate.recordset.moveFirst()&quot;&gt; <br/>&lt;input id=&quot;prev&quot; TYPE=button value=&quot;&lt;上一条记录&quot; <br/>onclick=&quot;xmldate.recordset.movePrevious()&quot;&gt; <br/>&lt;input id=&quot;next&quot; TYPE=button value=&quot;下一条记录&gt;&quot; <br/>onclick=&quot;xmldate.recordset.moveNext()&quot;&gt; <br/>&lt;input id=&quot;last&quot; TYPE=button value=&quot;最后一条记录&gt;&gt;&quot; <br/>onclick=&quot;xmldate.recordset.moveLast()&quot;&gt; <br/>&lt;input id=&quot;Add&quot; TYPE=button value=&quot;添加新记录&quot; onclick=&quot;xmldate.recordset.addNew()&quot;&gt; <br/><br/>&lt;XML ID=&quot;xmldate&quot;&gt; <br/>&lt;infolist&gt; <br/>&lt;info &gt;&lt;srno&gt;20041025-01&lt;/srno&gt;&lt;times&gt;null&lt;/times&gt;&lt;/info&gt; <br/>&lt;info &gt;&lt;srno&gt;20041101-09&lt;/srno&gt;&lt;times&gt;2004年10月1日2点22分0秒&lt;/times&gt;&lt;/info&gt; <br/>&lt;/infolist&gt; <br/>&lt;/XML&gt; <br/>&lt;/body&gt; <br/>&lt;/html&gt; <br/>//获得参数 <br/>&lt;body&gt; <br/>&lt;a href=&quot;javascript :location.href=location.href + &#8216;?a=1&amp;b=2&#8242;&quot;&gt;search&lt;/a&gt; <br/>&lt;script language=&quot;JavaScript&quot;&gt; <br/>&lt;!&#8211; <br/>var a = location.search.substr(1); <br/>if(a.length&gt;0) <br/>{ <br/>var re = /([^&amp;]*?)\=([^&amp;]*)/g <br/>var s = a.match(re); <br/>for(var i= 0;i&lt;s.length;i++) <br/>{ <br/>alert(s[i]); <br/>alert(s[i].split(&quot;=&quot;)[1]); <br/>} <br/>} <br/>//&#8211;&gt; <br/>&lt;/script&gt; <br/>&lt;/body&gt; <br/>//可编辑SELECT <br/>&lt;input type=text name=re_name <br/>style=&quot;width:100px;height:21px;font-size:10pt;&quot;&gt;&lt;span <br/>style=&quot;width:18px;border:0px solid red;&quot;&gt;&lt;select name=&quot;r00&quot; <br/>style=&quot;margin-left:-100px;width:118px; background-color:#FFEEEE;&quot; <br/>onChange=&quot;document.all.re_name.value=this.value;&quot;&gt; <br/>&lt;option value=&quot;1&quot;&gt;11111111&lt;option&gt; <br/>&lt;option value=&quot;2&quot;&gt;222222&lt;/option&gt; <br/>&lt;option value=&quot;3&quot;&gt;333333&lt;/option&gt; <br/>&lt;/select&gt; <br/>&lt;/span&gt; <br/>//设置光标位置 <br/>function getCaret(textbox) <br/>{ <br/>var control = document.activeElement; <br/>textbox.focus(); <br/>var rang = document.selection.createRange(); <br/>rang.setEndPoint(&quot;StartToStart&quot;,textbox.createTextRange()) <br/>control.focus(); <br/>return rang.text.length; <br/>} <br/>function setCaret(textbox,pos) <br/>{ <br/>try <br/>{ <br/>var r =textbox.createTextRange(); <br/>r.moveStart(&#8216;character&#8217;,pos); <br/>r.collapse(true); <br/>r.select(); <br/>} <br/>catch(e) <br/>{} <br/>} <br/>function selectLength(textbox,start,len) <br/>{ <br/>try <br/>{ <br/>var r =textbox.createTextRange(); <br/><br/>r.moveEnd(&#8216;character&#8217;,len-(textbox.value.length-start)); <br/>r.moveStart(&#8216;character&#8217;,start); <br/><br/>r.select(); <br/>} <br/>catch(e) <br/>{//alert(e.description)} <br/>} <br/>function insertAtCaret(textbox,text) <br/>{ <br/>textbox.focus(); <br/>document.selection.createRange().text = text; <br/>} <br/>//页内查找 <br/>function findInPage(str) <br/>{ <br/>var txt, i, found,n = 0; <br/>if (str == &quot;&quot;) <br/>{ <br/>return false; <br/>} <br/>txt = document.body.createTextRange(); <br/>for (i = 0; i &lt;= n &amp;&amp; (found = txt.findText(str)) != false; i++) <br/>{ <br/>txt.moveStart(&quot;character&quot;, 1); <br/>txt.moveEnd(&quot;textedit&quot;); <br/>} <br/>if (found) <br/>{ <br/>txt.moveStart(&quot;character&quot;, -1); <br/>txt.findText(str); <br/>txt.select(); <br/>txt.scrollIntoView(); <br/>n++; <br/>} <br/>else <br/>{ <br/>if (n &gt; 0) <br/>{ <br/>n = 0; <br/>findInPage(str); <br/>} <br/>else <br/>{ <br/>alert(str + &quot;&#8230; 您要找的文字不存在。\n \n请试着输入页面中的关键字再次查找！&quot;); <br/>} <br/>} <br/>return false; <br/>} <br/>//书 <br/><a href="http://www.itpub.net/attachment.php?s=&amp;postid=1894598" target="_blank">http://www.itpub.net/attachment.php?s=&amp;postid=1894598</a> <br/><a href="http://www.wrclub.net/down/listdown.aspx?id=1341" target="_blank">http://www.wrclub.net/down/listdown.aspx?id=1341</a> <br/>//操作EXECL <br/>&lt;script language=&quot;javascript&quot;&gt; <br/>function jStartExcel() { <br/>var xls = new ActiveXObject ( &quot;Excel.Application&quot; ); <br/>xls.visible = true; <br/>var newBook = xls.Workbooks.Add; <br/>newBook.Worksheets.Add; <br/>newBook.Worksheets(1).Activate; <br/>xls.ActiveWorkBook.ActiveSheet.PageSetup.Orientation = 2; <br/>xls.ActiveWorkBook.ActiveSheet.PageSetup.PaperSize = 5; <br/>newBook.Worksheets(1).Columns(&quot;A&quot;).columnwidth=50; <br/>newBook.Worksheets(1).Columns(&quot;A&quot;).WrapText = true; <br/>newBook.Worksheets(1).Columns(&quot;B&quot;).columnwidth=50; <br/>newBook.Worksheets(1).Columns(&quot;B&quot;).WrapText = true; <br/>newBook.Worksheets(1).Range(&quot;A1:B1000&quot;).NumberFormat = &quot;0&quot;; <br/>newBook.Worksheets(1).Range(&quot;A1:B1000&quot;).HorizontalAlignment = -4131; <br/>newBook.Worksheets(1).Cells(1,1).Interior.ColorIndex=&quot;15&quot;; <br/>newBook.Worksheets(1).Cells(1,1).value=&quot;First Column, First Cell&quot;; <br/>newBook.Worksheets(1).Cells(2,1).value=&quot;First Column, Second Cell&quot;; <br/>newBook.Worksheets(1).Cells(1,2).value=&quot;Second Column, First Cell&quot;; <br/>newBook.Worksheets(1).Cells(2,2).value=&quot;Second Column, Second Cell&quot;; <br/>newBook.Worksheets(1).Name=&quot;My First WorkSheet&quot;; <br/>} <br/>&lt;/script&gt; <br/>//自定义提示条 <br/>&lt;a href=&quot;#&quot; title=&quot;这是提示&quot;&gt;tip&lt;/a&gt; <br/>&lt;script Language=&quot;JavaScript&quot;&gt; <br/>//***********默认设置定义.********************* <br/>tPopWait=50;//停留tWait豪秒后显示提示。 <br/>tPopShow=5000;//显示tShow豪秒后关闭提示 <br/>showPopStep=20; <br/>popOpacity=99; <br/>//***************内部变量定义***************** <br/>sPop=null; <br/>curShow=null; <br/>tFadeOut=null; <br/>tFadeIn=null; <br/>tFadeWaiting=null; <br/>document.write(&quot;&lt;style type=&#8217;text/css&#8217;id=&#8217;defaultPopStyle&#8217;&gt;&quot;); <br/>document.write(&quot;.cPopText { background-color: #F8F8F5;color:#000000; border: <br/>1px #000000 solid;font-color: font-size: 12px; padding-right: 4px; padding-left: <br/>4px; height: 20px; padding-top: 2px; padding-bottom: 2px; filter: <br/>Alpha(Opacity=0)}&quot;); <br/>document.write(&quot;&lt;/style&gt;&quot;); <br/>document.write(&quot;&lt;div id=&#8217;dypopLayer&#8217; style=&#8217;position:absolute;z-index:1000;&#8217; <br/>class=&#8217;cPopText&#8217;&gt;&lt;/div&gt;&quot;); <br/>function showPopupText(){ <br/>var o=event.srcElement; <br/>MouseX=event.x; <br/>MouseY=event.y; <br/>if(o.alt!=null &amp;&amp; o.alt!=&quot;&quot;){o.dypop=o.alt;o.alt=&quot;&quot;}; <br/>if(o.title!=null &amp;&amp; o.title!=&quot;&quot;){o.dypop=o.title;o.title=&quot;&quot;}; <br/>if(o.dypop!=sPop) { <br/>sPop=o.dypop; <br/>clearTimeout(curShow); <br/>clearTimeout(tFadeOut); <br/>clearTimeout(tFadeIn); <br/>clearTimeout(tFadeWaiting); <br/>if(sPop==null || sPop==&quot;&quot;) { <br/>dypopLayer.innerHTML=&quot;&quot;; <br/>dypopLayer.style.filter=&quot;Alpha()&quot;; <br/>dypopLayer.filters.Alpha.opacity=0; <br/>} <br/>else { <br/>if(o.dyclass!=null) popStyle=o.dyclass <br/>else popStyle=&quot;cPopText&quot;; <br/>curShow=setTimeout(&quot;showIt()&quot;,tPopWait); <br/>} <br/>} <br/>} <br/>function showIt(){ <br/>dypopLayer.className=popStyle; <br/>dypopLayer.innerHTML=sPop; <br/>popWidth=dypopLayer.clientWidth; <br/>popHeight=dypopLayer.clientHeight; <br/>if(MouseX+12+popWidth&gt;document.body.clientWidth) popLeftAdjust=-popWidth-24 <br/>else popLeftAdjust=0; <br/>if(MouseY+12+popHeight&gt;document.body.clientHeight) popTopAdjust=-popHeight-24 <br/>else popTopAdjust=0; <br/>dypopLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust; <br/>dypopLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust; <br/>dypopLayer.style.filter=&quot;Alpha(Opacity=0)&quot;; <br/>fadeOut(); <br/>} <br/>function fadeOut(){ <br/>if(dypopLayer.filters.Alpha.opacity&lt;popOpacity) { <br/>dypopLayer.filters.Alpha.opacity+=showPopStep; <br/>tFadeOut=setTimeout(&quot;fadeOut()&quot;,1); <br/>} <br/>else { <br/>dypopLayer.filters.Alpha.opacity=popOpacity; <br/>tFadeWaiting=setTimeout(&quot;fadeIn()&quot;,tPopShow); <br/>} <br/>} <br/>function fadeIn(){ <br/>if(dypopLayer.filters.Alpha.opacity&gt;0) { <br/>dypopLayer.filters.Alpha.opacity-=1; <br/>tFadeIn=setTimeout(&quot;fadeIn()&quot;,1); <br/>} <br/>} <br/>document.onmouseover=showPopupText; <br/>&lt;/script&gt; <br/>//插入文字 <br/>document.onclick =function(){ <br/>var oSource = window.event.srcElement; <br/>if(oSource.tagName!=&quot;DIV&quot;) <br/>return false; <br/>var sel = document.selection; <br/>if (sel!=null) { <br/>var rng = sel.createRange(); <br/>if (rng!=null) <br/>rng.pasteHTML(&quot;&lt;font color=red&gt;插入文字&lt;/font&gt;&quot;); <br/>} <br/>} <br/>//netscapte下操作xml <br/>doc = new ActiveXObject(&quot;Msxml2.DOMDocument&quot;); <br/>doc = new ActiveXObject(&quot;Microsoft.XMLDOM&quot;) <br/>-&gt;&gt; <br/>doc = (new DOMParser()).parseFromString(sXML,&#8217;text/xml&#8217;) <br/>//判断键值 <br/>&lt;html&gt; <br/>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=gb2312&quot;&gt; <br/>&lt;head&gt; <br/>&lt;script language=&quot;javascript&quot;&gt; <br/>var ie =navigator.appName==&quot;Microsoft Internet Explorer&quot;?true:false; <br/><br/>function keyDown(e) <br/>{ <br/>if(!ie) <br/>{ <br/>var nkey=e.which; <br/>var iekey=&#8217;现在是ns浏览器&#8217;; <br/>var realkey=String.fromCharCode(e.which); <br/>} <br/>if(ie) <br/>{ <br/>var iekey=event.keyCode; <br/>var nkey=&#8217;现在是ie浏览器&#8217;; <br/>var realkey=String.fromCharCode(event.keyCode); <br/>if(event.keyCode==32){realkey=&#8217;\&#8217; 空格\&#8221;} <br/>if(event.keyCode==13){realkey=&#8217;\&#8217; 回车\&#8221;} <br/>if(event.keyCode==27){realkey=&#8217;\&#8217; Esc\&#8221;} <br/>if(event.keyCode==16){realkey=&#8217;\&#8217; Shift\&#8221;} <br/>if(event.keyCode==17){realkey=&#8217;\&#8217; Ctrl\&#8221;} <br/>if(event.keyCode==18){realkey=&#8217;\&#8217; Alt\&#8221;} <br/>} <br/>alert(&#8216;ns浏览器中键值:&#8217;+nkey+&#8217;\n&#8217;+'ie浏览器中键值:&#8217;+iekey+&#8217;\n&#8217;+'实际键为&#8217;+realkey); <br/>} <br/>document.onkeydown = keyDown; <br/>&lt;/script&gt; <br/>&lt;/head&gt; <br/>&lt;body&gt; <br/>//Javascript Document. <br/>&lt;hr&gt; <br/>&lt;center&gt; <br/>&lt;h3&gt;请按任意一个键。。。。&lt;/h3&gt; <br/>&lt;/center&gt; <br/>&lt;/body&gt; <br/>&lt;/html&gt; <br/>//禁止FSO <br/>1.注销组件 <br/>regsvr32 /u scrrun.dll <br/>2.修改PROGID <br/>HKEY_CLASSES_ROOT\Scripting.FileSystemObject <br/>Scripting.FileSystemObject <br/>3.对于使用object的用户，修改HKEY_CLASSES_ROOT\Scripting. <br/>//省略号 <br/>&lt;DIV STYLE=&quot;width: 120px; height: 50px; border: 1px solid blue; <br/>overflow: hidden; text-overflow:ellipsis&quot;&gt; <br/>&lt;NOBR&gt;就是比如有一行文字，很长，表格内一行显示不下.&lt;/NOBR&gt; <br/>&lt;/DIV&gt; <br/>//检测media play版本 <br/>&lt;IE:clientCaps ID=&quot;oClientCaps&quot; style=&quot;{behavior:url(#default#clientcaps)}&quot; /&gt; <br/>&lt;SCRIPT&gt; <br/>var flash=&quot;&quot;; <br/>WMPVersion= <br/>oClientCaps.getComponentVersion(&quot;{22D6F312-B0F6-11D0-94AB-0080C74C7E95}&quot;,&quot;ComponentID&quot;); <br/><br/>if (WMPVersion != &quot;&quot;) { <br/>flash = &quot;&quot;; <br/>var version = WMPVersion.split(&quot;,&quot;); <br/>var i; <br/>for (i = 0; i &lt; version.length; i++) { <br/>if (i != 0) <br/>flash += &quot;.&quot;; <br/>flash += version[i]; <br/>} <br/>document.write(&quot;您的Windows Media Player 版本是:&quot;+flash+&quot;&lt;p&gt;&quot;); <br/>} <br/>&lt;/SCRIPT&gt; <br/><br/>//图象按比例 <br/>&lt;script language=&quot;JavaScript&quot;&gt; <br/>&lt;!&#8211; <br/>//图片按比例缩放 <br/>var flag=false; <br/>function DrawImage(ImgD){ <br/>var image=new Image(); <br/>var iwidth = 80; //定义允许图片宽度 <br/>var iheight = 80; //定义允许图片高度 <br/>image.src=ImgD.src; <br/>if(image.width&gt;0 &amp;&amp; image.height&gt;0){ <br/>flag=true; <br/>if(image.width/image.height&gt;= iwidth/iheight){ <br/>if(image.width&gt;iwidth){ <br/>ImgD.width=iwidth; <br/>ImgD.height=(image.height*iwidth)/image.width; <br/>}else{ <br/>ImgD.width=image.width; <br/>ImgD.height=image.height; <br/>} <br/>ImgD.alt=image.width+&quot;&times;&quot;+image.height; <br/>} <br/>else{ <br/>if(image.height&gt;iheight){ <br/>ImgD.height=iheight; <br/>ImgD.width=(image.width*iheight)/image.height; <br/>}else{ <br/>ImgD.width=image.width; <br/>ImgD.height=image.height; <br/>} <br/>ImgD.alt=image.width+&quot;&times;&quot;+image.height; <br/>} <br/>} <br/>} <br/>//&#8211;&gt; <br/>&lt;/script&gt; <br/>&lt;img src=&quot;..&quot; onload = &quot;DrawImage(this)&quot;&gt; <br/><br/>//细线SELECT <br/>&lt;span style=&quot;border:1px solid #000000; position:absolute; overflow:hidden;&quot; &gt; <br/>&lt;select style=&quot;margin:-2px;&quot;&gt; <br/>&lt;option&gt;1111&lt;/option&gt; <br/>&lt;option&gt;11111111111111&lt;/option&gt; <br/>&lt;option&gt;111111111&lt;/option&gt; <br/>&lt;/select&gt;&lt;/span&gt; <br/>//Import <br/>function Import() { <br/>for( var i=0; i&lt;arguments.length; i++ ) { <br/>var file = arguments[i]; <br/>if ( file.match(/\.js$/i)) <br/>document.write(&#8216;&lt;script type=\&quot;text/javascript\&quot; src=\&quot;&#8217; + file + &#8216;\&quot;&gt;&lt;/sc&#8217; + <br/>&#8216;ript&gt;&#8217;); <br/>else <br/>document.write(&#8216;&lt;style type=\&quot;text/css\&quot;&gt;@import \&quot;&#8217; + file + &#8216;\&quot; <br/>;&lt;/style&gt;&#8217;); <br/>} <br/>}; <br/>//js枚举 <br/>function getComputerName() <br/>{ <br/>var objWMIService = GetObject(&quot;Winmgmts:root\cimv2&quot;); <br/>for(e = new Enumerator(objWMIService) ; !e.atEnd() ; e.moveNext()) <br/>{ <br/>var getComputer = e.item(); <br/>return getComputer.Name; <br/>} <br/>} <br/><br/>//条件编译 <br/>&lt;script language=javascript&gt; <br/>/*@cc_on @*/ <br/>/*@if (@_win32 &amp;&amp; @_jscript_version&gt;5) <br/>function window.confirm(str) <br/>{ <br/>execScript(&quot;n = msgbox(&#8216;&quot;+ str +&quot;&#8217;, 257)&quot;, &quot;vbscript&quot;); <br/>return(n == 1); <br/>} <br/>@end @*/ <br/>&lt;/script&gt; <br/><br/>//取得innerText <br/>&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot;&gt; <br/>&lt;!&#8211; <br/>var xmlDoc = new ActiveXObject(&quot;Msxml2.DOMDocument.4.0&quot;); <br/>var currNode; <br/>xmlDoc.async = false; <br/>xmlDoc.async = false; <br/>xmlDoc.loadXML(&quot;&lt;TABLENAME&gt; 你好你阿三 大法 司法等四 <br/>&lt;/TABLENAME&gt;&quot;); <br/>currNode = xmlDoc.documentElement; <br/><br/>var s = currNode.xml; <br/>var r = /\&lt;([^\&gt;\s]*?)[^\&gt;]*?\&gt;([^\&lt;]*?)\&lt;\/\1\&gt;/ <br/>var b = s.replace(r,&quot;$2&quot;); <br/>alert(b); <br/>//&#8211;&gt; <br/>&lt;/SCRIPT&gt; <br/>//mergeAttributes 复制所有读/写标签属性到指定元素。 <br/>&lt;SCRIPT&gt; <br/>function fnMerge(){ <br/>oSource.children[1].mergeAttributes(oSource.children[0]); <br/>} <br/>&lt;/SCRIPT&gt; <br/>&lt;SPAN ID=oSource&gt; <br/>&lt;DIV <br/>ID=&quot;oDiv&quot; <br/>ATTRIBUTE1=&quot;true&quot; <br/>ATTRIBUTE2=&quot;true&quot; <br/>onclick=&quot;alert(&#8216;click&#8217;);&quot; <br/>onmouseover=&quot;this.style.color=&#8217;#0000FF&#8217;;&quot; <br/>onmouseout=&quot;this.style.color=&#8217;#000000&#8242;;&quot; <br/>&gt; <br/>This is a sample &lt;B&gt;DIV&lt;/B&gt; element. <br/>&lt;/DIV&gt; <br/>&lt;DIV ID=&quot;oDiv2&quot;&gt; <br/>This is another sample &lt;B&gt;DIV&lt;/B&gt; element. <br/>&lt;/DIV&gt; <br/>&lt;/SPAN&gt; <br/>&lt;INPUT <br/>TYPE=&quot;button&quot; <br/>VALUE=&quot;Merge Attributes&quot; <br/>onclick=&quot;fnMerge()&quot; <br/>&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/utilities/archive/2005/12/20/664459.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle中读表中符合条件任何单一列的值</title>
		<link>http://blog.donews.com/utilities/archive/2005/12/19/663672.aspx</link>
		<comments>http://blog.donews.com/utilities/archive/2005/12/19/663672.aspx#comments</comments>
		<pubDate>Mon, 19 Dec 2005 09:25:00 +0000</pubDate>
		<dc:creator>幸福人生</dc:creator>
				<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://blog.donews.com/utilities/archive/2005/12/19/663672.aspx</guid>
		<description><![CDATA[create or replace package pkg_sys_service is&#160; type rowset is ref cursor;&#160; &#160; procedure getvalue(id char,colname varchar2,value out varchar2);end pkg_sys_service;create or replace package body pkg_sys_service is&#160; procedure getvalue(id char,colname varchar2,value out varchar2) is&#160;&#160;&#160; querysql varchar2(200);&#160;&#160;&#160; cur rowset;&#160; begin&#160;&#160;&#160; &#160;&#160;&#160; querysql :]]></description>
			<content:encoded><![CDATA[<p>create or replace package pkg_sys_service is<br/>&nbsp; type rowset is ref cursor;<br/>&nbsp; <br/>&nbsp; procedure getvalue(id char,colname varchar2,value out varchar2);</p>
<p>end pkg_sys_service;</p>
</p>
<p>create or replace package body pkg_sys_service is</p>
<p>&nbsp; procedure getvalue(id char,colname varchar2,value out varchar2) is<br/>&nbsp;&nbsp;&nbsp; querysql varchar2(200);<br/>&nbsp;&nbsp;&nbsp; cur rowset;<br/>&nbsp; begin<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; querysql := &#8217;select &#8216; || colname || &#8216; from sys_service where id=&#8221;&#8217; || id || &#8221;&#8221;;<br/>&nbsp;&nbsp;&nbsp; open cur for querysql;<br/>&nbsp;&nbsp;&nbsp; fetch cur into value;<br/>&nbsp;&nbsp;&nbsp; close cur;<br/>&nbsp; end;<br/>&nbsp; <br/>end pkg_sys_service;<br/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/utilities/archive/2005/12/19/663672.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java中Oracle数据库访问不完全封装代码(仿.net的SQLHelper,不断升级中)</title>
		<link>http://blog.donews.com/utilities/archive/2005/12/19/663555.aspx</link>
		<comments>http://blog.donews.com/utilities/archive/2005/12/19/663555.aspx#comments</comments>
		<pubDate>Mon, 19 Dec 2005 07:26:00 +0000</pubDate>
		<dc:creator>幸福人生</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://blog.donews.com/utilities/archive/2005/12/19/663555.aspx</guid>
		<description><![CDATA[学习 java和oracle，请多多指教，欢迎发email:hchlin@gmail.com]]></description>
			<content:encoded><![CDATA[<p>/*<br/>&nbsp;* Created on 2005-12-17<br/>&nbsp;*/<br/>package com.taxware.zdsy_server.oracledal;</p>
<p>import java.sql.CallableStatement;<br/>import java.sql.Connection;<br/>import java.sql.PreparedStatement;<br/>import java.sql.ResultSet;</p>
<p>import oracle.jdbc.OracleTypes;<br/>import oracle.jdbc.rowset.OracleCachedRowSet;</p>
<p>/**<br/>&nbsp;* @author hucl<br/>&nbsp;*<br/>&nbsp;* <br/>&nbsp;*/<br/>public abstract class OracleHelper {</p>
<p>&nbsp; /**<br/>&nbsp;&nbsp; * @param String cmdtext,SQL语句<br/>&nbsp;&nbsp; * @param OracleParameter[] parms,参数集合<br/>&nbsp;&nbsp; * @return int,SQL语句影响的行数<br/>&nbsp;&nbsp; */<br/>&nbsp; public static int executeSql(String cmdtext, OracleParameter[] parms)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throws Exception {<br/>&nbsp;&nbsp;&nbsp; PreparedStatement pstmt = null;<br/>&nbsp;&nbsp;&nbsp; Connection conn = null;</p>
<p>&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn = ConnectMgr.getConnect();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt = conn.prepareStatement(cmdtext);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prepareCommand(pstmt, parms);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return pstmt.executeUpdate();</p>
<p>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;executeNonQuery方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; finally {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pstmt != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (conn != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;执行executeNonQuery方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp; }</p>
<p>&nbsp; /**<br/>&nbsp;&nbsp; * <br/>&nbsp;&nbsp; * @param cmdtext<br/>&nbsp;&nbsp; * @param parms<br/>&nbsp;&nbsp; * @return int[] 多条SQL的影响行数<br/>&nbsp;&nbsp; * @throws Exception<br/>&nbsp;&nbsp; */<br/>&nbsp; public static int[] executeSqlBatch(String cmdtext, Object[] parms)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throws Exception {<br/>&nbsp;&nbsp;&nbsp; PreparedStatement pstmt = null;<br/>&nbsp;&nbsp;&nbsp; Connection conn = null;</p>
<p>&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn = ConnectMgr.getConnect();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.setAutoCommit(false);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt = conn.prepareStatement(cmdtext);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prepareCommand(pstmt, parms);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int[] ret = pstmt.executeBatch();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.commit();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ret;<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.rollback();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;执行executeSqlBatch方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; finally {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pstmt != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (conn != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;执行executeSqlBatch方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp; }</p>
<p>&nbsp; /**<br/>&nbsp;&nbsp; * <br/>&nbsp;&nbsp; * @param cmdtext<br/>&nbsp;&nbsp; * @param parms<br/>&nbsp;&nbsp; * @return ResultSet<br/>&nbsp;&nbsp; * @throws Exception<br/>&nbsp;&nbsp; */<br/>&nbsp; public static ResultSet executeSqlResultSet(String cmdtext,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter[] parms) throws Exception {<br/>&nbsp;&nbsp;&nbsp; PreparedStatement pstmt = null;<br/>&nbsp;&nbsp;&nbsp; Connection conn = null;</p>
<p>&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn = ConnectMgr.getConnect();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt = conn.prepareStatement(cmdtext);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prepareCommand(pstmt, parms);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return pstmt.executeQuery();</p>
<p>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;executeSqlResultSet方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; finally {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pstmt != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (conn != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;executeSqlResultSet方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp; }</p>
<p>&nbsp; /**<br/>&nbsp;&nbsp; * <br/>&nbsp;&nbsp; * @param sptext 存储过程语句<br/>&nbsp;&nbsp; * @param parms OracleParameter[]<br/>&nbsp;&nbsp; * @return boolean 成功为true,失败为false<br/>&nbsp;&nbsp; * @throws Exception<br/>&nbsp;&nbsp; */<br/>&nbsp; public static boolean executeProcedure(String sptext, OracleParameter[] parms)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throws Exception {<br/>&nbsp;&nbsp;&nbsp; Connection conn = null;<br/>&nbsp;&nbsp;&nbsp; CallableStatement cstmt = null;</p>
<p>&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn = ConnectMgr.getConnect();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.setAutoCommit(true);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cstmt = conn.prepareCall(sptext);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prepareCommand(cstmt, parms);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return cstmt.execute();</p>
<p>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;executeProcedure方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; finally {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (cstmt != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cstmt.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (conn != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;执行executeProcedure方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp; }</p>
<p>&nbsp; /**<br/>&nbsp;&nbsp; * <br/>&nbsp;&nbsp; * @param sptext 存储过程语句<br/>&nbsp;&nbsp; * @param parms OracleParameter[]<br/>&nbsp;&nbsp; * @return Object[] 出参的结果<br/>&nbsp;&nbsp; * @throws Exception<br/>&nbsp;&nbsp; */<br/>&nbsp; public static Object[] executeProcedureObject(String sptext,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter[] parms) throws Exception {<br/>&nbsp;&nbsp;&nbsp; Connection conn = null;<br/>&nbsp;&nbsp;&nbsp; CallableStatement cstmt = null;</p>
<p>&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn = ConnectMgr.getConnect();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cstmt = conn.prepareCall(sptext);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //应用参数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prepareCommand(cstmt, parms);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cstmt.execute();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int count = parms.length;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object[] result = new Object[count];</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; count; i++) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //判断是否有出参<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (parms[i].getInorout().compareToIgnoreCase(&quot;OUT&quot;) &gt;= 0) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*判断是否是结果集,如果不是结果集，直接加到数组中;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *如果是结果集执行else下的语句，把结果集写到OracleCachedRowSet中，ResultSet的关闭不会受到影响<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *原因:如果直接传ResultSet，<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *在执行finally语句时会连同ResultSet一同关闭，<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *在其他地方没法正确读出结果集<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (parms[i].getType() != OracleTypes.CURSOR) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result[i] = cstmt.getObject(parms[i].getIndex());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OracleCachedRowSet ocrs = new OracleCachedRowSet();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ResultSet rs = null;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //取出ResutltSet对象<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs = (ResultSet)(cstmt.getObject(parms[i].getIndex()));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //写到OracleCachedRowSet对象<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ocrs.populate(rs);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //关闭ResultSet<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //把对象添加到数组<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result[i] = (Object)ocrs;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //判断结束<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;&nbsp;&nbsp;//如果不是出参，执行下次循环<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return result;<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;executeProcedureObject方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; finally {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (cstmt != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cstmt.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (conn != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;executeProcedureObject方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp; }</p>
<p>&nbsp; /**<br/>&nbsp;&nbsp; * <br/>&nbsp;&nbsp; * @param cmdtext SQL语句<br/>&nbsp;&nbsp; * @param name 列名<br/>&nbsp;&nbsp; * @param parms OracleParameter[]<br/>&nbsp;&nbsp; * @return Object<br/>&nbsp;&nbsp; * @throws Exception<br/>&nbsp;&nbsp; */<br/>&nbsp; public static Object executeSqlObject(String cmdtext, String name,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter[] parms) throws Exception {<br/>&nbsp;&nbsp;&nbsp; PreparedStatement pstmt = null;<br/>&nbsp;&nbsp;&nbsp; Connection conn = null;<br/>&nbsp;&nbsp;&nbsp; ResultSet rs = null;</p>
<p>&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn = ConnectMgr.getConnect();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt = conn.prepareStatement(cmdtext);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prepareCommand(pstmt, parms);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs = pstmt.executeQuery();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (rs.next()) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return rs.getObject(name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;executeSqlObject方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; finally {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (rs != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pstmt != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (conn != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;executeSqlObject方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp; }</p>
<p>&nbsp; /**<br/>&nbsp;&nbsp; * <br/>&nbsp;&nbsp; * @param cmdtext SQL语句<br/>&nbsp;&nbsp; * @param index 列名索引<br/>&nbsp;&nbsp; * @param parms OracleParameter[]<br/>&nbsp;&nbsp; * @return Object<br/>&nbsp;&nbsp; * @throws Exception<br/>&nbsp;&nbsp; */<br/>&nbsp; public static Object executeSqlObject(String cmdtext, int index,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter[] parms) throws Exception {<br/>&nbsp;&nbsp;&nbsp; PreparedStatement pstmt = null;<br/>&nbsp;&nbsp;&nbsp; Connection conn = null;<br/>&nbsp;&nbsp;&nbsp; ResultSet rs = null;</p>
<p>&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn = ConnectMgr.getConnect();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt = conn.prepareStatement(cmdtext);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prepareCommand(pstmt, parms);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs = pstmt.executeQuery();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (rs.next()) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return rs.getObject(index);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;executeSqlObject方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; finally {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (rs != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pstmt != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (conn != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new Exception(&quot;executeSqlObject方法出错:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp; }</p>
<p>&nbsp; /**<br/>&nbsp;&nbsp; * @param pstmt<br/>&nbsp;&nbsp; * @param cmdtext<br/>&nbsp;&nbsp; * @param parms Object[]<br/>&nbsp;&nbsp; * @throws Exception<br/>&nbsp;&nbsp; */<br/>&nbsp; private static void prepareCommand(PreparedStatement pstmt, Object[] parms)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throws Exception {<br/>&nbsp;&nbsp;&nbsp; int count = parms.length;<br/>&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; count; i++) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter[] op;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; op = (OracleParameter[]) parms[i];<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prepareCommand(pstmt, op);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt.addBatch();<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp; }</p>
<p>&nbsp; /**<br/>&nbsp;&nbsp; * <br/>&nbsp;&nbsp; * @param pstmt<br/>&nbsp;&nbsp; * @param parms<br/>&nbsp;&nbsp; * @throws Exception<br/>&nbsp;&nbsp; */<br/>&nbsp; private static void prepareCommand(PreparedStatement pstmt,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter[] parms) throws Exception {<br/>&nbsp;&nbsp;&nbsp; if (parms == null) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br/>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; int count;<br/>&nbsp;&nbsp;&nbsp; count = parms.length;</p>
<p>&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; count; i++) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter op = new OracleParameter();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; op = parms[i];</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt.setObject(op.getIndex(), op.getValue());<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp; }</p>
<p>&nbsp; /**<br/>&nbsp;&nbsp; * <br/>&nbsp;&nbsp; * @param cstmt<br/>&nbsp;&nbsp; * @param parms<br/>&nbsp;&nbsp; * @throws Exception<br/>&nbsp;&nbsp; */<br/>&nbsp; private static void prepareCommand(CallableStatement cstmt,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter[] parms) throws Exception {<br/>&nbsp;&nbsp;&nbsp; if (parms == null) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br/>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; int count;<br/>&nbsp;&nbsp;&nbsp; count = parms.length;</p>
<p>&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; count; i++) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter op = new OracleParameter();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; op = parms[i];</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (op.getInorout().compareToIgnoreCase(&quot;OUT&quot;) &gt;= 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cstmt.registerOutParameter(op.getIndex(), op.getType());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cstmt.setObject(op.getIndex(), op.getValue());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; catch (Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(e.getMessage());<br/>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp; }</p>
<p>&nbsp; public static void main(String[] args) throws Exception {<br/>&nbsp;&nbsp;&nbsp; /*<br/>&nbsp;&nbsp;&nbsp;&nbsp; //测试1<br/>&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter[] parms;<br/>&nbsp;&nbsp;&nbsp;&nbsp; parms = new OracleParameter[] {<br/>&nbsp;&nbsp;&nbsp;&nbsp; new OracleParameter(1,&quot;4&quot;)<br/>&nbsp;&nbsp;&nbsp;&nbsp; };<br/>&nbsp;&nbsp;&nbsp;&nbsp; OracleHelper.executeNonQuery(1,&quot;insert into SYS_CONFIG(name) values(?)&quot;,parms);<br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; //测试2<br/>&nbsp;&nbsp;&nbsp;&nbsp; Object[] parms;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter[] op1;<br/>&nbsp;&nbsp;&nbsp;&nbsp; op1 = new OracleParameter[] {<br/>&nbsp;&nbsp;&nbsp;&nbsp; new OracleParameter(1,&quot;4&quot;)<br/>&nbsp;&nbsp;&nbsp;&nbsp; };<br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter[] op2;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; op2 = new OracleParameter[] {<br/>&nbsp;&nbsp;&nbsp;&nbsp; new OracleParameter(1,&quot;5&quot;)<br/>&nbsp;&nbsp;&nbsp;&nbsp; };<br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; OracleParameter[] op3;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; op3 = new OracleParameter[] {<br/>&nbsp;&nbsp;&nbsp;&nbsp; new OracleParameter(1,&quot;6&quot;)<br/>&nbsp;&nbsp;&nbsp;&nbsp; };<br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; parms = new Object[] {<br/>&nbsp;&nbsp;&nbsp;&nbsp; op1,op2,op3<br/>&nbsp;&nbsp;&nbsp;&nbsp; };&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; String sql =&nbsp; &quot;insert into SYS_CONFIG(NAME) VALUES(?)&quot;;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; OracleHelper.executeNonQuery(sql,parms);<br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; //测试3<br/>&nbsp;&nbsp;&nbsp;&nbsp; Object o = OracleHelper.executeSqlObject(&quot;select name from SYS_CONFIG &quot;,&quot;name&quot;,null);<br/>&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(o);<br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; //测试4<br/>&nbsp;&nbsp;&nbsp; Object[] o;<br/>&nbsp;&nbsp;&nbsp; OracleParameter[] parms;<br/>&nbsp;&nbsp;&nbsp; parms = new OracleParameter[] {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new OracleParameter(1, &quot;1&quot;),<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new OracleParameter(2, java.sql.Types.VARCHAR) <br/>&nbsp;&nbsp;&nbsp; };</p>
<p>&nbsp;&nbsp;&nbsp; o = OracleHelper.executeProcedureObject(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;{call USP_SYS_CONFIG_GETVALUE(?,?)}&quot;, parms);</p>
<p>&nbsp;&nbsp;&nbsp; if (o != null) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(o[1].toString());<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; else {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;null&quot;);<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; */<br/>&nbsp; }<br/>}</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/utilities/archive/2005/12/19/663555.aspx/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>java调用oracle返回结果集</title>
		<link>http://blog.donews.com/utilities/archive/2005/12/13/656346.aspx</link>
		<comments>http://blog.donews.com/utilities/archive/2005/12/13/656346.aspx#comments</comments>
		<pubDate>Tue, 13 Dec 2005 04:34:00 +0000</pubDate>
		<dc:creator>幸福人生</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://blog.donews.com/utilities/archive/2005/12/13/656346.aspx</guid>
		<description><![CDATA[<p>oracle包：</p><p>create or replace package pkg_wt is<br/>&#160; type rowset is ref cursor;<br/>&#160; <br/>&#160; procedure getdata(rs out rowset);<br/>end pkg_wt;</p><p>create or replace package body pkg_wt is<br/>&#160; procedure getdata(rs out rowset)<br/>&#160; is<br/>&#160; begin<br/>&#160;&#160;&#160; open rs for 'select * from sys_option';<br/>&#160; end;<br/>begin<br/>&#160; null;<br/>end pkg_wt;<br/>jsp页面：</p><p>&#60;%@ page contentType=&#34;text/html;charset=gbk&#34;%&#62;<br/>&#60;%@ ]]></description>
			<content:encoded><![CDATA[<p>oracle包：</p>
<p>create or replace package pkg_wt is<br/>&nbsp; type rowset is ref cursor;<br/>&nbsp; <br/>&nbsp; procedure getdata(rs out rowset);<br/>end pkg_wt;</p>
<p>create or replace package body pkg_wt is<br/>&nbsp; procedure getdata(rs out rowset)<br/>&nbsp; is<br/>&nbsp; begin<br/>&nbsp;&nbsp;&nbsp; open rs for &#8217;select * from sys_option&#8217;;<br/>&nbsp; end;<br/>begin<br/>&nbsp; null;<br/>end pkg_wt;<br/>jsp页面：</p>
<p>&lt;%@ page contentType=&quot;text/html;charset=gbk&quot;%&gt;<br/>&lt;%@ page import=&quot;java.sql.CallableStatement&quot;%&gt;<br/>&lt;%@ page import=&quot;java.sql.ResultSet&quot;%&gt;<br/>&lt;%@ page import=&quot;java.sql.Connection&quot;%&gt;<br/>&lt;%@ page import=&quot;java.sql.DriverManager&quot;%&gt;<br/>&lt;%@ page import=&quot;cn.com.taxware.jsptest.Global&quot;%&gt;<br/>&lt;%<br/>String path = request.getContextPath();<br/>String basePath = request.getScheme()+&quot;://&quot;+request.getServerName()+&quot;:&quot;+request.getServerPort()+path+&quot;/&quot;;<br/>%&gt;</p>
<p>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;<br/>&lt;html&gt;<br/>&lt;head&gt;<br/>&lt;base href=&quot;&lt;%=basePath%&gt;&quot;&gt;</p>
<p>&lt;title&gt;My JSP &#8216;oraclepackage.jsp&#8217; starting page&lt;/title&gt;</p>
<p>&lt;meta http-equiv=&quot;pragma&quot; content=&quot;no-cache&quot;&gt;<br/>&lt;meta http-equiv=&quot;cache-control&quot; content=&quot;no-cache&quot;&gt;<br/>&lt;meta http-equiv=&quot;expires&quot; content=&quot;0&quot;&gt;<br/>&lt;meta http-equiv=&quot;keywords&quot; content=&quot;keyword1,keyword2,keyword3&quot;&gt;<br/>&lt;meta http-equiv=&quot;description&quot; content=&quot;This is my page&quot;&gt;<br/>&lt;!&#8211;<br/>&nbsp;&nbsp;&nbsp; &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;styles.css&quot;&gt;<br/>&nbsp;&nbsp;&nbsp; &#8211;&gt;<br/>&lt;/head&gt;</p>
<p>&lt;body&gt;<br/>This is my JSP page.<br/>&lt;br&gt;<br/>&lt;table align=&quot;center&quot; width=&quot;770&quot; border=1&gt;<br/>&nbsp;&lt;tr&gt;<br/>&nbsp;&nbsp;&lt;td&gt;名称&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;td&gt;解释&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;td&gt;值&lt;/td&gt;<br/>&nbsp;&lt;/tr&gt;<br/>&nbsp;&lt;%<br/>&nbsp;&nbsp;&nbsp; Connection conn = null;<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Class.forName(Global.DBDriver);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; DriverManager.setLoginTimeout(Integer.parseInt(Global.DBTimeOut));<br/>&nbsp;&nbsp;&nbsp;&nbsp; conn = DriverManager.getConnection(Global.DBUrl);<br/>&nbsp;&nbsp;&nbsp;&nbsp; conn.setAutoCommit(false);<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; CallableStatement cstmt;<br/>&nbsp;&nbsp;&nbsp;&nbsp; cstmt = conn.prepareCall(&quot;{call pkg_wt.getdata(?)}&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp; cstmt.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);<br/>&nbsp;&nbsp;&nbsp;&nbsp; //cstmt.registerOutParameter(2,oracle.jdbc.OracleTypes.VARCHAR);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; cstmt.execute();<br/>&nbsp;&nbsp;&nbsp;&nbsp; ResultSet rs = (ResultSet)cstmt.getObject(1);<br/>&nbsp;&nbsp;&nbsp;&nbsp; //oracle.jdbc.OracleResultSet rs = (oracle.jdbc.OracleResultSet)cstmt.getObject(1);<br/>&nbsp;&nbsp;&nbsp;&nbsp; while (rs.next()) {<br/>&nbsp;&nbsp;&nbsp;&nbsp; %&gt;<br/>&nbsp;&lt;tr&gt;<br/>&nbsp;&nbsp;&lt;td&gt;&lt;%= rs.getString(&quot;name&quot;) %&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;td&gt;&lt;%= rs.getString(&quot;note&quot;) %&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;td&gt;&lt;%= rs.getString(&quot;nowvalue&quot;) %&gt;&lt;/td&gt;<br/>&nbsp;&lt;/tr&gt;<br/>&nbsp;&lt;%<br/>&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp; rs.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp; cstmt.close();<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; catch(Exception e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println(&quot;出错提示:&quot; + e.getMessage());<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; finally {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (conn != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch(Exception e) {}<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; %&gt;<br/>&lt;/table&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/utilities/archive/2005/12/13/656346.aspx/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>密码终于找到，本站从今日继续更新</title>
		<link>http://blog.donews.com/utilities/archive/2004/03/24/8498.aspx</link>
		<comments>http://blog.donews.com/utilities/archive/2004/03/24/8498.aspx#comments</comments>
		<pubDate>Wed, 24 Mar 2004 08:52:00 +0000</pubDate>
		<dc:creator>幸福人生</dc:creator>
				<category><![CDATA[随想]]></category>

		<guid isPermaLink="false">http://blog.donews.com/utilities/archive/2004/03/24/8498.aspx</guid>
		<description><![CDATA[高兴中。。。。
]]></description>
			<content:encoded><![CDATA[<p>高兴中。。。。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/utilities/archive/2004/03/24/8498.aspx/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>得到程序的http根路径，支持端口号</title>
		<link>http://blog.donews.com/utilities/archive/2004/02/13/3125.aspx</link>
		<comments>http://blog.donews.com/utilities/archive/2004/02/13/3125.aspx#comments</comments>
		<pubDate>Fri, 13 Feb 2004 02:45:00 +0000</pubDate>
		<dc:creator>幸福人生</dc:creator>
				<category><![CDATA[dotnet]]></category>

		<guid isPermaLink="false">http://blog.donews.com/utilities/archive/2004/02/13/3125.aspx</guid>
		<description><![CDATA[&#160;&#160;&#160;#region 得到程序的http根路径&#160;&#160;&#160;string sPrefix;
&#160;&#160;&#160;sPrefix = @&#8221;http://&#8221; + Context.Request.Url.Host;
&#160;&#160;&#160;//判断在iis中是否用了其他端口号&#160;&#160;&#160;if (Context.Request.Url.Port != 80)&#160;&#160;&#160;{&#160;&#160;&#160;&#160;sPrefix = @sPrefix + &#8220;:&#8221; + Context.Request.Url.Port.ToString() + &#8220;/&#8221;;&#160;&#160;&#160;}
&#160;&#160;&#160;//判断是否有虚拟目录&#160;&#160;&#160;if (Context.Request.ApplicationPath != &#8220;/&#8221;)&#160;&#160;&#160;{&#160;&#160;&#160;&#160;sPrefix = @sPrefix + Context.Request.ApplicationPath + &#8220;/&#8221;;&#160;&#160;&#160;}
&#160;&#160;&#160;#endregion
]]></description>
			<content:encoded><![CDATA[<p><P>&nbsp;&nbsp;&nbsp;#region 得到程序的http根路径<BR>&nbsp;&nbsp;&nbsp;string sPrefix;</P><br />
<P>&nbsp;&nbsp;&nbsp;sPrefix = @&#8221;http://&#8221; + Context.Request.Url.Host;</P><br />
<P>&nbsp;&nbsp;&nbsp;//判断在iis中是否用了其他端口号<BR>&nbsp;&nbsp;&nbsp;if (Context.Request.Url.Port != 80)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;sPrefix = @sPrefix + &#8220;:&#8221; + Context.Request.Url.Port.ToString() + &#8220;/&#8221;;<BR>&nbsp;&nbsp;&nbsp;}</P><br />
<P>&nbsp;&nbsp;&nbsp;//判断是否有虚拟目录<BR>&nbsp;&nbsp;&nbsp;if (Context.Request.ApplicationPath != &#8220;/&#8221;)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;sPrefix = @sPrefix + Context.Request.ApplicationPath + &#8220;/&#8221;;<BR>&nbsp;&nbsp;&nbsp;}</P><br />
<P>&nbsp;&nbsp;&nbsp;#endregion</P></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/utilities/archive/2004/02/13/3125.aspx/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>得到当前页面的相对路径</title>
		<link>http://blog.donews.com/utilities/archive/2004/02/13/3124.aspx</link>
		<comments>http://blog.donews.com/utilities/archive/2004/02/13/3124.aspx#comments</comments>
		<pubDate>Fri, 13 Feb 2004 02:44:00 +0000</pubDate>
		<dc:creator>幸福人生</dc:creator>
				<category><![CDATA[dotnet]]></category>

		<guid isPermaLink="false">http://blog.donews.com/utilities/archive/2004/02/13/3124.aspx</guid>
		<description><![CDATA[&#160;&#160;/// &#60;summary&#62;&#160;&#160;/// 得到当前页面的相对路径，支持目录结构。结果全部为小写。如:default.aspx,base/default.aspx&#160;&#160;/// &#60;/summary&#62;&#160;&#160;/// &#60;returns&#62;&#60;/returns&#62;&#160;&#160;protected string GetUrlPath()&#160;&#160;{&#160;&#160;&#160;string sPageUrl = Request.Url.AbsoluteUri.ToLower().Replace(crm.SystemFramework.ApplicationConfiguration.Prefix,&#8221;");&#160;&#160;&#160;int iPos;&#160;&#160;&#160;iPos = sPageUrl.IndexOf(&#8220;?&#8221;);&#160;&#160;&#160;if (iPos &#62; 0)&#160;&#160;&#160;{&#160;&#160;&#160;&#160;sPageUrl = sPageUrl.Substring(0,iPos);&#160;&#160;&#160;}
&#160;&#160;&#160;return sPageUrl;&#160;&#160;}
]]></description>
			<content:encoded><![CDATA[<p><P>&nbsp;&nbsp;/// &lt;summary&gt;<BR>&nbsp;&nbsp;/// 得到当前页面的相对路径，支持目录结构。结果全部为小写。如:default.aspx,base/default.aspx<BR>&nbsp;&nbsp;/// &lt;/summary&gt;<BR>&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<BR>&nbsp;&nbsp;protected string GetUrlPath()<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;string sPageUrl = Request.Url.AbsoluteUri.ToLower().Replace(crm.SystemFramework.ApplicationConfiguration.Prefix,&#8221;");<BR>&nbsp;&nbsp;&nbsp;int iPos;<BR>&nbsp;&nbsp;&nbsp;iPos = sPageUrl.IndexOf(&#8220;?&#8221;);<BR>&nbsp;&nbsp;&nbsp;if (iPos &gt; 0)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;sPageUrl = sPageUrl.Substring(0,iPos);<BR>&nbsp;&nbsp;&nbsp;}</P><br />
<P>&nbsp;&nbsp;&nbsp;return sPageUrl;<BR>&nbsp;&nbsp;}</P></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/utilities/archive/2004/02/13/3124.aspx/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>转眼又是星期五</title>
		<link>http://blog.donews.com/utilities/archive/2004/02/13/3115.aspx</link>
		<comments>http://blog.donews.com/utilities/archive/2004/02/13/3115.aspx#comments</comments>
		<pubDate>Fri, 13 Feb 2004 08:44:00 +0000</pubDate>
		<dc:creator>幸福人生</dc:creator>
				<category><![CDATA[随想]]></category>

		<guid isPermaLink="false">http://blog.donews.com/utilities/archive/2004/02/13/3115.aspx</guid>
		<description><![CDATA[时间过得真快，做这个crm项目已经两个月了，还需要一段时间，努力中。
]]></description>
			<content:encoded><![CDATA[<p>时间过得真快，做这个crm项目已经两个月了，还需要一段时间，努力中。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/utilities/archive/2004/02/13/3115.aspx/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>检测含有中文字符串的实际长度</title>
		<link>http://blog.donews.com/utilities/archive/2004/02/11/3006.aspx</link>
		<comments>http://blog.donews.com/utilities/archive/2004/02/11/3006.aspx#comments</comments>
		<pubDate>Wed, 11 Feb 2004 06:42:00 +0000</pubDate>
		<dc:creator>幸福人生</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://blog.donews.com/utilities/archive/2004/02/11/3006.aspx</guid>
		<description><![CDATA[




在ASP技术里我整理了一篇检测含有中文字符串的实际长度的文章.同样在ASP.NET里也很容易得到它的长度.解决办法如下,str为要检测的字符串:ASCIIEncoding n = new ASCIIEncoding();byte[] b = n.GetBytes(str);int l = 0;&#160; // l 为字符串之实际长度for (int i=0;i &#60;= b.Length-1;i++){&#160;&#160;&#160; if (b[i] ==63)&#160; //判断是否为汉字或全脚符号&#160;&#160;&#160; {&#160;&#160;&#160;&#160;&#160;&#160;&#160; l++;&#160;&#160;&#160; }&#160;&#160;&#160; l++;}
&#160;
]]></description>
			<content:encoded><![CDATA[<p><TABLE width="50%" align=right border=0><br />
<TBODY><br />
<TR><br />
<TD width="100%" height=10><br />
<SCRIPT language=javascript src="http://usms.tom.com/wlqy_flash.js?tomuserid=9247"></SCRIPT><br />
</TD></TR></TBODY></TABLE>在ASP技术里我整理了一篇检测含有中文字符串的实际长度的文章.同样在ASP.NET里也很容易得到它的长度.<BR>解决办法如下,str为要检测的字符串:<BR>ASCIIEncoding n = new ASCIIEncoding();<BR>byte[] b = n.GetBytes(str);<BR>int l = 0;&nbsp; // l 为字符串之实际长度<BR>for (int i=0;i &lt;= b.Length-1;i++)<BR>{<BR>&nbsp;&nbsp;&nbsp; if (b[i] ==63)&nbsp; //判断是否为汉字或全脚符号<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l++;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; l++;<BR>}<BR><br />
<P><STRONG></STRONG>&nbsp;</P></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/utilities/archive/2004/02/11/3006.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

