<?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>睡到25点 &#187; JScript</title>
	<atom:link href="http://www.voidman.com/tag/jscript/feed" rel="self" type="application/rss+xml" />
	<link>http://www.voidman.com</link>
	<description>个人博客，记录与分享。</description>
	<lastBuildDate>Thu, 12 Jan 2012 14:00:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>JScript 仿 PHP 操作 SQL Server</title>
		<link>http://www.voidman.com/2006/01/jscript-dbclass-for-sql-server-php-style.html</link>
		<comments>http://www.voidman.com/2006/01/jscript-dbclass-for-sql-server-php-style.html#comments</comments>
		<pubDate>Fri, 13 Jan 2006 06:30:25 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[JScript]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.voidman.com/2008/02/jscript-dbclass-for-sql-server-php-style/</guid>
		<description><![CDATA[原先在php下写了个操作数据库的类，用jscript又重写了一遍。 // Sample var db = new dbstuff&#40;&#41;; db.connect&#40;dbserver, dbuser, dbpwd, dbname&#41;; &#160; var sql = &#34;SELECT @@VERSION as dbv&#34;; var query = db.query&#40;sql&#41;; while&#40;arr = db.fetch_array&#40;query&#41;&#41;&#123; echo&#40;arr&#91;&#34;dbv&#34;&#93;&#41;; &#125; db.close&#40;&#41;; function dbstuff&#40;&#41;&#123; /////////////////// // Attributes /////////////////// // Private var conn &#8230; <a href="http://www.voidman.com/2006/01/jscript-dbclass-for-sql-server-php-style.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>原先在php下写了个操作数据库的类，用jscript又重写了一遍。</p>

<div class="wp_syntax"><pre class="javascript"><span style="color: #008000; font-style: italic;">// Sample</span>
<span style="color: blue;">var</span> db = <span style="color: blue;">new</span> dbstuff<span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
db.<span style="">connect</span><span style="color: #800000;">&#40;</span>dbserver, dbuser, dbpwd, dbname<span style="color: #800000;">&#41;</span>;
&nbsp;
<span style="color: blue;">var</span> sql = <span style="color: #ff00ff;">&quot;SELECT @@VERSION as dbv&quot;</span>;
<span style="color: blue;">var</span> query = db.<span style="">query</span><span style="color: #800000;">&#40;</span>sql<span style="color: #800000;">&#41;</span>;
<span style="color: blue;">while</span><span style="color: #800000;">&#40;</span>arr = db.<span style="">fetch_array</span><span style="color: #800000;">&#40;</span>query<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
  echo<span style="color: #800000;">&#40;</span>arr<span style="color: #800000;">&#91;</span><span style="color: #ff00ff;">&quot;dbv&quot;</span><span style="color: #800000;">&#93;</span><span style="color: #800000;">&#41;</span>;
<span style="color: #800000;">&#125;</span>
db.<span style="">close</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;</pre></div>

<p><span id="more-128"></span></p>

<div class="wp_syntax"><pre class="javascript"><span style="color: blue;">function</span> dbstuff<span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
  <span style="color: #008000; font-style: italic;">///////////////////</span>
  <span style="color: #008000; font-style: italic;">// Attributes</span>
  <span style="color: #008000; font-style: italic;">///////////////////</span>
  <span style="color: #008000; font-style: italic;">// Private</span>
  <span style="color: blue;">var</span> conn = Server.<span style="">CreateObject</span><span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;ADODB.Connection&quot;</span><span style="color: #800000;">&#41;</span>;
  <span style="color: #008000; font-style: italic;">// Public</span>
  <span style="color: blue;">this</span>.<span style="">state</span> = <span style="color: blue;">false</span>;
  <span style="color: blue;">this</span>.<span style="">recordcount</span> = <span style="color: #800080;">-1</span>;
  <span style="color: blue;">this</span>.<span style="">querynum</span> = <span style="color: #800080;">0</span>;
  <span style="color: #008000; font-style: italic;">///////////////////</span>
  <span style="color: #008000; font-style: italic;">// Methods</span>
  <span style="color: #008000; font-style: italic;">///////////////////</span>
  <span style="color: #008000; font-style: italic;">// Open a new connection to the MSSQL server</span>
  <span style="color: blue;">this</span>.<span style="">connect</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span>dbserver, dbuser, dbpwd, dbname<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    <span style="color: blue;">try</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span><span style="color: blue;">this</span>.<span style="">state</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
        conn.<span style="">Close</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
        <span style="color: blue;">this</span>.<span style="">state</span> = <span style="color: blue;">false</span>;
      <span style="color: #800000;">&#125;</span>
      conn.<span style="">CommandTimeout</span> = <span style="color: #800080;">180</span>;
      conn.<span style="">ConnectionString</span> = <span style="color: #ff00ff;">&quot;Provider=SQLOLEDB; Data Source=&quot;</span>+dbserver+<span style="color: #ff00ff;">&quot;; UID=&quot;</span>+dbuser+<span style="color: #ff00ff;">&quot;; PWD=&quot;</span>+dbpwd+<span style="color: #ff00ff;">&quot;;Initial Catalog=&quot;</span>+dbname;
      conn.<span style="">Open</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span><span style="color: blue;">catch</span><span style="color: #800000;">&#40;</span>e<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      die<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;Can not connect to Database Server.&quot;</span><span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">this</span>.<span style="">state</span> = <span style="color: blue;">true</span>;
  <span style="color: #800000;">&#125;</span>
&nbsp;
  <span style="color: #008000; font-style: italic;">// Performs a query on the database</span>
  <span style="color: blue;">this</span>.<span style="">query</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span>sql<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    <span style="color: blue;">try</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">var</span> query = conn.<span style="">Execute</span><span style="color: #800000;">&#40;</span>sql<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span><span style="color: blue;">catch</span><span style="color: #800000;">&#40;</span>e<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      die<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;Database Query Error.&quot;</span>, e, sql<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">this</span>.<span style="">querynum</span>++;
    <span style="color: blue;">return</span> query;
  <span style="color: #800000;">&#125;</span>
&nbsp;
  <span style="color: #008000; font-style: italic;">// Fetch a result row as an associative array</span>
  <span style="color: blue;">this</span>.<span style="">fetch_array</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span>rs, freeresult<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span><span style="color: blue;">return</span> <span style="color: blue;">false</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">try</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs.<span style="">State</span> != <span style="color: #800080;">1</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span><span style="color: blue;">return</span> <span style="color: blue;">false</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: #800000;">&#125;</span><span style="color: blue;">catch</span><span style="color: #800000;">&#40;</span>e<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      die<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;Fetch Data Error.&quot;</span>, e<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>!rs.<span style="">EOF</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">var</span> arr = <span style="color: blue;">new</span> Array<span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
      <span style="color: blue;">var</span> colums = rs.<span style="">Fields</span>.<span style="">Count</span>;
      <span style="color: blue;">var</span> i, fld;
      <span style="color: blue;">for</span><span style="color: #800000;">&#40;</span>i=<span style="color: #800080;">0</span>; i &lt; colums; i++<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
        arr<span style="color: #800000;">&#91;</span>rs.<span style="">Fields</span><span style="color: #800000;">&#40;</span>i<span style="color: #800000;">&#41;</span>.<span style="">Name</span>.<span style="">toLowerCase</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#93;</span> = rs.<span style="">Fields</span><span style="color: #800000;">&#40;</span>i<span style="color: #800000;">&#41;</span>.<span style="">Value</span>;
      <span style="color: #800000;">&#125;</span>
      rs.<span style="">MoveNext</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
      <span style="color: blue;">return</span> arr;
    <span style="color: #800000;">&#125;</span><span style="color: blue;">else</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>freeresult == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
        <span style="color: blue;">this</span>.<span style="">free_result</span><span style="color: #800000;">&#40;</span>rs<span style="color: #800000;">&#41;</span>;
      <span style="color: #800000;">&#125;</span>
      <span style="color: blue;">return</span> <span style="color: blue;">false</span>;
    <span style="color: #800000;">&#125;</span>
  <span style="color: #800000;">&#125;</span>
&nbsp;
  <span style="color: #008000; font-style: italic;">// Fetch a result row as enumerated array</span>
  <span style="color: blue;">this</span>.<span style="">fetch_row</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span>rs, freeresult<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span><span style="color: blue;">return</span> <span style="color: blue;">false</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">try</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs.<span style="">State</span> != <span style="color: #800080;">1</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span><span style="color: blue;">return</span> <span style="color: blue;">false</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: #800000;">&#125;</span><span style="color: blue;">catch</span><span style="color: #800000;">&#40;</span>e<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      die<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;Fetch Data Error.&quot;</span>, e<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>!rs.<span style="">EOF</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">var</span> arr = <span style="color: blue;">new</span> Array<span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
      <span style="color: blue;">var</span> colums = rs.<span style="">Fields</span>.<span style="">Count</span>;
      <span style="color: blue;">for</span><span style="color: #800000;">&#40;</span><span style="color: blue;">var</span> i=<span style="color: #800080;">0</span>; i &lt; colums; i++<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
        arr<span style="color: #800000;">&#91;</span>i<span style="color: #800000;">&#93;</span> = rs.<span style="">Fields</span><span style="color: #800000;">&#40;</span>i<span style="color: #800000;">&#41;</span>.<span style="">Value</span>;
      <span style="color: #800000;">&#125;</span>
      rs.<span style="">MoveNext</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
      <span style="color: blue;">return</span> arr;
    <span style="color: #800000;">&#125;</span><span style="color: blue;">else</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>freeresult == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
        <span style="color: blue;">this</span>.<span style="">free_result</span><span style="color: #800000;">&#40;</span>rs<span style="color: #800000;">&#41;</span>;
      <span style="color: #800000;">&#125;</span>
      <span style="color: blue;">return</span> <span style="color: blue;">false</span>;
    <span style="color: #800000;">&#125;</span>
  <span style="color: #800000;">&#125;</span>
&nbsp;
  <span style="color: #008000; font-style: italic;">// Fetch all result rows as associative array </span>
  <span style="color: blue;">this</span>.<span style="">fetch_all</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span>rs, freeresult<span style="color: #800000;">&#41;</span> <span style="color: #800000;">&#123;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span><span style="color: blue;">return</span> <span style="color: blue;">false</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">try</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs.<span style="">State</span> != <span style="color: #800080;">1</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span><span style="color: blue;">return</span> <span style="color: blue;">false</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: #800000;">&#125;</span><span style="color: blue;">catch</span><span style="color: #800000;">&#40;</span>e<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      die<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;Fetch Data Error.&quot;</span>, e<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">var</span> arr = <span style="color: blue;">new</span> Array<span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
    <span style="color: blue;">var</span> colums = rs.<span style="">Fields</span>.<span style="">Count</span>;
    <span style="color: blue;">var</span> rows = <span style="color: #800080;">0</span>;
    <span style="color: blue;">var</span> i;
    <span style="color: blue;">while</span><span style="color: #800000;">&#40;</span>!rs.<span style="">EOF</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      arr<span style="color: #800000;">&#91;</span>rows<span style="color: #800000;">&#93;</span> = <span style="color: blue;">new</span> Array<span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
      <span style="color: blue;">for</span><span style="color: #800000;">&#40;</span>i=<span style="color: #800080;">0</span>; i &lt; colums; i++<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
        arr<span style="color: #800000;">&#91;</span>rows<span style="color: #800000;">&#93;</span><span style="color: #800000;">&#91;</span>rs.<span style="">Fields</span><span style="color: #800000;">&#40;</span>i<span style="color: #800000;">&#41;</span>.<span style="">Name</span>.<span style="">toLowerCase</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#93;</span> = rs.<span style="">Fields</span><span style="color: #800000;">&#40;</span>i<span style="color: #800000;">&#41;</span>.<span style="">Value</span>;
      <span style="color: #800000;">&#125;</span>
      rows++;
      rs.<span style="">MoveNext</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>freeresult == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">this</span>.<span style="">free_result</span><span style="color: #800000;">&#40;</span>rs<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">return</span> arr;
  <span style="color: #800000;">&#125;</span>
&nbsp;
  <span style="color: #008000; font-style: italic;">// Open recordset</span>
  <span style="color: blue;">this</span>.<span style="">recordset</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span>sql, cursortype, locktype<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>cursortype == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>cursortype = <span style="color: #800080;">3</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>locktype == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>locktype = <span style="color: #800080;">3</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">try</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">var</span> rs = Server.<span style="">CreateObject</span><span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;ADODB.RecordSet&quot;</span><span style="color: #800000;">&#41;</span>;
      rs.<span style="">CursorLocation</span> = <span style="color: #800080;">3</span>;
      rs.<span style="">Open</span><span style="color: #800000;">&#40;</span>sql, conn, cursortype, locktype<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span><span style="color: blue;">catch</span><span style="color: #800000;">&#40;</span>e<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      die<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;Database Query Error.&quot;</span>, e, sql<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">this</span>.<span style="">querynum</span>++;
    <span style="color: blue;">return</span> rs;
  <span style="color: #800000;">&#125;</span>
&nbsp;
  <span style="color: #008000; font-style: italic;">// Fetch all result rows in one page as associative array </span>
  <span style="color: blue;">this</span>.<span style="">fetch_page</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span>sql, pagesize, curpage, cursortype, locktype<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>pagesize == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>pagesize = <span style="color: #800080;">20</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>curpage == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>curpage = <span style="color: #800080;">1</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>cursortype == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>cursortype = <span style="color: #800080;">3</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>locktype == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>locktype = <span style="color: #800080;">3</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">try</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">var</span> rs = Server.<span style="">CreateObject</span><span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;ADODB.RecordSet&quot;</span><span style="color: #800000;">&#41;</span>;
      rs.<span style="">CursorLocation</span> = <span style="color: #800080;">3</span>;
      rs.<span style="">CacheSize</span> = pagesize;
      rs.<span style="">Open</span><span style="color: #800000;">&#40;</span>sql, conn, cursortype, locktype<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span><span style="color: blue;">catch</span><span style="color: #800000;">&#40;</span>e<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      die<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;Database Query Error.&quot;</span>, e, sql<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">this</span>.<span style="">querynum</span>++;
&nbsp;
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs.<span style="">State</span> != <span style="color: #800080;">1</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">return</span> <span style="color: blue;">false</span>;
    <span style="color: #800000;">&#125;</span> <span style="color: blue;">else</span> <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs.<span style="">EOF</span> &amp;&amp; rs.<span style="">BOF</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">this</span>.<span style="">recordcount</span> = <span style="color: #800080;">0</span>;
      <span style="color: blue;">return</span> <span style="color: blue;">false</span>;
    <span style="color: #800000;">&#125;</span> <span style="color: blue;">else</span> <span style="color: #800000;">&#123;</span>
      <span style="color: blue;">this</span>.<span style="">recordcount</span> = rs.<span style="">recordcount</span>;
      rs.<span style="">PageSize</span> = pagesize;
      <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>!curpage<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
        curpage = <span style="color: #800080;">1</span>;
      <span style="color: #800000;">&#125;</span><span style="color: blue;">else</span> <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>curpage &gt; rs.<span style="">PageCount</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
        curpage = rs.<span style="">PageCount</span>;
      <span style="color: #800000;">&#125;</span>
      rs.<span style="">AbsolutePage</span> = curpage;
      <span style="color: blue;">var</span> arr = <span style="color: blue;">new</span> Array<span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
      <span style="color: blue;">var</span> colums = rs.<span style="">Fields</span>.<span style="">Count</span>;
      <span style="color: blue;">var</span> i,j;
      <span style="color: blue;">for</span><span style="color: #800000;">&#40;</span>i=<span style="color: #800080;">0</span>; i&lt; pagesize; i++<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
        arr<span style="color: #800000;">&#91;</span>i<span style="color: #800000;">&#93;</span> = <span style="color: blue;">new</span> Array<span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
        <span style="color: blue;">for</span><span style="color: #800000;">&#40;</span>j=<span style="color: #800080;">0</span>; j &lt; colums; j++<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
          arr<span style="color: #800000;">&#91;</span>i<span style="color: #800000;">&#93;</span><span style="color: #800000;">&#91;</span>rs.<span style="">Fields</span><span style="color: #800000;">&#40;</span>j<span style="color: #800000;">&#41;</span>.<span style="">Name</span>.<span style="">toLowerCase</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#93;</span> = rs.<span style="">Fields</span><span style="color: #800000;">&#40;</span>j<span style="color: #800000;">&#41;</span>.<span style="">Value</span>;
        <span style="color: #800000;">&#125;</span>
        rs.<span style="">MoveNext</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
        <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs.<span style="">EOF</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span><span style="color: blue;">break</span>;<span style="color: #800000;">&#125;</span>
      <span style="color: #800000;">&#125;</span>
      <span style="color: blue;">this</span>.<span style="">free_result</span><span style="color: #800000;">&#40;</span>rs<span style="color: #800000;">&#41;</span>;
      <span style="color: blue;">return</span> arr;
    <span style="color: #800000;">&#125;</span>
  <span style="color: #800000;">&#125;</span>
&nbsp;
  <span style="color: #008000; font-style: italic;">// Fetch one field value of a result row</span>
  <span style="color: blue;">this</span>.<span style="">result</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span>rs, row, mixedfld, freeresult<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs == undefined<span style="color: #800000;">&#41;</span> <span style="color: #800000;">&#123;</span><span style="color: blue;">return</span> <span style="color: blue;">false</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">try</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs.<span style="">State</span> != <span style="color: #800080;">1</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span><span style="color: blue;">return</span> <span style="color: blue;">false</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: #800000;">&#125;</span><span style="color: blue;">catch</span><span style="color: #800000;">&#40;</span>e<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      die<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;Fetch Data Error.&quot;</span>, e<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>row == undefined<span style="color: #800000;">&#41;</span> <span style="color: #800000;">&#123;</span>row = <span style="color: #800080;">0</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>mixedfld == undefined<span style="color: #800000;">&#41;</span> <span style="color: #800000;">&#123;</span>mixedfld = <span style="color: #800080;">0</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>freeresult == undefined<span style="color: #800000;">&#41;</span> <span style="color: #800000;">&#123;</span>
      freeresult = <span style="color: blue;">true</span>;
    <span style="color: #800000;">&#125;</span><span style="color: blue;">else</span><span style="color: #800000;">&#123;</span>
      freeresult = <span style="color: blue;">false</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs.<span style="">EOF</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">this</span>.<span style="">free_result</span><span style="color: #800000;">&#40;</span>rs<span style="color: #800000;">&#41;</span>;
      <span style="color: blue;">return</span> <span style="color: blue;">false</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>row<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>rs.<span style="">Move</span><span style="color: #800000;">&#40;</span>row<span style="color: #800000;">&#41;</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">var</span> returnvalue = rs.<span style="">Fields</span><span style="color: #800000;">&#40;</span>mixedfld<span style="color: #800000;">&#41;</span>.<span style="">value</span>;
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>freeresult<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span><span style="color: blue;">this</span>.<span style="">free_result</span><span style="color: #800000;">&#40;</span>rs<span style="color: #800000;">&#41;</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">return</span> returnvalue;
  <span style="color: #800000;">&#125;</span>
&nbsp;
  <span style="color: #008000; font-style: italic;">// Get the number of rows in a result</span>
  <span style="color: blue;">this</span>.<span style="">num_rows</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span>rs<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs == undefined<span style="color: #800000;">&#41;</span> <span style="color: #800000;">&#123;</span><span style="color: blue;">return</span> <span style="color: blue;">false</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">try</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs.<span style="">State</span> != <span style="color: #800080;">1</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span><span style="color: blue;">return</span> <span style="color: blue;">false</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: #800000;">&#125;</span><span style="color: blue;">catch</span><span style="color: #800000;">&#40;</span>e<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      die<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;Fetch Data Error.&quot;</span>, e<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">return</span> rs.<span style="">RecordCount</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
  <span style="color: #800000;">&#125;</span>
&nbsp;
  <span style="color: #008000; font-style: italic;">// Get the number of fields in a result </span>
  <span style="color: blue;">this</span>.<span style="">num_fields</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span>rs<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs == undefined<span style="color: #800000;">&#41;</span> <span style="color: #800000;">&#123;</span><span style="color: blue;">return</span> <span style="color: blue;">false</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">try</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs.<span style="">State</span> != <span style="color: #800080;">1</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span><span style="color: blue;">return</span> <span style="color: blue;">false</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: #800000;">&#125;</span><span style="color: blue;">catch</span><span style="color: #800000;">&#40;</span>e<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      die<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;Fetch Data Error.&quot;</span>, e<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
    <span style="color: blue;">return</span> rs.<span style="">Fields</span>.<span style="">Count</span>;
  <span style="color: #800000;">&#125;</span>
&nbsp;
  <span style="color: #008000; font-style: italic;">// Get the auto generated id used in the last query</span>
  <span style="color: blue;">this</span>.<span style="">insert_id</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    query = <span style="color: blue;">this</span>.<span style="">query</span><span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;SELECT @@IDENTITY&quot;</span><span style="color: #800000;">&#41;</span>;
    <span style="color: blue;">return</span> <span style="color: blue;">this</span>.<span style="">result</span><span style="color: #800000;">&#40;</span>query<span style="color: #800000;">&#41;</span>;
  <span style="color: #800000;">&#125;</span>
&nbsp;
  <span style="color: #008000; font-style: italic;">// Get the number of affected rows in a previous SQL operation</span>
  <span style="color: #008000; font-style: italic;">// It should be called immediately after a SQL operation</span>
  <span style="color: blue;">this</span>.<span style="">affected_rows</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    query = <span style="color: blue;">this</span>.<span style="">query</span><span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;SELECT @@ROWCOUNT&quot;</span><span style="color: #800000;">&#41;</span>;
    <span style="color: blue;">return</span> <span style="color: blue;">this</span>.<span style="">result</span><span style="color: #800000;">&#40;</span>query<span style="color: #800000;">&#41;</span>;
  <span style="color: #800000;">&#125;</span>
  <span style="color: #008000; font-style: italic;">// Get the mssql version</span>
  <span style="color: blue;">this</span>.<span style="">version</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    query = <span style="color: blue;">this</span>.<span style="">query</span><span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;SELECT @@VERSION&quot;</span><span style="color: #800000;">&#41;</span>;
    <span style="color: blue;">return</span> <span style="color: blue;">this</span>.<span style="">result</span><span style="color: #800000;">&#40;</span>query<span style="color: #800000;">&#41;</span>;
  <span style="color: #800000;">&#125;</span>
  <span style="color: #008000; font-style: italic;">// Release resource</span>
  <span style="color: blue;">this</span>.<span style="">free_result</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span>rs<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span><span style="color: blue;">return</span>;<span style="color: #800000;">&#125;</span>
    <span style="color: blue;">try</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>rs.<span style="">State</span> == <span style="color: #800080;">1</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
        rs.<span style="">Close</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
      <span style="color: #800000;">&#125;</span>
      rs = <span style="color: blue;">null</span>;
    <span style="color: #800000;">&#125;</span><span style="color: blue;">catch</span><span style="color: #800000;">&#40;</span>e<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      die<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;Close RecordSet Error.&quot;</span>, e<span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
  <span style="color: #800000;">&#125;</span>
  <span style="color: #008000; font-style: italic;">// Close db connection</span>
  <span style="color: blue;">this</span>.<span style="">close</span> = <span style="color: blue;">function</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span><span style="color: blue;">this</span>.<span style="">state</span><span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      <span style="color: blue;">try</span><span style="color: #800000;">&#123;</span>
        conn.<span style="">Close</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
        conn = <span style="color: blue;">null</span>;
      <span style="color: #800000;">&#125;</span><span style="color: blue;">catch</span><span style="color: #800000;">&#40;</span>e<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
        die<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;Close Database Connection Error.&quot;</span>, e<span style="color: #800000;">&#41;</span>;
      <span style="color: #800000;">&#125;</span>
      <span style="color: blue;">this</span>.<span style="">state</span> = <span style="color: blue;">false</span>;
    <span style="color: #800000;">&#125;</span>
  <span style="color: #800000;">&#125;</span>
<span style="color: #800000;">&#125;</span>
&nbsp;
<span style="color: #008000; font-style: italic;">///////////////////</span>
&nbsp;
<span style="color: blue;">function</span> echo<span style="color: #800000;">&#40;</span>str<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
  Response.<span style="color: blue;">Write</span><span style="color: #800000;">&#40;</span>str+<span style="color: #ff00ff;">&quot;<span style="">\n</span>&quot;</span><span style="color: #800000;">&#41;</span>;
<span style="color: #800000;">&#125;</span>
&nbsp;
<span style="color: blue;">function</span> die<span style="color: #800000;">&#40;</span>errmsg, err<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
  Response.<span style="">Clear</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
  Response.<span style="">CharSet</span> = <span style="color: #ff00ff;">&quot;utf-8&quot;</span>;
  <span style="color: #008000; font-style: italic;">// error message</span>
  <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>errmsg == undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>errmsg=<span style="color: #ff00ff;">&quot;&quot;</span>;<span style="color: #800000;">&#125;</span>
  <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>errmsg<span style="color: #800000;">&#41;</span> echo<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;&lt;p&gt;&quot;</span>+errmsg+<span style="color: #ff00ff;">&quot;&lt;/p&gt;&quot;</span><span style="color: #800000;">&#41;</span>;
  <span style="color: #008000; font-style: italic;">// error detail</span>
  <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>err != undefined<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
    <span style="color: blue;">if</span><span style="color: #800000;">&#40;</span>err.<span style="">constructor</span> == Error<span style="color: #800000;">&#41;</span><span style="color: #800000;">&#123;</span>
      echo<span style="color: #800000;">&#40;</span><span style="color: #ff00ff;">&quot;&lt;p&gt;Error Number: &quot;</span> + String<span style="color: #800000;">&#40;</span>err.<span style="">number</span> &amp; 0xFFFF<span style="color: #800000;">&#41;</span> + <span style="color: #ff00ff;">&quot;&lt;/p&gt;<span style="">\n</span>&lt;p&gt;Error Detail: &quot;</span>+err.<span style="">description</span>+<span style="color: #ff00ff;">&quot;&lt;/p&gt;&quot;</span><span style="color: #800000;">&#41;</span>;
    <span style="color: #800000;">&#125;</span>
  <span style="color: #800000;">&#125;</span>
&nbsp;
  Response.<span style="">End</span><span style="color: #800000;">&#40;</span><span style="color: #800000;">&#41;</span>;
<span style="color: #800000;">&#125;</span></pre></div>

<h4>Related Posts</h4><ul class="related_post"><li><a href="http://www.voidman.com/2005/11/php-operate-sql-server.html" title="PHP 操作 SQL Server">PHP 操作 SQL Server</a></li><li><a href="http://www.voidman.com/2004/12/recording-operation-automatically.html" title="自动记录操作日志">自动记录操作日志</a></li></ul><hr /><a href="http://www.voidman.com">Voidman.com</a> | Link: <a href="http://www.voidman.com/2006/01/jscript-dbclass-for-sql-server-php-style.html">http://www.voidman.com/2006/01/jscript-dbclass-for-sql-server-php-style.html</a><br /><img alt="linezing" width="1" height="1" src="http://img.tongji.linezing.com/288120/tongji.gif" />]]></content:encoded>
			<wfw:commentRss>http://www.voidman.com/2006/01/jscript-dbclass-for-sql-server-php-style.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

