<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title><![CDATA[制造业ERP|物业管理|售楼管理|建筑项目管理|装修装饰管理|银行风险管理|管理软件系统]]></title>
        <image>
        <title>http://hi.baidu.com</title>
        <link>http://hi.baidu.com</link>
        <url>http://img.baidu.com/img/logo-hi.gif</url>
        </image>
<description><![CDATA[网站建设 域名注册 品牌设计 品牌邮箱 智能发群发海外邮件 VI/SI设计   -业务联系QQ:576076775 邮箱:5201310#gmail.com www.5201320.com]]></description>
<link>http://hi.baidu.com/windowweb</link>
<language>zh-cn</language>
<generator>www.baidu.com</generator>
<ttl>5</ttl>


<item>
        <title><![CDATA[企业如何设计更有价值的网站(一站式网络服务商提供)]]></title>
        <link><![CDATA[http://hi.baidu.com/windowweb/blog/item/8626142d25547c3e359bf76d.html]]></link>
        <description><![CDATA[
		
		<p>一站式网络服务商无论在网站的整体设计上,还是在产品的性价比上,都有比较明显的优势.如需要设计网站及相关服务的朋友可以咨询QQ:576076775或者电话:0755-28654676网站:www.oem365.net</p>
<p>其设计主要考虑到几方面:</p>
<p>1&gt;网站的浏览速度.当用户打开你的网站时,如果超过10秒钟的等待,可能用户就会失去耐心了.所以我们建议客户建设网站应该尽量采用文字及小图片和小动画.漂亮的图片及动画虽然能给网站添加不少色彩,但对于浏览速度及搜索引擎就没有太大的优势了.</p>
<p>2&gt;网站的易读性及针对性,当用户打开你的网站时,不知如何使用或者不能从你的网站获取所需信息,这样可能用户会失去信心.所以我们建议客户在做网站时,应该站在用户的角度去想一下,网站是做给用户使用的,不是做给自己使用.更应该明确建设网站的目的,没有目的的建网站倒不如不要建,因为建出来也不知道用来干嘛的.</p>
<p>3&gt;网站的搜索引擎,这一点也是比较重要的,一个好的网站,肯定会考虑到搜索引擎的友好支持.这样才能让用户更快找到你的网站,所以我们建议客户在建设网站时,应该为自己的新网站设置标题(&lt;title&gt;相当重要)、关键词(name=&quot;Keywords&quot;)及关键词描述(name=&quot;Description&quot;),对于关键词及其描述下面简单说一下(关键词的设置主要可以从公司名称、公司域名、公司产品等方面着手,其描述即为对关键词的进一步补充)。<br>
如:一站式网络服务商<a href="http://www.oem365.net/">www.oem365.net</a>的设置如下：<br>
&lt;title&gt;一站式网络服务商-公司网页设计,商务邮箱,公司域名注册,双线空间,美国空间,香港空间,加拿大空间&lt;/title&gt;<br>
&lt;meta name=&quot;Keywords&quot; content=&quot;深圳网站设计,中英文域名注册,外贸邮箱,深圳网站建设,海外空间&quot; /&gt;<br>
&lt;meta name=&quot;Description&quot; content=&quot;一站式网络服务商提供域名注册,企业邮箱,虚拟主机,网站建设,品牌设计,以高端的网站创意设计及优质产品服务社会,并提供深圳,香港,东莞,佛山,中山,顺德,惠州,汕头,潮州,上海,珠海,湖北,武汉,湖南,贵州,广西,江西,山东,河源,重庆,四川,海南,江苏,福建,浙江,天津等全国各地区的网络服务!&quot; /&gt;</p>
<p><br>
4&gt;网站的可管理性,对于产品信息及新闻信息等经常更新的客户,这一点表现得非常明显,一站式网络服务商提供了良好的网站后台管理，对网站的维护可以说是轻而易举了,只要能上网就可以不受时间地点的限制进行网站信息的即时更新.这一点对于动态网站来说是一个最基本的功能，但如果是静态网站（即信息不用经常更新或几乎不更新的网站）我们推荐直接使用静态页(html/htm)就可以了。</p>
<p>其产品主要体现在以下几点:</p>
<p>1&gt;产品质量有保证,都是由国内外著名网络服务商提供,我们从其代理并提供优质服务.几乎所有的优质网络公司产品都是这样.</p>
<p>2&gt;产品多样性,如网站空间有美国空间,加拿大空间,香港空间,国内空间,更有针对性为客户提供完善解决方案,如你的市场针对海外地区的,可以选择美国空间或加拿大空间等</p>
<p>3&gt;产品价格优惠,我们提供的产品均以基本价格给予客户</p>
<p>4&gt;产品可免费试用,我们提供的大多产品都是可以免费试用的,这样可以让客户直接体验产品的性能</p>
<p>5&gt;提供推荐产品给客户,在提供给客户产品的之前,我们都会先根据客户的情况给予有效建议.因为我们知道不同需求的客户,对产品的选择也是不同的.如你的产品主要是销往海外地区的,就应考虑如何让海外用户的操作更方便.</p>
<p>我们的服务观点,是以实现客户满意度为宗旨,我们为客户建设网站,同时也是在借着客户的力量宣传我们.</p> <a href="http://hi.baidu.com/windowweb/blog/item/8626142d25547c3e359bf76d.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/windowweb/blog/category/www%2E5201320%2Ecom">www.5201320.com</a>&nbsp;<a href="http://hi.baidu.com/windowweb/blog/item/8626142d25547c3e359bf76d.html#comment">查看评论</a>]]></description>
        <pubDate>2009-10-13  22:01</pubDate>
        <category><![CDATA[www.5201320.com]]></category>
        <author><![CDATA[windowweb]]></author>
		<guid>http://hi.baidu.com/windowweb/blog/item/8626142d25547c3e359bf76d.html</guid>
</item>

<item>
        <title><![CDATA[ASP與SQL程序過程的學習案例]]></title>
        <link><![CDATA[http://hi.baidu.com/windowweb/blog/item/36dd3df4af480ce67709d70b.html]]></link>
        <description><![CDATA[
		
		<p>ASP与存储过程(Stored Procedures)的文章不少，但是我怀疑作者们是否真正实践过。我在初学时查阅过大量相关资料，发现其中提供的很多方法实际操作起来并不是那么回事。对于简单的应用，这些资料也许是有帮助的，但仅限于此，因为它们根本就是千篇一律，互相抄袭，稍微复杂点的应用，就全都语焉不详了。<br>
&nbsp;&nbsp;&nbsp;&nbsp;  现在，我基本上通过调用存储过程访问SQL Server，以下的文字虽不敢保证绝对正确，但都是实践的总结，希望对大家能有帮助。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。<br>
&nbsp;&nbsp;&nbsp;&nbsp;  定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句，只不过这组语句是放在数据库中的(这里我们只谈SQL Server)。如果我们通过创建存储过程以及在ASP中调用存储过程，就可以避免将SQL语句同ASP代码混杂在一起。这样做的好处至少有三个：<br>
&nbsp;&nbsp;&nbsp;&nbsp;  第一、大大提高效率。存储过程本身的执行速度非常快，而且，调用存储过程可以大大减少同数据库的交互次数。<br>
&nbsp;&nbsp;&nbsp;&nbsp;  第二、提高安全性。假如将SQL语句混合在ASP代码中，一旦代码失密，同时也就意味着库结构失密。<br>
&nbsp;&nbsp;&nbsp;&nbsp;  第三、有利于SQL语句的重用。<br>
&nbsp;&nbsp;&nbsp;&nbsp; /*一站式網絡服務商<a href="http://www.5201320.com/">http://www.5201320.com</a>（網站設計，公司域名注冊，網站空間，企業郵箱，聯系QQ5-7-6-0-7-6-7-7-5）*/<br>
&nbsp;&nbsp;&nbsp;&nbsp;  在ASP中，一般通过command对象调用存储过程，根据不同情况，本文也介绍其它调用方法。为了方便说明，根据存储过程的输入输出，作以下简单分类：<br>
&nbsp;&nbsp;&nbsp;&nbsp;  1. 只返回单一记录集的存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;  假设有以下存储过程(本文的目的不在于讲述T-SQL语法，所以存储过程只给出代码，不作说明)：</p>
<p>&nbsp;&nbsp;&nbsp;  /*SP1*/<br>
&nbsp;&nbsp;&nbsp;&nbsp;  CREATE PROCEDURE dbo.getUserList<br>
&nbsp;&nbsp;&nbsp;&nbsp;  as<br>
&nbsp;&nbsp;&nbsp;&nbsp;  set nocount on<br>
&nbsp;&nbsp;&nbsp;&nbsp;  begin<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  select * from dbo.[userinfo]<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end<br>
&nbsp;&nbsp;&nbsp;&nbsp;  go</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  以上存储过程取得userinfo表中的所有记录，返回一个记录集。通过command对象调用该存储过程的ASP代码如下:<br>
&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  '**通过Command对象调用存储过程**<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyComm,MyRst<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.ActiveConnection = MyConStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  'MyConStr是数据库连接字串<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.CommandText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = &quot;getUserList&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '指定存储过程名<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.CommandType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '表明这是一个存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Prepared&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '要求将SQL命令先行编译<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyRst = MyComm.Execute<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  存储过程取得的记录集赋给MyRst，接下来，可以对MyRst进行操作。<br>
&nbsp;&nbsp;&nbsp;&nbsp;  在以上代码中，CommandType属性表明请求的类型，取值及说明如下：<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  -1&nbsp;&nbsp;&nbsp;  表明CommandText参数的类型无法确定<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  1&nbsp;&nbsp;&nbsp;&nbsp;  表明CommandText是一般的命令类型<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  2&nbsp;&nbsp;&nbsp;&nbsp;  表明CommandText参数是一个存在的表名称<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  4&nbsp;&nbsp;&nbsp;&nbsp;  表明CommandText参数是一个存储过程的名称<br>
&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  还可以通过Connection对象或Recordset对象调用存储过程，方法分别如下：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  '**通过Connection对象调用存储过程**<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyConn,MyRst<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyConn = Server.CreateObject(&quot;ADODB.Connection&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyConn.open MyConStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  'MyConStr是数据库连接字串<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyRst&nbsp;&nbsp;  = MyConn.Execute(&quot;getUserList&quot;,0,4) '最后一个参断含义同CommandType<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyConn = Nothing</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  '**通过Recordset对象调用存储过程**<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyRst<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyRst = Server.CreateObject(&quot;ADODB.Recordset&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyRst.open &quot;getUserList&quot;,MyConStr,0,1,4<br>
&nbsp;&nbsp;&nbsp;&nbsp;  'MyConStr是数据库连接字串,最后一个参断含义与CommandType相同</p>
<p>&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  2. 没有输入输出的存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;  请看以下存储过程：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  /*SP2*/<br>
&nbsp;&nbsp;&nbsp;&nbsp;  CREATE PROCEDURE dbo.delUserAll<br>
&nbsp;&nbsp;&nbsp;&nbsp;  as<br>
&nbsp;&nbsp;&nbsp;&nbsp;  set nocount on<br>
&nbsp;&nbsp;&nbsp;&nbsp;  begin<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  delete from dbo.[userinfo]<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end<br>
&nbsp;&nbsp;&nbsp;&nbsp;  go</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  该存储过程删去userinfo表中的所有记录，没有任何输入及输出，调用方法与上面讲过的基本相同，只是不用取得记录集：</p>
<p>&nbsp;&nbsp;&nbsp;  '**通过Command对象调用存储过程**<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyComm<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.ActiveConnection = MyConStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  'MyConStr是数据库连接字串<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.CommandText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = &quot;delUserAll&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '指定存储过程名<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.CommandType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '表明这是一个存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Prepared&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '要求将SQL命令先行编译<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Execute&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '此处不必再取得记录集<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  当然也可通过Connection对象或Recordset对象调用此类存储过程，不过建立Recordset对象是为了取得记录集，在没有返回记录集的情况下，还是利用Command对象吧。</p>
<p><br>
&nbsp;&nbsp;&nbsp;&nbsp;  3. 有返回值的存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;  在进行类似SP2的操作时，应充分利用SQL Server强大的事务处理功能，以维护数据的一致性。并且，我们可能需要存储过程返回执行情况，为此，将SP2修改如下：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  /*SP3*/<br>
&nbsp;&nbsp;&nbsp;&nbsp;  CREATE PROCEDURE dbo.delUserAll<br>
&nbsp;&nbsp;&nbsp;&nbsp;  as<br>
&nbsp;&nbsp;&nbsp;&nbsp;  set nocount on<br>
&nbsp;&nbsp;&nbsp;&nbsp;  begin<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  BEGIN TRANSACTION<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  delete from dbo.[userinfo]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  IF @@error=0 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  begin<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  COMMIT TRANSACTION<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  return 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  end<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  ELSE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  begin<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  ROLLBACK TRANSACTION<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  return 0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  return<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end<br>
&nbsp;&nbsp;&nbsp;&nbsp;  go</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  以上存储过程，在delete顺利执行时，返回1，否则返回0，并进行回滚操作。为了在ASP中取得返回值，需要利用Parameters集合来声明参数：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  '**调用带有返回值的存储过程并取得返回值**<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyComm,MyPara<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.ActiveConnection = MyConStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  'MyConStr是数据库连接字串<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.CommandText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = &quot;delUserAll&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '指定存储过程名<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.CommandType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '表明这是一个存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Prepared&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '要求将SQL命令先行编译<br>
&nbsp;&nbsp;&nbsp;  '声明返回值<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set Mypara = MyComm.CreateParameter(&quot;RETURN&quot;,2,4)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Parameters.Append MyPara<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Execute<br>
&nbsp;&nbsp;&nbsp;&nbsp;  '取得返回值<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM retValue<br>
&nbsp;&nbsp;&nbsp;&nbsp;  retValue = MyComm(0)&nbsp;&nbsp;&nbsp;&nbsp;  '或retValue = MyComm.Parameters(0)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing<br>
&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  在MyComm.CreateParameter(&quot;RETURN&quot;,2,4)中，各参数的含义如下：<br>
&nbsp;&nbsp;&nbsp;&nbsp;  第一个参数(&quot;RETURE&quot;)为参数名。参数名可以任意设定，但一般应与存储过程中声明的参数名相同。此处是返回值，我习惯上设为&quot;RETURE&quot;；<br>
&nbsp;&nbsp;&nbsp;&nbsp;  第二个参数(2)，表明该参数的数据类型，具体的类型代码请参阅ADO参考，以下给出常用的类型代码：<br>
&nbsp;&nbsp;&nbsp;&nbsp;  adBigInt: 20 ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  adBinary : 128 ; <br>
&nbsp;&nbsp;&nbsp;&nbsp;  adBoolean: 11 ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  adChar: 129 ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  adDBTimeStamp: 135 ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  adEmpty: 0 ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  adInteger: 3 ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  adSmallInt: 2 ; <br>
&nbsp;&nbsp;&nbsp;&nbsp;  adTinyInt: 16 ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  adVarChar: 200 ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  对于返回值，只能取整形，且-1到-99为保留值；<br>
&nbsp;&nbsp;&nbsp;&nbsp;  第三个参数(4)，表明参数的性质，此处4表明这是一个返回值。此参数取值的说明如下：<br>
&nbsp;&nbsp;&nbsp;&nbsp;  0 : 类型无法确定； 1: 输入参数；2: 输入参数；3：输入或输出参数；4: 返回值<br>
&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  以上给出的ASP代码，应该说是完整的代码，也即最复杂的代码，其实</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  Set Mypara = MyComm.CreateParameter(&quot;RETURN&quot;,2,4)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Parameters.Append MyPara<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  可以简化为</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Parameters.Append MyComm.CreateParameter(&quot;RETURN&quot;,2,4)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  甚至还可以继续简化，稍后会做说明。<br>
&nbsp;&nbsp;&nbsp;&nbsp;  对于带参数的存储过程，只能使用Command对象调用(也有资料说可通过Connection对象或Recordset对象调用，但我没有试成过)。</p>
<p><br>
&nbsp;&nbsp;&nbsp;&nbsp;  4. 有输入参数和输出参数的存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;  返回值其实是一种特殊的输出参数。在大多数情况下，我们用到的是同时有输入及输出参数的存储过程，比如我们想取得用户信息表中，某ID用户的用户名，这时候，有一个输入参数----用户ID，和一个输出参数----用户名。实现这一功能的存储过程如下：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  /*SP4*/<br>
&nbsp;&nbsp;&nbsp;&nbsp;  CREATE PROCEDURE dbo.getUserName<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  @UserID int,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  @UserName varchar(40) output<br>
&nbsp;&nbsp;&nbsp;&nbsp;  as<br>
&nbsp;&nbsp;&nbsp;&nbsp;  set nocount on<br>
&nbsp;&nbsp;&nbsp;&nbsp;  begin<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if @UserID is null return<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  select @UserName=username <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  from dbo.[userinfo] <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  where <a href="mailto:userid=@UserID">userid=@UserID</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  return<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end<br>
&nbsp;&nbsp;&nbsp;&nbsp;  go</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  调用该存储过程的ASP代码如下：</p>
<p>&nbsp;&nbsp;&nbsp;  '**调用带有输入输出参数的存储过程**<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyComm,UserID,UserName<br>
&nbsp;&nbsp;&nbsp;&nbsp;  UserID = 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.ActiveConnection = MyConStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  'MyConStr是数据库连接字串<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.CommandText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = &quot;getUserName&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '指定存储过程名<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.CommandType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '表明这是一个存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Prepared&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '要求将SQL命令先行编译<br>
&nbsp;&nbsp;&nbsp;&nbsp;  '声明参数<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Parameters.append MyComm.CreateParameter(&quot;@UserID&quot;,3,1,4,UserID)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Parameters.append MyComm.CreateParameter(&quot;@UserName&quot;,200,2,40)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Execute<br>
&nbsp;&nbsp;&nbsp;&nbsp;  '取得出参<br>
&nbsp;&nbsp;&nbsp;&nbsp;  UserName = MyComm(1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  在以上代码中，可以看到，与声明返回值不同，声明输入参数时需要5个参数，声明输出参数时需要4个参数。声明输入参数时5个参数分别为：参数名、参数数据类型、参数类型、数据长度、参数值。声明输出参数时，没有最后一个参数：参数值。<br>
&nbsp;&nbsp;&nbsp;&nbsp;  需要特别注意的是：在声明参数时，顺序一定要与存储过程中定义的顺序相同，而且各参数的数据类型、长度也要与存储过程中定义的相同。<br>
&nbsp;&nbsp;&nbsp;&nbsp;  如果存储过程有多个参数，ASP代码会显得繁琐，可以使用with命令简化代码：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  '**调用带有输入输出参数的存储过程(简化代码)**<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyComm,UserID,UserName<br>
&nbsp;&nbsp;&nbsp;&nbsp;  UserID = 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  with MyComm<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .ActiveConnection = MyConStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  'MyConStr是数据库连接字串<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .CommandText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = &quot;getUserName&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '指定存储过程名<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .CommandType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '表明这是一个存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Prepared&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '要求将SQL命令先行编译<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.append .CreateParameter(&quot;@UserID&quot;,3,1,4,UserID)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.append .CreateParameter(&quot;@UserName&quot;,200,2,40)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Execute<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end with<br>
&nbsp;&nbsp;&nbsp;&nbsp;  UserName = MyComm(1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing<br>
&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  假如我们要取得ID为1到10，10位用户的用户名，是不是要创建10次Command对象呢？不是的。如果需要多次调用同一存储过程，只需改变输入参数，就会得到不同的输出：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  '**多次调用同一存储过程**<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyComm,UserID,UserName<br>
&nbsp;&nbsp;&nbsp;&nbsp;  UserName = &quot;&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  for UserID = 1 to 10<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  with MyComm<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .ActiveConnection = MyConStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  'MyConStr是数据库连接字串<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .CommandText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = &quot;getUserName&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '指定存储过程名<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .CommandType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '表明这是一个存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Prepared&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '要求将SQL命令先行编译<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if UserID = 1 then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.append .CreateParameter(&quot;@UserID&quot;,3,1,4,UserID)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.append .CreateParameter(&quot;@UserName&quot;,200,2,40)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Execute<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  else<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '重新给入参赋值(此时参数值不发生变化的入参以及出参不必重新声明)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters(&quot;@UserID&quot;) = UserID<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Execute<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  end if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  end with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  UserName = UserName + MyComm(1) + &quot;,&quot;&nbsp;&nbsp;&nbsp;  '也许你喜欢用数组存储<br>
&nbsp;&nbsp;&nbsp;&nbsp;  next<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  通过以上代码可以看出：重复调用同一存储过程时，只需为值发生改变的输入参数重新赋值即可，这一方法在有多个输入输出参数，且每次调用时只有一个输入参数的值发生变化时，可以大大减少代码量。</p>
<p>5. 同时具有返回值、输入参数、输出参数的存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;  前面说过，在调用存储过程时，声明参数的顺序要与存储过程中定义的顺序相同。还有一点要特别注意：如果存储过程同时具有返回值以及输入、输出参数，返回值要最先声明。<br>
&nbsp;&nbsp;&nbsp;&nbsp;  为了演示这种情况下的调用方法，我们改善一下上面的例子。还是取得ID为1的用户的用户名，但是有可能该用户不存在(该用户已删除，而userid是自增长的字段)。存储过程根据用户存在与否，返回不同的值。此时，存储过程和ASP代码如下：</p>
<p><br>
&nbsp;&nbsp;&nbsp;&nbsp;  /*SP5*/<br>
&nbsp;&nbsp;&nbsp;&nbsp;  CREATE PROCEDURE dbo.getUserName<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --为了加深对&quot;顺序&quot;的印象，将以下两参数的定义顺序颠倒一下<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  @UserName varchar(40) output,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  @UserID int<br>
&nbsp;&nbsp;&nbsp;&nbsp;  as<br>
&nbsp;&nbsp;&nbsp;&nbsp;  set nocount on<br>
&nbsp;&nbsp;&nbsp;&nbsp;  begin<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if @UserID is null return<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  select @UserName=username <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  from dbo.[userinfo] <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  where <a href="mailto:userid=@UserID">userid=@UserID</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if @@rowcount&gt;0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  return 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  else<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  return 0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  return<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end<br>
&nbsp;&nbsp;&nbsp;&nbsp;  go</p>
<p>&nbsp;&nbsp;&nbsp;  '**调用同时具有返回值、输入参数、输出参数的存储过程**<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyComm,UserID,UserName<br>
&nbsp;&nbsp;&nbsp;&nbsp;  UserID = 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  with MyComm<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .ActiveConnection = MyConStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  'MyConStr是数据库连接字串<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .CommandText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = &quot;getUserName&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '指定存储过程名<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .CommandType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '表明这是一个存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Prepared&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '要求将SQL命令先行编译<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '返回值要最先被声明<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.Append .CreateParameter(&quot;RETURN&quot;,2,4)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '以下两参数的声明顺序也做相应颠倒<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.append .CreateParameter(&quot;@UserName&quot;,200,2,40)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.append .CreateParameter(&quot;@UserID&quot;,3,1,4,UserID)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Execute<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end with<br>
&nbsp;&nbsp;&nbsp;&nbsp;  if MyComm(0) = 1 then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  UserName = MyComm(1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  else<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  UserName = &quot;该用户不存在&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end if<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing</p>
<p><br>
&nbsp;&nbsp;&nbsp;&nbsp;  6. 同时返回参数和记录集的存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;  有时候，我们需要存储过程同时返回参数和记录集，比如在利用存储过程分页时，要同时返回记录集以及数据总量等参数。以下给出一个进行分页处理的存储过程：</p>
<p>&nbsp;&nbsp;&nbsp;  /*SP6*/<br>
&nbsp;&nbsp;&nbsp;&nbsp;  CREATE PROCEDURE dbo.getUserList<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  @iPageCount int OUTPUT,&nbsp;&nbsp;&nbsp;  --总页数<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  @iPage int,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --当前页号<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  @iPageSize int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --每页记录数<br>
&nbsp;&nbsp;&nbsp;&nbsp;  as<br>
&nbsp;&nbsp;&nbsp;&nbsp;  set nocount on<br>
&nbsp;&nbsp;&nbsp;&nbsp;  begin<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --创建临时表 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  create table #t (ID int IDENTITY,&nbsp;&nbsp;&nbsp;  --自增字段<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  userid int,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  username varchar(40))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --向临时表中写入数据<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  insert into #t <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  select userid,username from dbo.[UserInfo]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  order by userid<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --取得记录总数 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  declare @iRecordCount int<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  set @iRecordCount = @@rowcount</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --确定总页数<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  IF @iRecordCount%@iPageSize=0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  SET @iPageCount=CEILING(@iRecordCount/@iPageSize)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  ELSE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  SET @iPageCount=CEILING(@iRecordCount/@iPageSize)+1</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --若请求的页号大于总页数，则显示最后一页<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  IF @iPage &gt; @iPageCount<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  SELECT @iPage = @iPageCount</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --确定当前页的始末记录<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DECLARE @iStart int&nbsp;&nbsp;&nbsp;&nbsp;  --start record<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DECLARE @iEnd int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --end record<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  SELECT @iStart = (@iPage - 1) * @iPageSize<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  SELECT @iEnd = @iStart + @iPageSize + 1</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --取当前页记录&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  select * from #t where ID&gt;@iStart and ID&lt;@iEnd</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --删除临时表<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  DROP TABLE #t</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --返回记录总数<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  return @iRecordCount<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end<br>
&nbsp;&nbsp;&nbsp;&nbsp;  go</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  在上面的存储过程中，输入当前页号及每页记录数，返回当前页的记录集，总页数及记录总数。为了更具典型性，将记录总数以返回值的形式返回。以下是调用该存储过程的ASP代码(具体的分页操作略去):</p>
<p>&nbsp;&nbsp;&nbsp;  '**调用分页存储过程**<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM pagenow,pagesize,pagecount,recordcount<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyComm,MyRst<br>
&nbsp;&nbsp;&nbsp;&nbsp;  pagenow = Request(&quot;pn&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  '自定义函数用于验证自然数<br>
&nbsp;&nbsp;&nbsp;&nbsp;  if CheckNar(pagenow) = false then pagenow = 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;  pagesize = 20<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  with MyComm<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .ActiveConnection = MyConStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  'MyConStr是数据库连接字串<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .CommandText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = &quot;getUserList&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '指定存储过程名<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .CommandType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '表明这是一个存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Prepared&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '要求将SQL命令先行编译<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '返回值(记录总量) <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.Append .CreateParameter(&quot;RETURN&quot;,2,4)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '出参(总页数)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.Append .CreateParameter(&quot;@iPageCount&quot;,3,2)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '入参(当前页号)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.append .CreateParameter(&quot;@iPage&quot;,3,1,4,pagenow)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '入参(每页记录数)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.append .CreateParameter(&quot;@iPageSize&quot;,3,1,4,pagesize)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Set MyRst = .Execute<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end with<br>
&nbsp;&nbsp;&nbsp;&nbsp;  if MyRst.state = 0 then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '未取到数据，MyRst关闭<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  recordcount = -1<br>
&nbsp;&nbsp;&nbsp;&nbsp;  else<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  MyRst.close&nbsp;&nbsp;&nbsp;&nbsp;  '注意：若要取得参数值，需先关闭记录集对象<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  recordcount = MyComm(0)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  pagecount&nbsp;&nbsp;&nbsp;  = MyComm(1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if cint(pagenow)&gt;=cint(pagecount) then pagenow=pagecount<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end if<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  '以下显示记录<br>
&nbsp;&nbsp;&nbsp;&nbsp;  if recordcount = 0 then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Response.Write &quot;无记录&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  elseif recordcount &gt; 0 then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  MyRst.open<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  do until MyRst.EOF<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  ......<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  loop<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '以下显示分页信息<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  ......<br>
&nbsp;&nbsp;&nbsp;&nbsp;  else&nbsp;&nbsp;  'recordcount=-1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Response.Write &quot;参数错误&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end if</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  对于以上代码，只有一点需要说明：同时返回记录集和参数时，若要取得参数，需先将记录集关闭，使用记录集时再将其打开。</p>
<p><br>
&nbsp;&nbsp;&nbsp;&nbsp;  7. 返回多个记录集的存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;  本文最先介绍的是返回记录集的存储过程。有时候，需要一个存储过程返回多个记录集，在ASP中，如何同时取得这些记录集呢？为了说明这一问题，在userinfo表中增加两个字段：usertel及usermail，并设定只有登录用户可以查看这两项内容。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  /*SP7*/<br>
&nbsp;&nbsp;&nbsp;&nbsp;  CREATE PROCEDURE dbo.getUserInfo<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  @userid int,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  @checklogin bit<br>
&nbsp;&nbsp;&nbsp;&nbsp;  as<br>
&nbsp;&nbsp;&nbsp;&nbsp;  set nocount on<br>
&nbsp;&nbsp;&nbsp;&nbsp;  begin<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if @userid is null or @checklogin is null return<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  select username<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  from dbo.[usrinfo]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  where <a href="mailto:userid=@userid">userid=@userid</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  --若为登录用户，取usertel及usermail<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if @checklogin=1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  select usertel,usermail<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  from dbo.[userinfo]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  where <a href="mailto:userid=@userid">userid=@userid</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  return<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end<br>
&nbsp;&nbsp;&nbsp;&nbsp;  go</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  以下是ASP代码：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  '**调用返回多个记录集的存储过程**<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM checklg,UserID,UserName,UserTel,UserMail<br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyComm,MyRst<br>
&nbsp;&nbsp;&nbsp;&nbsp;  UserID = 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;  'checklogin()为自定义函数，判断访问者是否登录<br>
&nbsp;&nbsp;&nbsp;&nbsp;  checklg = checklogin()<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  with MyComm<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .ActiveConnection = MyConStr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  'MyConStr是数据库连接字串<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .CommandText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = &quot;getUserInfo&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '指定存储过程名<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .CommandType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '表明这是一个存储过程<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Prepared&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  = true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '要求将SQL命令先行编译<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.append .CreateParameter(&quot;@userid&quot;,3,1,4,UserID)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .Parameters.append .CreateParameter(&quot;@checklogin&quot;,11,1,1,checklg)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Set MyRst = .Execute<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end with<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  '从第一个记录集中取值<br>
&nbsp;&nbsp;&nbsp;&nbsp;  UserName = MyRst(0)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  '从第二个记录集中取值<br>
&nbsp;&nbsp;&nbsp;&nbsp;  if not MyRst is Nothing then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Set MyRst = MyRst.NextRecordset()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  UserTel&nbsp;&nbsp;  = MyRst(0)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  UserMail = MyRst(1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  end if<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyRst = Nothing</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  以上代码中，利用Recordset对象的NextRecordset方法，取得了存储过程返回的多个记录集。</p>
<p><br>
&nbsp;&nbsp;&nbsp;&nbsp;  至此，针对ASP调用存储过程的各种情况，本文已做了较为全面的说明。最后说一下在一个ASP程序中，调用多个存储过程的不同方法。<br>
&nbsp;&nbsp;&nbsp;&nbsp;  在一个ASP程序中，调用多个存储过程至少有以下三种方法是可行的：<br>
&nbsp;&nbsp;&nbsp;&nbsp;  1. 创建多个Command对象<br>
&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyComm<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  '调用存储过程一<br>
&nbsp;&nbsp;&nbsp;&nbsp;  ......<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;  '调用存储过程二<br>
&nbsp;&nbsp;&nbsp;&nbsp;  ......<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing<br>
&nbsp;&nbsp;&nbsp;&nbsp;  ......</p>
<p>&nbsp;&nbsp;&nbsp;  2. 只创建一个Command对象，结束一次调用时，清除其参数</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyComm<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;  '调用存储过程一<br>
&nbsp;&nbsp;&nbsp;&nbsp;  .....<br>
&nbsp;&nbsp;&nbsp;&nbsp;  '清除参数(假设有三个参数)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Parameters.delete 2<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Parameters.delete 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Parameters.delete 0<br>
&nbsp;&nbsp;&nbsp;  '调用存储过程二并清除参数<br>
&nbsp;&nbsp;&nbsp;&nbsp;  ......<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  此时要注意：清除参数的顺序与参数声明的顺序相反，原因嘛，我也不知道。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  3. 利用Parameters数据集合的Refresh方法重置Parameter对象</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  DIM MyComm<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Server.CreateObject(&quot;ADODB.Command&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;  '调用存储过程一<br>
&nbsp;&nbsp;&nbsp;&nbsp;  .....<br>
&nbsp;&nbsp;&nbsp;  '重置Parameters数据集合中包含的所有Parameter对象<br>
&nbsp;&nbsp;&nbsp;&nbsp;  MyComm.Parameters.Refresh<br>
&nbsp;&nbsp;&nbsp;  '调用存储过程二<br>
&nbsp;&nbsp;&nbsp;&nbsp;  .....<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Set MyComm = Nothing<br>
  <br>
&nbsp;&nbsp;&nbsp;&nbsp;  一般认为，重复创建对象是效率较低的一种方法，但是经测试(测试工具为Microsoft Application Center Test)，结果出人意料：<br>
&nbsp;&nbsp;&nbsp;&nbsp;  方法2 &gt;= 方法1 &gt;&gt; 方法3<br>
&nbsp;&nbsp;&nbsp;&nbsp;  方法2的运行速度大于等于方法1(最多可高4%左右)，这两种方法的运行速度远大于方法3(最多竟高达130%)，所以建议在参数多时，采用方法1，在参数较少时，采用方法2。</p> <a href="http://hi.baidu.com/windowweb/blog/item/36dd3df4af480ce67709d70b.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/windowweb/blog/category/%CD%F8%C2%E7%D6%AA%CA%B6%B7%D6%CF%ED">网络知识分享</a>&nbsp;<a href="http://hi.baidu.com/windowweb/blog/item/36dd3df4af480ce67709d70b.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-21  12:38</pubDate>
        <category><![CDATA[网络知识分享]]></category>
        <author><![CDATA[windowweb]]></author>
		<guid>http://hi.baidu.com/windowweb/blog/item/36dd3df4af480ce67709d70b.html</guid>
</item>

<item>
        <title><![CDATA[ASP+SQL的存储过程的应用事例]]></title>
        <link><![CDATA[http://hi.baidu.com/windowweb/blog/item/7942c9dc3ee07da8cc11660e.html]]></link>
        <description><![CDATA[
		
		<p>一、使用Command对象和Parameter对象传递参数</p>
<p>本讲将主要使用Microsoft SQL Server7.0数据库，先建立一个连接文件AdoSQL7.asp备用，以后用到时不再特别说明。</p>
<p>&lt;% ''AdoSQL7.asp</p>
<p>Option Explicit</p>
<p>Response.Expires = 0</p>
<p> </p>
<p>''第一部分: 建立连接</p>
<p>Dim Cnn, StrCnn</p>
<p>Set Cnn = Server.CreateObject(&quot;ADODB.Connection&quot;)</p>
<p>StrCnn = &quot;Provider=sqloledb; User ID=sa; Password=; Initial Catalog=pubs; Data Source=ICBCZJP&quot;</p>
<p>Cnn.Open StrCnn</p>
<p>%&gt;</p>
<p>注意：自己使用时要将Data Source设为你的数据库服务器所在的机器名。</p>
<p>另外，以前使用Access数据库时，用Microsoft Access97可以很方便的查看字段及数据，而使用SQL Server数据库，尤其是并不在数据库服务器，而是在另一台机器上调试ASP脚本时，要查看字段及数据便需另外安装工具，这里向你提供一个工具：Msqry32.exe（Microsoft Query），这个文件随Office97安装，一般位于目录&ldquo;Microsoft Office\Office&rdquo;下。</p>
<p>例wuf70.asp：</p>
<p>&lt;%@ LANGUAGE=&quot;VBSCRIPT&quot; %&gt;</p>
<p>&lt;!--#include file=&quot;AdoSQL7.asp&quot;--&gt;</p>
<p>&lt;!--#include file=&quot;adovbs.inc&quot;--&gt;</p>
<p>&lt;% '' wuf70.asp</p>
<p>Dim cmdTest, prmTest, rsTest</p>
<p>''创建 Command 对象</p>
<p>Set cmdTest = Server.CreateObject(&quot;ADODB.Command&quot;)</p>
<p>&lsquo;Recordset、Command对象都可以通过ActiveConnection属性来连接Connection对象</p>
<p>cmdTest.ActiveConnection = Cnn</p>
<p>''SQL命令 - 含两个参数， 用 ？ 表示</p>
<p>cmdTest.CommandText = &quot;Update jobs Set job_desc = ? Where job_id = ?&quot;</p>
<p>''设命令类型为 SQL 语句</p>
<p>cmdTest.CommandType = adCmdText</p>
<p>''Prepared 属性决定是否将 SQL 命令先行编译，将其设为True，可以加快运行</p>
<p>cmdTest.Prepared = True</p>
<p> </p>
<p>''创建 Parameter 对象</p>
<p>Set prmTest=cmdTest.CreateParameter(&quot;job_desc&quot;,adVarChar,adParamInput,50,&quot;网络&quot;)</p>
<p>''将数据追加到 Parameters 数据集合中</p>
<p>cmdTest.Parameters.Append prmTest</p>
<p> </p>
<p>Set prmTest = cmdTest.CreateParameter(&quot;job_id&quot;,adSmallInt,adParamInput,,&quot;12&quot;)</p>
<p>cmdTest.Parameters.Append prmTest</p>
<p> </p>
<p>''执行修改 &ndash; 不需要返回结果，简单的使用cmdTest.Execute 就可以了</p>
<p>cmdTest.Execute</p>
<p> </p>
<p>''重新设置参数运行 &ndash; 便可修改另一条数据</p>
<p>cmdTest.Parameters(&quot;job_id&quot;) = &quot;1&quot;</p>
<p>cmdTest.Parameters(&quot;job_desc&quot;) = &quot;测试&quot;</p>
<p>cmdTest.Execute</p>
<p> </p>
<p>''重新设置参数运行</p>
<p>cmdTest(&quot;job_id&quot;) = &quot;14&quot;</p>
<p>cmdTest(&quot;job_desc&quot;) = &quot;金融&quot;</p>
<p>cmdTest.Execute</p>
<p> </p>
<p>Set rsTest = Cnn.Execute(&quot;Select job_id,job_desc From jobs&quot;)</p>
<p>While Not rsTest.EOF</p>
<p>Response.Write rsTest(0) &amp; rsTest(1) &amp; &quot;&lt;br&gt;&quot;</p>
<p>rsTest.MoveNext</p>
<p>Wend</p>
<p> </p>
<p>Cnn.close : Set prmTest = Nothing</p>
<p>Set cmdTest = Nothing: Set Cnn = Nothing</p>
<p>%&gt;</p>
<p>分析：</p>
<p>1．Command对象的CreateParameter方法用来为SQL命令或存储过程建立参数对象，共有五个参数（五个参数都是可选项）：</p>
<p>第一个参数：参数对象的名称；</p>
<p>第二个参数：参数对象的数据类型，种类太多，还是参考ADO帮助吧，这里adVarChar（字符串值）、adSmallInt（2 字节带符号整型）；</p>
<p>第三个参数：参数类型。可以是：adParamInput（指示输入参数）、adParamOutput（ 指示为输出参数）、adParamReturnValue（指示为返回值）、adParamUnknown（指示参数类型无法确定）、adParamInputOutput（指示为输入/输出参数）；</p>
<p>第四个参数：参数的数据长度，最好指定为与数据库中对应字段长度相等，以免使用时出错，尤其数据类型为VarChar时，如果是整型或日期型则不必提供该值；</p>
<p>第五个参数：参数的设置初值。</p>
<p>2．cmdTest.Parameters.Append方法增加一个Parameter对象到Parameters数据集合中，从本例中也可看到如何使用多个参数。</p>
<p>3．从本例可以看到，只需要重新设定输入参数，便可执行对其他数据的修改，非常方便，这一思路在编程时也是最常用的方法之一。</p>
<p>4．重设参数，既可以使用cmdTest.Parameters，也可以省略为cmdTest(&quot;job_id&quot;)。</p>
<p> </p>
<p>二、在ASP中使用存储过程</p>
<p>什么是存储过程（存储过程位于数据库服务器中，是一个SQL语句的集合，可包含一个或多个SQL语句）、怎样创建存储过程不属于本讲座的内容，本讲座主要是举例说明在ASP中如何调用存储过程。</p>
<p>使用存储过程的好处是大大的，存储过程比在ASP脚本中运行SQL命令效率更高；可以提高整体性能并减轻网络负载（减少了在网络服务器和数据服务器之间的交互）；可以优化ASP代码和增强代码灵活性等等。</p>
<p>（一）在存储过程中使用输入参数</p>
<p>本例中使用的存储过程为SQL Server7.0自带的&ldquo;byroyalty&rdquo;，里面的一条SQL语句非常简单，无非是多了一个CREATE PROCEDURE byroyalty，并且有一个输入参数为@percentage：</p>
<p>CREATE PROCEDURE byroyalty @percentage int</p>
<p>AS</p>
<p>select au_id from titleauthor</p>
<p>where titleauthor.royaltyper = @percentage</p>
<p>serve by <a href="http://www.cidu.net/">www.cidu.net</a></p>
<p>例wuf71.asp</p>
<p>&lt;% @LANGUAGE = VBScript %&gt;</p>
<p>&lt;!--#include file=&quot;AdoSQL7.asp&quot;--&gt;</p>
<p>&lt;!--#include file=&quot;adovbs.inc&quot;--&gt;</p>
<p>&lt;% '' wuf71.asp</p>
<p>Dim cmdTest, prmTest, rsTest</p>
<p>Set cmdTest = Server.CreateObject(&quot;ADODB.Command&quot;)</p>
<p>cmdTest.CommandText = &quot;byroyalty&quot; ''存储过程名</p>
<p>''设命令类型为 存储过程</p>
<p>cmdTest.CommandType = adCmdStoredProc</p>
<p> </p>
<p>''创建 Parameter 对象</p>
<p>Set prmTest = Server.CreateObject(&quot;ADODB.Parameter&quot;)</p>
<p>&lsquo;Type属性对应wuf70.asp中的第二个参数</p>
<p>prmTest.Type = adInteger ''4 字节的带符号整型</p>
<p>&lsquo;Direction属性对应wuf70.asp中的第三个参数</p>
<p>prmTest.Direction = adParamInput</p>
<p>&lsquo;Value属性对应wuf70.asp中的第五个参数</p>
<p>prmTest.Value = 30</p>
<p>cmdTest.Parameters.Append prmTest</p>
<p> </p>
<p>Set cmdTest.ActiveConnection = Cnn</p>
<p>&lsquo;需要返回一个记录集，故使用Set rsTest = cmdTest.Execute</p>
<p>Set rsTest = cmdTest.Execute</p>
<p> </p>
<p>While Not rsTest.EOF</p>
<p>Response.Write rsTest(0) &amp; &quot;&lt;br&gt;&quot;</p>
<p>rsTest.MoveNext</p>
<p>Wend</p>
<p> </p>
<p>Cnn.close</p>
<p>Set rsTest = Nothing : Set prmTest = Nothing</p>
<p>Set cmdTest = Nothing: Set Cnn = Nothing</p>
<p>%&gt;</p>
<p>CommandText属性既可以指定SQL命令，也可以指定为存储过程或者是表名称。</p>
<p>在本例中，创建Parameter对象与wuf70.asp略有不同，其实仔细看看，意思也是差不多的，本例还有两个属性未用：prmTest.Name、prmTest.Size，加上Type、Direction和Value，对应于wuf70.asp中的五个参数。</p>
<p> </p>
<p>（二）使用输出参数</p>
<p>从数据库表中取得一个记录或计算一个值时，需要使用返回输出参数的存储过程。为了举例，先在SQL Server的pubs库中新建一存储过程OUTemploy，该存储过程需要输入两个日期，然后输出一个最大值。</p>
<p>CREATE PROCEDURE OUTemploy</p>
<p>(</p>
<p>@job_lvl tinyint OUTPUT,</p>
<p>@hire_date1 datetime,</p>
<p>@hire_date2 datetime</p>
<p>)</p>
<p>AS</p>
<p>select @job_lvl = MAX(job_lvl) from employee</p>
<p>where hire_date &gt;= @hire_date1 and hire_date &lt;= @hire_date2</p>
<p>有多种方法可以建立存储过程：</p>
<p>1．使用Microsoft SQL Server的Enterprise Manager，打开后在左边的树目录中依次打开：Console Root &ndash; Microsoft SQL Servers &ndash; SQL Server Group &ndash; ICBCZJP(Windows NT) &ndash; databases &ndash; pubs &ndash; stored procedure &ndash; New stored procedure，输入存储过程后，还可对其进行语法检测；</p>
<p>2．使用Microsoft SQL Server的Query Analyzer，先连接数据库服务器并选择pubs数据库。输入上面的存储过程并点击Execute Query(或按F5)；</p>
<p>3．使用VB6.0，打开菜单&ldquo;视图&rdquo;/&ldquo;数据视图窗口&rdquo;后，右键单击&ldquo;数据链接&rdquo;/&ldquo;新建数据链接&rdquo;；</p>
<p>4．使用ASP脚本创建存储过程，例wuf75.asp：</p>
<p>&lt;% @LANGUAGE = VBScript %&gt;</p>
<p>&lt;!--#include file=&quot;AdoSQL7.asp&quot;--&gt;</p>
<p>&lt;!--#include file=&quot;adovbs.inc&quot;--&gt;</p>
<p>&lt;% '' wuf75.asp</p>
<p>Dim StrSQL</p>
<p>''注: &amp; Chr(10) &amp; Chr(13) 完全可以不要, 主要是为了好看</p>
<p>StrSQL=&quot;CREATE PROCEDURE OUTemploy ( @job_lvl tinyint OUTPUT, &quot; &amp; Chr(10) &amp; Chr(13) &amp;_</p>
<p>&quot;@hire_date1 datetime, @hire_date2 datetime) AS &quot; &amp; Chr(10) &amp; Chr(13) &amp;_</p>
<p>&quot;select @job_lvl = MAX(job_lvl) from employee &quot; &amp;_</p>
<p>&quot;where hire_date &gt;= @hire_date1 and hire_date &lt;= @hire_date2&quot;</p>
<p> </p>
<p>Cnn.Execute StrSQL</p>
<p>Response.Write &quot;创建存储过程成功&quot;</p>
<p>Cnn.close: Set Cnn = Nothing</p>
<p>%&gt;</p>
<p>存储过程创建后，除了使用菜单，你还可以使用SQL语句&ldquo;Drop Procedure OUTemploy&rdquo;删除它。</p>
<p>例wuf72.asp &ndash; 把所需要的输入参数送入存储过程并取得输出结果。</p>
<p>&lt;% @LANGUAGE = VBScript %&gt;</p>
<p>&lt;!--#include file=&quot;AdoSQL7.asp&quot;--&gt;</p>
<p>&lt;!--#include file=&quot;adovbs.inc&quot;--&gt;</p>
<p>&lt;% '' wuf72.asp</p>
<p>Dim cmdTest, prmTest</p>
<p>Set cmdTest = Server.CreateObject(&quot;ADODB.Command&quot;)</p>
<p>cmdTest.ActiveConnection = Cnn</p>
<p>cmdTest.CommandText = &quot;OUTemploy&quot; ''存储过程名</p>
<p>cmdTest.CommandType = adCmdStoredProc</p>
<p> </p>
<p>''创建 Parameter 对象</p>
<p>Set prmTest = cmdTest.CreateParameter(&quot;job_lvl&quot;,adTinyInt,adParamOutput)</p>
<p>cmdTest.Parameters.Append prmTest</p>
<p>''adTinyInt - 1 字节带符号整型</p>
<p>''adDbDate - 日期值 (yyyymmdd)</p>
<p> </p>
<p>Set prmTest = cmdTest.CreateParameter(&quot;hiredate1&quot;,adDBDate,adParamInput,,&quot;1993-05-09&quot;)</p>
<p>cmdTest.Parameters.Append prmTest</p>
<p> </p>
<p>Set prmTest = cmdTest.CreateParameter(&quot;hiredate2&quot;,adDBDate,adParamInput,,&quot;1994-02-01&quot;)</p>
<p>cmdTest.Parameters.Append prmTest</p>
<p> </p>
<p>cmdTest.Execute</p>
<p>&lsquo;下面三种表达方式意思一样</p>
<p>Response.Write cmdtest(&quot;job_lvl&quot;) &amp; &quot;&lt;br&gt;&quot;</p>
<p>Response.Write cmdTest.Parameters(&quot;job_lvl&quot;) &amp; &quot;&lt;br&gt;&quot;</p>
<p>Response.Write cmdTest.Parameters(&quot;job_lvl&quot;).Value</p>
<p> </p>
<p>Cnn.close</p>
<p>Set prmTest = Nothing</p>
<p>Set cmdTest = Nothing: Set Cnn = Nothing</p>
<p>%&gt;</p>
<p>（三）使用返回代码参数</p>
<p>用Return语句可以从存储过程返回不同的返回代码，如下面存储过程先取得一个记录集，然后，若有叫Margaret的雇员则返回1，否则返回0。</p>
<p>Create Procedure Returnemploy</p>
<p>AS</p>
<p>select emp_id, fname from employee</p>
<p>If Exists(Select fname From employee Where fname=''Margaret'')</p>
<p>Return(1)</p>
<p>Else</p>
<p>Return(0)</p>
<p>例wuf73.asp</p>
<p>&lt;% @LANGUAGE = VBScript %&gt;</p>
<p>&lt;!--#include file=&quot;AdoSQL7.asp&quot;--&gt;</p>
<p>&lt;!--#include file=&quot;adovbs.inc&quot;--&gt;</p>
<p>&lt;% '' wuf73.asp</p>
<p>Dim cmdTest, prmTest, rsTest</p>
<p>Set cmdTest = Server.CreateObject(&quot;ADODB.Command&quot;)</p>
<p>cmdTest.ActiveConnection = Cnn</p>
<p>cmdTest.CommandText = &quot;Returnemploy&quot; ''存储过程名</p>
<p>cmdTest.CommandType = adCmdStoredProc</p>
<p> </p>
<p>Set prmTest = cmdTest.CreateParameter(&quot;ReturnValue&quot;,adInteger,adParamReturnValue)</p>
<p>cmdTest.Parameters.Append prmTest</p>
<p> </p>
<p>Set rsTest = cmdTest.Execute()</p>
<p>While Not rsTest.EOF</p>
<p>Response.Write rsTest(0) &amp; &quot; ][ &quot; &amp; rsTest(1) &amp; &quot;&lt;br&gt;&quot;</p>
<p>rsTest.MoveNext</p>
<p>Wend</p>
<p>rsTest.Close: Set rsTest = Nothing</p>
<p>''返回 cmdtest(&quot;ReturnValue&quot;) 之前,必须先关闭rsTest, 否则结果错误</p>
<p> </p>
<p>If cmdtest(&quot;ReturnValue&quot;) = 1 Then</p>
<p>Response.Write &quot;有该雇员&quot;</p>
<p>Else</p>
<p>Response.Write &quot;无该雇员&quot;</p>
<p>End If</p>
<p> </p>
<p>Cnn.close</p>
<p>Set prmTest = Nothing</p>
<p>Set cmdTest = Nothing: Set Cnn = Nothing</p>
<p>%&gt;</p>
<p> </p>
<p>三、如何处理大数据</p>
<p>这里的&ldquo;大数据&rdquo;主要是指Text（大文本）和image（图像）字段，采用前面所述的方法无法正确获取其数据。必须首先使用Size = rsTest(0).ActualSize获取字段值的实际长度，然后再使用rsTest(0).GetChunk(Size)取得数据。在实际使用过程中，由于这些字段都比较大，为了节省、合理使用服务器资源，一般均采取分段读取的方法。例wuf74.asp:</p>
<p>&lt;% @LANGUAGE = VBScript %&gt;</p>
<p>&lt;!--#include file=&quot;AdoSQL7.asp&quot;--&gt;</p>
<p>&lt;!--#include file=&quot;adovbs.inc&quot;--&gt;</p>
<p>&lt;% '' wuf74.asp</p>
<p>Dim StrSQL, rsTest</p>
<p>&lsquo;pr_info 是一个文本字段</p>
<p>StrSQL = &quot;Select pr_info,pub_id From pub_info&quot;</p>
<p>Set rsTest = Cnn.Execute(StrSQL)</p>
<p> </p>
<p>Dim BasicSize, BeginSize, LText</p>
<p>Do While Not rsTest.EOF</p>
<p>Response.Write rsTest(1) &amp; &quot;&lt;br&gt;&quot;</p>
<p>&lsquo;每次读取 1024字节</p>
<p>BasicSize = 1024</p>
<p>BeginSize = 0</p>
<p>While BeginSize &lt; rsTest(0).ActualSize</p>
<p>LText = rsTest(0).GetChunk(BasicSize)</p>
<p>BeginSize = BeginSize + BasicSize</p>
<p>&lsquo;逐段输出到客户端</p>
<p>Response.Write LText</p>
<p>Wend</p>
<p> </p>
<p>Response.Write &quot;&lt;br&gt;&lt;br&gt;&quot;</p>
<p>rsTest.MoveNext</p>
<p>Loop</p>
<p> </p>
<p>Cnn.close</p>
<p>Set rsTest = Nothing: Set Cnn = Nothing</p>
<p>%&gt;</p>
<p>在本例中，每次最多读取1024字节，分多次读完。反之，如果将大数据写至数据库中，方法类似上面，不过不是使用GetChunk方法，而是使用AppendChunk方法：</p>
<p>rsTest(0).AppendChunk Ltext</p>
<p>源代碼聯系<a href="http://www.5201320.com/">http://www.5201320.com</a>(一站式網絡服務商，提供網站設計，域名注冊，企業郵箱，網站空間等)</p> <a href="http://hi.baidu.com/windowweb/blog/item/7942c9dc3ee07da8cc11660e.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/windowweb/blog/category/%CD%F8%C2%E7%D6%AA%CA%B6%B7%D6%CF%ED">网络知识分享</a>&nbsp;<a href="http://hi.baidu.com/windowweb/blog/item/7942c9dc3ee07da8cc11660e.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-21  12:31</pubDate>
        <category><![CDATA[网络知识分享]]></category>
        <author><![CDATA[windowweb]]></author>
		<guid>http://hi.baidu.com/windowweb/blog/item/7942c9dc3ee07da8cc11660e.html</guid>
</item>

<item>
        <title><![CDATA[js 函数速查表]]></title>
        <link><![CDATA[http://hi.baidu.com/windowweb/blog/item/95f2987703327212b051b9ce.html]]></link>
        <description><![CDATA[
		
		<p>abs 方法 返回一个数的绝对值。 <br>
acos 方法 返回一个数的反余弦。 <br>
anchor 方法 在对象的指定文本两端加上一个带 NAME 属性的 HTML 锚点。 <br>
asin 方法 返回一个数的反正弦。 <br>
atan 方法 返回一个数的反正切。 <br>
atan2 方法 返回从 X 轴到点（y, x）的角度（以弧度为单位）。 <br>
atEnd 方法 返回一个表明枚举算子是否处于集合结束处的 Boolean 值。 <br>
big 方法在String 对象的文本两端加入 HTML 的&lt;BIG&gt;标识。 <br>
blink 方法 将 HTML 的 &lt;BLINK&gt; 标识添加到 String 对象中的文本两端。 <br>
bold 方法 将 HTML 的 &lt;B&gt; 标识添加到String 对象中的文本两端。 <br>
ceil 方法 返回大于或等于其数值参数的最小整数。 <br>
charAt 方法 返回位于指定索引位置的字符。 <br>
charCodeAt 方法 返回指定字符的 Unicode 编码。 <br>
compile 方法 将一个正则表达式编译为内部格式。 <br>
concat 方法（Array）返回一个由两个数组合并组成的新数组。 <br>
concat 方法（String） 返回一个包含给定的两个字符串的连接的 String 对象。 <br>
cos 方法 返回一个数的余弦。 <br>
dimensions 方法 返回 VBArray 的维数。 <br>
escape 方法 对 String 对象编码，以便在所有计算机上都能阅读。 <br>
eval 方法 对 JScript 代码求值然后执行之。 <br>
exec 方法在指定字符串中执行一个匹配查找。 <br>
exp 方法 返回 e （自然对数的底） 的幂。 <br>
fixed 方法 将 HTML 的&lt;TT&gt; 标识添加到String 对象中的文本两端。 <br>
floor 方法 返回小于或等于其数值参数的最大整数。 <br>
fontcolor 方法 将 HTML 带 COLOR 属性的&lt;FONT&gt;标识添加到 String 对象中的文本两端。 <br>
fontsize 方法 将 HTML 带 SIZE 属性的&lt;FONT&gt;标识添加到 String 对象中的文本两端。 <br>
fromCharCode 方法 返回 Unicode 字符值的字符串。 <br>
getDate 方法 使用当地时间返回 Date 对象的月份日期值。 <br>
getDay 方法 使用当地时间返回 Date 对象的星期几。 <br>
getFullYear 方法 使用当地时间返回 Date 对象的年份。 <br>
getHours 方法 使用当地时间返回 Date 对象的小时值。 <br>
getItem 方法 返回位于指定位置的项。 <br>
getMilliseconds 方法 使用当地时间返回 Date 对象的毫秒值。 <br>
getMinutes 方法 使用当地时间返回 Date 对象的分钟值。 <br>
getMonth 方法 使用当地时间返回 Date 对象的月份。 <br>
getSeconds 方法 使用当地时间返回 Date 对象的秒数。 <br>
getTime 方法 返回 Date 对象中的时间。 <br>
getTimezoneOffset 方法 返回主机的时间和全球标准时间（UTC）之间的差（以分钟为单位）。 <br>
getUTCDate 方法使用全球标准时间（UTC）返回 Date 对象的日期值。 <br>
getUTCDay 方法 使用全球标准时间（UTC）返回 Date 对象的星期几。 <br>
getUTCFullYear 方法 使用全球标准时间（UTC）返回 Date 对象的年份。 <br>
getUTCHours 方法使用全球标准时间（UTC）返回Date 对象的小时数。 <br>
getUTCMilliseconds 方法 使用全球标准时间（UTC）返回Date 对象的毫秒数。 <br>
getUTCMinutes 方法 使用全球标准时间（UTC）返回 Date 对象的分钟数。 <br>
getUTCMonth 方法使用全球标准时间（UTC）返回 Date 对象的月份值。 <br>
getUTCSeconds 方法 使用全球标准时间（UTC）返回Date对象的秒数。 <br>
getVarDate 方法 返回 Date 对象中的 VT_DATE。 <br>
getYear 方法 返回 Date 对象中的年份。 <br>
indexOf 方法 返回在 String 对象中第一次出现子字符串的字符位置。 <br>
isFinite 方法 返回一个 Boolean 值，表明某个给定的数是否是有穷的。 <br>
isNaN 方法 返回一个 Boolean 值，表明某个值是否为保留值 NaN （不是一个数）。 <br>
italics 方法 将 HTML的 &lt;I&gt; 标识添加到 String 对象中的文本两端。 <br>
item 方法 返回集合中的当前项。 <br>
join 方法 返回一个由数组中的所有元素连接在一起的 String 对象。 <br>
lastIndexOf 方法 返回在 String 对象中子字符串最后出现的位置。 <br>
lbound 方法 返回在 VBArray 中指定维数所用的最小索引值。 <br>
link 方法 将带 HREF 属性的 HTML 锚点添加到 String 对象中的文本两端。 <br>
log 方法 返回某个数的自然对数。 <br>
match 方法使用给定的正则表达式对象对字符串进行查找，并将结果作为数组返回。 <br>
max 方法 返回给定的两个表达式中的较大者。 <br>
min 方法返回给定的两个数中的较小者。 <br>
moveFirst 方法 将集合中的当前项设置为第一项。 <br>
moveNext 方法 将当前项设置为集合中的下一项。 <br>
parse 方法 对包含日期的字符串进行分析，并返回该日期与1970年1月1日零点之间相差的毫秒数。 <br>
parseFloat 方法返回从字符串转换而来的浮点数。 <br>
parseInt 方法 返回从字符串转换而来的整数。 <br>
pow 方法 返回一个指定幂次的底表达式的值。 <br>
random 方法 返回一个 0 和 1 之间的伪随机数。 <br>
replace 方法 返回根据正则表达式进行文字替换后的字符串的拷贝。 <br>
reverse 方法 返回一个元素反序的 Array 对象。 <br>
round 方法 将一个指定的数值表达式舍入到最近的整数并将其返回。 <br>
search 方法 返回与正则表达式查找内容匹配的第一个子字符串的位置。 <br>
setDate 方法 使用当地时间设置 Date 对象的数值日期。 <br>
setFullYear 方法 使用当地时间设置 Date 对象的年份。 <br>
setHours 方法 使用当地时间设置 Date 对象的小时值。 <br>
setMilliseconds 方法 使用当地时间设置 Date 对象的毫秒值。 <br>
setMinutes 方法 使用当地时间设置 Date 对象的分钟值。 <br>
setMonth 方法 使用当地时间设置 Date 对象的月份。 <br>
setSeconds 方法 使用当地时间设置 Date 对象的秒值。 <br>
setTime 方法 设置 Date 对象的日期和时间。 <br>
setUTCDate 方法 使用全球标准时间（UTC）设置 Date 对象的数值日期。 <br>
setUTCFullYear 方法 使用全球标准时间（UTC）设置 Date 对象的年份。 <br>
setUTCHours 方法使用全球标准时间（UTC）设置 Date 对象的小时值。 <br>
setUTCMilliseconds 方法 使用全球标准时间（UTC）设置 Date 对象的毫秒值。 <br>
setUTCMinutes 方法 使用全球标准时间（UTC）设置 Date 对象的分钟值。 <br>
setUTCMonth 方法使用全球标准时间（UTC）设置 Date 对象的月份。 <br>
setUTCSeconds 方法 使用全球标准时间（UTC）设置 Date 对象的秒值。 <br>
setYear 方法 使用 Date 对象的年份。 <br>
sin 方法 返回一个数的正弦。 <br>
slice 方法 （Array）返回数组的一个片段。 <br>
slice 方法 （String） 返回字符串的一个片段。 <br>
small 方法 将 HTML 的&lt;SMALL&gt; 标识添加到 String 对象中的文本两端。 <br>
sort 方法 返回一个元素被排序了的 Array 对象。 <br>
split 方法将一个字符串分割为子字符串，然后将结果作为字符串数组返回。 <br>
sqrt 方法 返回一个数的平方根。 <br>
strike 方法 将 HTML 的&lt;STRIKE&gt; 标识添加到String 对象中的文本两端。 <br>
sub 方法 将 HTML 的 &lt;SUB&gt; 标识放置到 String 对象中的文本两端。 <br>
substr 方法 返回一个从指定位置开始并具有指定长度的子字符串。 <br>
substring 方法 返回位于 String 对象中指定位置的子字符串。 <br>
sup 方法 将 HTML 的 &lt;SUP&gt; 标识放置到 String 对象中的文本两端。 <br>
tan 方法 返回一个数的正切。 <br>
test 方法 返回一个 Boolean 值，表明在被查找的字符串中是否存在某个模式。 <br>
toArray 方法 返回一个从 VBArray 转换而来的标准 JScript 数组。 <br>
toGMTString 方法返回一个转换为使用格林威治标准时间（GMT）的字符串的日期。 <br>
toLocaleString 方法 返回一个转换为使用当地时间的字符串的日期。 <br>
toLowerCase 方法 返回一个所有的字母字符都被转换为小写字母的字符串。 <br>
toString 方法 返回一个对象的字符串表示。 <br>
toUpperCase 方法 返回一个所有的字母字符都被转换为大写字母的字符串。 <br>
toUTCString 方法返回一个转换为使用全球标准时间（UTC）的字符串的日期。 <br>
ubound 方法 返回在 VBArray 的指定维中所使用的最大索引值。 <br>
unescape 方法 对用escape 方法编码的 String 对象进行解码。 <br>
UTC 方法 返回 1970年1月1日零点的全球标准时间（UTC） （或 GMT）与指定日期之间的毫秒数.</p>
<p>valueOf 方法 返回指定对象的原始值。</p>
<p> </p>
<p> $1...$9 属性 返回在模式匹配中找到的最近的九条记录</p>
<p>arguments 属性 返回一个包含传递给当前执行函数的每个参数的数组。 <br>
caller 属性 返回调用当前函数的函数引用。 <br>
constructor 属性 指定创建对象的函数。 <br>
description 属性返回或设置关于指定错误的描述字符串。 <br>
E 属性 返回 Euler 常数，即自然对数的底。 <br>
index 属性返回在字符串中找到的第一个成功匹配的字符位置。 <br>
Infinity 属性 返回 Number.POSITIVE_INFINITY 的初始值。 <br>
input 属性 返回进行查找的字符串。 <br>
lastIndex 属性 返回在字符串中找到的最后一个成功匹配的字符位置。 <br>
length 属性（Array） 返回比数组中所定义的最高元素大 1 的一个整数。 <br>
length 属性（Function） 返回为函数所定义的参数个数。 <br>
length 属性（String） 返回 String 对象的长度。 <br>
LN2 属性 返回 2 的自然对数。 <br>
LN10 属性 返回 10 的自然对数。 <br>
LOG2E 属性 返回以 2 为底的 e（即 Euler常数）的对数。 <br>
LOG10E 属性 返回以 10 为底的e（即 Euler常数）的对数。 <br>
MAX_VALUE 属性 返回在 JScript中能表示的最大值。 <br>
MIN_VALUE 属性 返回在 JScript中能表示的最接近零的值。 <br>
NaN 属性（Global） 返回特殊值 NaN，表示某个表达式不是一个数。 <br>
NaN 属性（Number） 返回特殊值 （NaN），表示某个表达式不是一个数。 <br>
NEGATIVE_INFINITY 属性 返回比在 JScript 中能表示的最大的负数 （-Number.MAX_VALUE）更负的值。 <br>
number 属性 返回或设置与特定错误关联的数值。 <br>
PI 属性返回圆周与其直径的比值，约等于3.141592653589793。 <br>
POSITIVE_INFINITY 属性 返回比在 JScript 中能表示的最大的数 （Number.MAX_VALUE）更大的值。 <br>
prototype 属性 返回对象类的原型引用。 <br>
source 属性返回正则表达式模式的文本的拷贝。 <br>
SQRT1_2 属性 返回 0.5 的平方根，即 1 除以 2 的平方根。</p>
<p>SQRT2 属性 返回 2 的平方根</p>
<p> </p>
<p> </p>
<p>break 语句 终止当前循环，或者如果与一个label 语句关联，则终止相关联的语句。 <br>
catch 语句 包含在 try 语句块中的代码发生错误时执行的语句。 <br>
@cc_on 语句 激活条件编译支持。 <br>
//（单行注释语句） 使单行注释被 JScript 语法分析器忽略。 <br>
/*..*/（多行注释语句） 使多行注释被 JScript 语法分析器忽略。 <br>
continue 语句停止循环的当前迭代，并开始一次新的迭代。 <br>
do...while 语句 先执行一次语句块，然后重复执行该循环，直至条件表达式的值为 false。 <br>
for 语句 只要指定的条件为 true，就一直执行语句块。 <br>
for...in 语句 对应于对象或数组中的每个元素执行一个或多个语句。 <br>
function 语句 声明一个新的函数。 <br>
@if 语句 根据表达式的值，有条件地执行一组语句。 <br>
if...else 语句根据表达式的值，有条件地执行一组语句。 <br>
Labeled 语句 给语句提供一个标识符。 <br>
return 语句 从当前函数退出并从该函数返回一个值。 <br>
@set 语句 创建用于条件编译语句的变量。 <br>
switch 语句 当指定的表达式的值与某个标签匹配时，即执行相应的一个或多个语句。 <br>
this 语句 对当前对象的引用。 <br>
throw 语句 产生一个可由 try...catch 语句处理的错误条件。 <br>
try 语句 实现 JScript 的错误处理。 <br>
var 语句 声明一个变量。 <br>
while 语句 执行语句直至给定的条件为 false。</p>
<p>with 语句确定一个语句的默认对象。</p>
<p> </p>
<p> </p>
<p> 加法运算符 （+） 将两个数相加或连接两个字符串。</p>
<p>赋值运算符 （=） 将一个值赋给变量。 <br>
按位与运算符 （&amp;）对两个表达式执行按位与操作。 <br>
按位左移运算符（&lt;&lt;） 将一个表达式的各位向左移。 <br>
按位取非运算符 （~）对一个表达式执行按位取非（求非）操作。 <br>
按位或运算符 （|） 对两个表达式指定按位或操作。 <br>
按位右移运算符 （&gt;&gt;）将一个表达式的各位向右移，保持符号不变。 <br>
按位异或运算符 （^） 对两个表达式执行按位异或操作。 <br>
逗号运算符 （,） 使两个表达式连续执行。 <br>
比较运算符 返回 Boolean 值，表示比较结果。 <br>
复合赋值运算符 复合赋值运算符列表。 <br>
条件（三元）运算符（?:）根据条件执行两个表达式之一。 <br>
递减运算符 （--） 将变量减一。 <br>
delete 运算符 删除对象的属性，或删除数组中的一个元素。. <br>
除法运算符（/） 将两个数相除并返回一个数值结果。 <br>
相等运算符（==） 比较两个表达式，看是否相等。 <br>
大于运算符（&gt;）比较两个表达式，看一个是否大于另一个。 <br>
大于相等运算符 （&gt;=） 比较两个表达式，看一个是否大于等于另一个。 <br>
恒等运算符 （===）比较两个表达式，看是否值相等并具有相同的数据类型。 <br>
递增运算符（++） 给变量加一。 <br>
不相等运算符 （!=） 比较两个表达式，看是否不相等。 <br>
instanceof 运算符 返回一个 Boolean 值，表明某个对象是否为特定类的一个实例。 <br>
小于运算符（&lt;）比较两个表达式，看是否一个小于另一个。 <br>
小于相等运算符 （&lt;=） 比较两个表达式，看是否一个小于等于另一个。 <br>
逻辑与运算符（&amp;&amp;） 对两个表达式执行逻辑与操作。 <br>
逻辑非运算符 （!） 对表达式执行逻辑非操作。 <br>
逻辑或运算符 （||）对两个表达式执行逻辑或操作。 <br>
取模运算符。 （%） 将两个数相除，并返回余数。 <br>
乘法运算符 （*） 将两个数相乘。 <br>
new 运算符创建一个新对象。 <br>
不恒等运算符 （!==） 比较两个表达式，看是否具有不相等的值或数据类型不同。 <br>
运算符优先级 包含 JScript 运算符的执行优先级信息的列表。 <br>
减法运算符 （-） 对两个表达式执行减法操作。 <br>
typeof 运算符 返回一个表示表达式的数据类型的字符串。 <br>
一元取相反数运算符（-） 表示一个数值表达式的相反数。 <br>
无符号右移运算符 （&gt;&gt;&gt;） 在表达式中对各位进行无符号右移。 <br>
void 运算符 避免一个表达式返回值。</p> <a href="http://hi.baidu.com/windowweb/blog/item/95f2987703327212b051b9ce.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/windowweb/blog/category/%CD%F8%C2%E7%D6%AA%CA%B6%B7%D6%CF%ED">网络知识分享</a>&nbsp;<a href="http://hi.baidu.com/windowweb/blog/item/95f2987703327212b051b9ce.html#comment">查看评论</a>]]></description>
        <pubDate>2009-08-19  09:09</pubDate>
        <category><![CDATA[网络知识分享]]></category>
        <author><![CDATA[windowweb]]></author>
		<guid>http://hi.baidu.com/windowweb/blog/item/95f2987703327212b051b9ce.html</guid>
</item>

<item>
        <title><![CDATA[UTF-8编码的ASP页面读取数据库的汉字时显示乱码解决办法]]></title>
        <link><![CDATA[http://hi.baidu.com/windowweb/blog/item/ac921f73540e96158601b000.html]]></link>
        <description><![CDATA[
		
		<p>UTF-8编码的<strong style="color: black; background-color: #ffff66">ASP</strong>页面<strong style="color: black; background-color: #a0ffff">读取数据库</strong>的汉字时显示<strong style="color: black; background-color: #ff66ff">乱码</strong>解决办法<br>
<br>
前两天做了一个英文站，一直在发愁一个问题，那就是我明明在页面META中用UTF8声明了页面编码，如下：<br>
<br>
<br>
　　&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;<br>
<br>
　　但是<strong style="color: black; background-color: #a0ffff">读取数据库</strong>中的汉字的时候，显示却都是<strong style="color: black; background-color: #ff66ff">乱码</strong>，不过如果汉字如果不是从数据库中读取的则可以正常显示。后台使用了gb2312编码，显示的也正常。<br>
<br>
    开始以为是数据库里面数据类型设置的问题的原因，找了好久也没有解决问题。郁闷了两天，最后终于找到问题所在，<a href="http://www.5201320.com/">http://www.5201320.com</a> 。<br>
<br>
　　<strong style="color: black; background-color: #ffff66">ASP</strong>中要改成UTF-8编码不只改一下页面的字符设置，如果是动态页面，要从数据库中读取汉字。还要在编码声明里设置为UTF-8，拿<strong style="color: black; background-color: #ffff66">ASP</strong>来说。<br>
<br>
　　&lt;%<br>
　　　　'&mdash;&mdash;&mdash;&mdash;&mdash;常规设置&mdash;&mdash;&mdash;&mdash;&ndash; <br>
<br>
　　　　Option Explicit <br>
<br>
　　　　Response.Buffer = True  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; '是否打开缓存 <br>
<br>
　　　　Session.CodePage = 65001    '脚本UTF-8编码 <br>
<br>
　　%&gt;<br>
<br>
　　所以对于动态页面中使用UTF-8编码，既要在页面中声明页面的编码为UTF-8，还要在程序的全局设置中声明脚本的编码为UTF-8。</p>
<p>这个就是页面编码的问题。<br>
一般做程序第一步是设定<strong style="color: black; background-color: #99ff99">数据库</strong>连接页和一些常量变量的页面，比如我经常用conn.asp文件，这个文件放在所有页面的顶部，用include来包含。<br>
最先的一步还是在conn.asp顶部加上如下代码：<br>
&lt;%@ codepage=936%&gt;<br>
&lt;%Response.Charset=&quot;gb2312&quot; %&gt;<br>
&lt;%Session.TimeOut=20<br>
Server.ScriptTimeOut=5000<br>
定义了页面编码和一些信息的过期时间。<br>
而特别是utf-8页面，保存时要特意选择保存格式。<br>
所以楼主和其他一些对编码未特别留意过的朋友要通过此帖记住了。</p>
<p> </p> <a href="http://hi.baidu.com/windowweb/blog/item/ac921f73540e96158601b000.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/windowweb/blog/category/%CD%F8%C2%E7%D6%AA%CA%B6%B7%D6%CF%ED">网络知识分享</a>&nbsp;<a href="http://hi.baidu.com/windowweb/blog/item/ac921f73540e96158601b000.html#comment">查看评论</a>]]></description>
        <pubDate>2009-06-27  10:23</pubDate>
        <category><![CDATA[网络知识分享]]></category>
        <author><![CDATA[windowweb]]></author>
		<guid>http://hi.baidu.com/windowweb/blog/item/ac921f73540e96158601b000.html</guid>
</item>

<item>
        <title><![CDATA[Photoshop/Dreamweaver/Fireworks/Flash/Lightroom CS4系列绿色版]]></title>
        <link><![CDATA[http://hi.baidu.com/windowweb/blog/item/562ec919a4ceeb72dbb4bd3b.html]]></link>
        <description><![CDATA[
		
		<p><font color="#ff00ff">【作品转自portablesoft.cn，感谢<font color="#0000ff">黯然过客</font>的绿化工作~】<br>
<a target="_blank" href="http://www.5201320.com">一站式网络服务商</a>提供网站建设最佳制作方案,为网站建设公司,广告创意公司,动漫设计公司,个人爱好者等带来了完美体验.详情查看公司网站<a href="http://www.5201320.com/">http://www.5201320.com</a></font></p>
<p>Adobe Photoshop CS4 Extended 软件提供 Photoshop CS4 中的所有功能，以及用于处理3D肖像、基于动画的内容和高级图像分析的新增功能。如果您从事电影、视频、多媒体、3D、制造、架构、工程、医药或科学工作，则适合使用 Photoshop Extended，<a href="http://www.portablesoft.cn/read.php/374.htm" target="_blank"><font color="#888888">突破性的3D绘图</font></a>及合成功能使您能像处理2D图像一样轻松、有效地使用3D模型。<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;  这次是在<a href="http://bbs.wmzhe.com/" target="_blank"><font color="#888888">完美者精品论坛</font></a>的<a href="http://bbs.wmzhe.com/viewthread.php?tid=48330" target="_blank"><font color="#888888">Adobe Photoshop CS4 Extended 简体中文特别版（正式版）</font></a>基础上绿化制作，这个 Photoshop CS4 Extended 绿色版的主要特点是：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;  *&nbsp;&nbsp; 基于 Adobe Photoshop CS4 Extended 官方正式版制作；<span style="color: #0000ff">免序列号、免激活</span>，感谢Ansifa；<br>
&nbsp;&nbsp;&nbsp;&nbsp;  *&nbsp;&nbsp; 仅包含 Photoshop CS4 Extended 组件，其他如 Bridge 等均精简掉了；<br>
&nbsp;&nbsp;&nbsp;&nbsp;  *&nbsp;&nbsp; 已添加了 Camera Raw 5.0 和 JPEG 2000 插件；<br>
&nbsp;&nbsp;&nbsp;&nbsp;  *&nbsp;&nbsp; 这其实是<span style="color: #0000ff">精简绿色版</span>，不喜欢的话请自行下载官方完整版；<br>
&nbsp;&nbsp;&nbsp;&nbsp;  *&nbsp;&nbsp;<span style="color: #0000ff">这次更新为官方正式的简体中文、繁体中文语言文件，彻底中文化，并可自由切换界面语言。</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;  *&nbsp;&nbsp; 默认不清理系统分区的 <span style="color: #0000ff">Program Files\Common Files\Adobe</span> 目录，若您没有安装任何Adobe组件的话直接删除即可；<br>
&nbsp;&nbsp;&nbsp;&nbsp;  <span style="color: #0000ff">绿化/使用说明</span>：下载解压后先运行 <span style="color: #0000ff">@绿化&amp;卸载.exe</span>，按照界面提示选择 <span style="color: #0000ff">绿化</span> 操作即可完成初始化。这次的绿色版<span style="color: #0000ff">支持3种界面语言</span>：英文、简体中文、繁体中文，根据自己需要选择即可，也很容易切换。</p>
<p><span style="color: #0000ff"> <img style="width: 630px; cursor: pointer; height: 459px" height="763" alt="点击查看原始尺寸" src="http://pic.yupoo.com/portablesoft/05369681bd46/cqdsbrml.jpg" width="1045" border="0"></span></p>
<p><span style="color: #0000ff">为什么会出现 Photoshop Extended 变成标准版的情况？</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我观察了下，这跟系统分区的 <span style="color: #0000ff">Program Files\Common Files\Adobe\Adobe PCD</span> 目录有关，如果删除了 Photoshop Extended 生成的 <span style="color: #0000ff">Adobe PCD</span> 目录或是因为其他 Adobe 软件修改了这个目录，Photoshop Extended 就会消失而变成标准版，所以出现这种情况的时候，重新绿化复制新的 Adobe PCD 过去就能恢复了（注意是在关闭 Adobe 软件条件下复制绿化，否则文件可能会被锁定无法更新！）！<br>
<br>
下载地址-1 (完美天空电信线路)<a href="http://soft3.wmzhe.com/download/PortableSoft/Adobe.Photoshop.CS4.Extended-PortableSoft.7z" target="_blank"><font color="#46a8c8">点击这里下载文件</font></a><br>
下载地址-2 (完美天空网通线路) <a href="http://soft2.wmzhe.com/download/PortableSoft/Adobe.Photoshop.CS4.Extended-PortableSoft.7z" target="_blank"><font color="#46a8c8">点击这里下载文件</font></a><br>
下载地址-3 (RayFile)<a href="http://www.rayfile.com/files/dc1bb34c-ba96-11dd-81a1-0014221b798a/" target="_blank"><font color="#46a8c8">点击这里下载文件</font></a><br>
压缩包校验信息：<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; Adobe.Photoshop.CS4.Extended-PortableSoft.7z<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 大小: 67532107 字节<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; MD5: 610E7BDEC49FADD6F9881B95AAC69CF2<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; SHA1: DC9D0D2034C7869094880E9E1E96BC71CA163C73<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; CRC32: 55E66092<br>
<br>
其他资源下载：<br>
<br>
Adobe Photoshop CS4 官方英文帮助文件：<br>
<a href="http://help.adobe.com/en_US/Photoshop/11.0/photoshop_cs4_help.pdf" target="_blank"><font color="#46a8c8">http://help.adobe.com/en_US/Photoshop/11.0/photoshop_cs4_help.pdf</font></a><br>
Adobe Photoshop CS4 官方简体中文帮助文件：<br>
<a href="http://help.adobe.com/zh_CN/Photoshop/11.0/photoshop_cs4_help.pdf" target="_blank"><font color="#46a8c8">http://help.adobe.com/zh_CN/Photoshop/11.0/photoshop_cs4_help.pdf</font></a><br>
Adobe Photoshop CS4 官方繁体中文帮助文件：<br>
<a href="http://help.adobe.com/zh_TW/Photoshop/11.0/photoshop_cs4_help.pdf"><font color="#888888">http://help.adobe.com/zh_TW/Photoshop/11.0/photoshop_cs4_help.pdf</font></a></p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////</p>
<p>Dreamweaver 是世界上最优秀的<a href="http://www.portablesoft.cn/read.php/398.htm" target="_blank"><font color="#888888">可视化网页设计制作</font></a>工具和网站管理工具之一，支持最新的Web技术，包含HTML检查、HTML格式控制、HTML格式化选项、HomeSite/BBEdit捆绑、可视化网页设计、图像编辑、全局查找替换、全FTP功能、处理 Flash 和 Shockwave 等富媒体格式和动态HTML、基于团队的Web创作。在编辑上你可以选择可视化方式或者你喜欢的源码编辑方式！<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个<span style="color: #0000ff">绿色免安装版</span>是在 <a href="http://bbs.wmzhe.com/viewthread.php?tid=48692" target="_blank"><font color="#888888">Adobe Dreamweaver CS4 完美者特别版</font></a> 基础上绿化制作的。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  *&nbsp;&nbsp; 使用 Adobe Dreamweaver CS4 简体中文版制作，<span style="color: #0000ff">免序列号、免激活</span>，感谢Ansifa；<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 集成官方英文、简体中文、繁体中文语言组件；<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;<span style="color: #0000ff">直接集成VC运行库，无需安装任何运行库即可运行，下载解压即能用</span>！<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 有问题请反馈！</p>
<p><img style="width: 630px; cursor: pointer; height: 459px" height="763" alt="点击查看原始尺寸" src="http://pic.yupoo.com/portablesoft/083316885fca/xdxliioa.jpg" width="1045" border="0"></p>
<p>下载地址-1 (完美天空电信线路)<a href="http://soft3.wmzhe.com/download/PortableSoft/Adobe.Dreamweaver.CS4-PortableSoft.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-2 (完美天空网通线路)<a href="http://soft2.wmzhe.com/download/PortableSoft/Adobe.Dreamweaver.CS4-PortableSoft.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-3 (RayFile)<a href="http://www.rayfile.com/files/989cd900-b845-11dd-a135-0014221b798a/" target="_blank"><font color="#888888">点击这里下载文件</font></a></p>
<p><br>
压缩包校验信息：<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Adobe.Dreamweaver.CS4-PortableSoft.7z<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 大小: 62398766 字节<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MD5: 1ADBFD865175A74E6B7CF5EBEF74D1CA<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SHA1: 29FA0C34E57C48AFC8A6E40DCB2D91E064CE560C<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CRC32: B3A275BD<br>
<br>
其他资源下载：<br>
<br>
Adobe Dreamweaver CS4 官方英文帮助文件：<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://help.adobe.com/en_US/Dreamweaver/10.0_Using/dreamweaver_cs4_help.pdf" target="_blank"><font color="#888888">http://help.adobe.com/en_US/Dreamweaver/10.0_Using/dreamweaver_cs4_help.pdf</font></a><br>
Adobe Dreamweaver CS4 官方简体中文帮助文件：<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://help.adobe.com/zh_CN/Dreamweaver/10.0_Using/dreamweaver_cs4_help.pdf" target="_blank"><font color="#888888">http://help.adobe.com/zh_CN/Dreamweaver/10.0_Using/dreamweaver_cs4_help.pdf</font></a><br>
Adobe Dreamweaver CS4 官方繁体中文帮助文件：<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://help.adobe.com/zh_TW/Dreamweaver/10.0_Using/dreamweaver_cs4_help.pdf" target="_blank"><font color="#888888">http://help.adobe.com/zh_TW/Dreamweaver/10.0_Using/dreamweaver_cs4_help.pdf</font></a></p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////</p>
<p>使用 <a href="http://www.portablesoft.cn/read.php/399.htm" target="_blank"><font color="#46a8c8">Adobe Fireworks CS4</font></a> 软件快速构建网站和应用程序接口原型。借助这款增强型工具集，更快、更精确地创建并优化 Web 图像。借助增强型工具集，更快、更精确地创建、编辑和优化 Web 图形。借助改进的总体性能更快、更明智地工作，包括从文件打开、存储到符号更新、密集位图和矢量操作。<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">绿化/使用说明</span>：在 <a href="http://bbs.wmzhe.com/viewthread.php?tid=48596" target="_blank"><font color="#46a8c8">Adobe Fireworks CS4 完美者特别版</font></a> 基础上绿化制作。这个 Fireworks CS4 绿色版的主要特点有：<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 使用 Adobe Fireworks CS4 简体中文版制作<span style="color: #0000ff">，免序列号、免激活</span>，感谢 Ansifa；<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 集成<span style="color: #0000ff">英文</span>、<span style="color: #0000ff">简体中文</span>、<span style="color: #0000ff">繁体中文</span>语言组件；<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 默认显示简体中文界面，需要其他语言请自行切换；<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 默认只对 *.png 文件类型添加右键菜单 <span style="color: #0000ff">用 Fireworks 编辑</span>；<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 没有对系统分区的 <span style="color: #0000ff">Program Files\Common Files\Adobe</span> 目录做过多清理，以免引起不必要冲突，需要的请自行清理。</p>
<p><img style="width: 630px; cursor: pointer; height: 459px" height="763" alt="点击查看原始尺寸" src="http://pic.yupoo.com/portablesoft/10026689bb11/d2t97ufw.jpg" width="1045" border="0"></p>
<p>下载地址-1 (完美天空电信线路)<a href="http://soft3.wmzhe.com/download/PortableSoft/Adobe.Fireworks.CS4-PortableSoft.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a></p>
<p>下载地址-2 (完美天空网通线路)<a href="http://soft2.wmzhe.com/download/PortableSoft/Adobe.Fireworks.CS4-PortableSoft.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a></p>
<p>下载地址-3 (RayFile)<a href="http://www.rayfile.com/files/f6842835-b78f-11dd-a156-0014221b798a/" target="_blank"><font color="#888888">点击这里下载文件</font></a></p>
<p><br>
压缩包校验信息：<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; Adobe.Fireworks.CS4-PortableSoft.7z<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 大小: 78696730 字节<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; MD5: B7D1915537B70F97848045AD0B761CE8<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; SHA1: 191832B58E059F13F4E3FFCBDA80D770FB47578E<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; CRC32: 7C5F42F2<br>
<br>
其他资源下载：<br>
<br>
Adobe Fireworks CS4官方简体中文帮助文件：<br>
<a href="http://help.adobe.com/zh_CN/Fireworks/10.0_Using/fireworks_cs4_help.pdf" target="_blank"><font color="#888888">http://help.adobe.com/zh_CN/Fireworks/10.0_Using/fireworks_cs4_help.pdf</font></a><br>
<br>
Adobe Fireworks CS4官方繁体中文帮助文件：<br>
<a href="http://help.adobe.com/zh_TW/Fireworks/10.0_Using/fireworks_cs4_help.pdf" target="_blank"><font color="#888888">http://help.adobe.com/zh_TW/Fireworks/10.0_Using/fireworks_cs4_help.pdf</font></a><br>
<br>
Adobe Fireworks CS4官方英文帮助文件：<br>
<a href="http://help.adobe.com/en_US/Fireworks/10.0_Using/fireworks_cs4_help.pdf" target="_blank"><font color="#888888">http://help.adobe.com/en_US/Fireworks/10.0_Using/fireworks_cs4_help.pdf</font></a></p>
<p>///////////////////////////////////////////////////////////////////////////////////////////////</p>
<p> <a href="http://www.portablesoft.cn/read.php/400.htm" target="_blank"><font color="#46a8c8">Adobe Flash CS4 Professional</font></a> 软件是业界领先的创作环境, 用于创建引人入胜的交互式体验。面向使用不同平台和设备的用户。Flash 中的动画制作更简单，借助基于对象的动画快速创建动画、轻松修改运动路径并全面控制个别动画属性。使用一系列链接对象创建类似于链的动画效果, 或使用全新的骨骼工具扭曲单个形状。<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">绿化/使用说明</span>：基于 <a href="http://bbs.wmzhe.com/viewthread.php?tid=48857" target="_blank"><font color="#46a8c8">Adobe Flash CS4 Professional 完美者特别版</font></a> 绿化制作。这个绿色版的主要特点有：<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 使用 Adobe Flash CS4 Professional 官方简体中文版制作，<span style="color: #0000ff">免序列号、免激活</span>，感谢 Ansifa；<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 保留了所有 Flash 的插件，模板，示例、AIR创作等功能；<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 保留下了<span style="color: #0000ff">JAVA虚拟机组件</span>，简化了部分 Adobe 外挂组件；<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 保留多语言显示组件：<span style="color: #0000ff">英文</span>、<span style="color: #0000ff">简体中文</span>、<span style="color: #0000ff">繁體中文</span>，并可选择下载；</p>
<p><img style="width: 630px; cursor: pointer; height: 457px" height="759" alt="点击查看原始尺寸" src="http://pic.yupoo.com/portablesoft/2460668cb2f6/sifqipzw.jpg" width="1045" border="0"></p>
<div class="quote-content">下载说明：<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 鉴于文件体积较大，将程序文件和语言文件分开下载，所以请先下载<span style="color: #0000ff">主程序文件</span>，然后下载自己需要的<span style="color: #0000ff">语言显示文件</span>，并将下载到的语言文件压缩包中的文件夹解压到 Flash.exe 所在目录后，运行 <span style="color: #0000ff">@绿化&amp;卸载.exe</span> 并选择 <span style="color: #0000ff">绿化</span> 以完成初始化！</div>
<div class="quote-content">主程序文件 (压缩包9***MB，<span style="color: #0000ff">强烈推荐右键迅雷下载，谢谢合作</span>！) &mdash;&mdash;<br>
<br>
下载地址-1 (完美天空电信线路)<a href="http://soft3.wmzhe.com/download/PortableSoft/Adobe.Flash.CS4-PortableSoft.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-2 (完美天空网通线路)<a href="http://soft2.wmzhe.com/download/PortableSoft/Adobe.Flash.CS4-PortableSoft.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-3 (RayFile)<a href="http://www.rayfile.com/files/a83a7b33-b94f-11dd-a655-0019d11a795f/" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
压缩包校验信息：<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; Adobe.Flash.CS4-PortableSoft.7z<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 大小: 101103387 字节<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; MD5: C56BD00600684EDDED5E101E47454857<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; SHA1: DC142624097FD932750604B9F9C5F7B9DA1DB07F<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; CRC32: C9AF5553<br>
<hr>
<br>
<span style="color: #0000ff">英文</span>语言资源 (压缩包66.1MB，<span style="color: #0000ff">强烈推荐右键迅雷下载，谢谢合作</span>！) &mdash;&mdash;<br>
<br>
下载地址-1 (完美天空电信线路)<a href="http://soft3.wmzhe.com/download/PortableSoft/Flash_Lang_en.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-2 (完美天空网通线路)<a href="http://soft2.wmzhe.com/download/PortableSoft/Flash_Lang_en.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-3 (RayFile)<a href="http://www.rayfile.com/files/05462cc5-b953-11dd-bf1b-0014221b798a/" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
压缩包校验信息：<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; Flash_Lang_en.7z<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 大小: 69396422 字节<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; MD5: 5D18105B22C649604973F242E8A69D3D<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; SHA1: 9A5A3CE3C6A9487CA8311575F691A7014B87237E<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; CRC32: 89902DF2<br>
<hr>
<br>
<span style="color: #0000ff">简体中文</span>语言资源 (压缩包78.9MB，<span style="color: #0000ff">强烈推荐右键迅雷下载，谢谢合作</span>！) &mdash;&mdash;<br>
<br>
下载地址-1 (完美天空电信线路)<a href="http://soft3.wmzhe.com/download/PortableSoft/Flash_Lang_zh_CN.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-2 (完美天空网通线路)<a href="http://soft2.wmzhe.com/download/PortableSoft/Flash_Lang_zh_CN.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-3 (RayFile)<a href="http://www.rayfile.com/files/d7143954-b957-11dd-85a3-0019d11a795f/" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
压缩包校验信息：<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; Flash_Lang_zh_CN.7z<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 大小: 82810355 字节<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; MD5: AE36E95319D65247274E4BB2458C3D92<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; SHA1: A4BBA5FB4B4FCB281717117EF9CAA7AAE687F18C<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; CRC32: 4BF4A126<br>
<hr>
<br>
<span style="color: #0000ff">繁体中文</span>語言資源 (壓縮包84.1MB，<span style="color: #0000ff">強烈推薦右鍵迅雷下載，謝謝合作</span>！) &mdash;&mdash;<br>
<br>
下载地址-1 (完美天空电信线路)<a href="http://soft3.wmzhe.com/download/PortableSoft/Flash_Lang_zh_TW.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-2 (完美天空网通线路)<a href="http://soft2.wmzhe.com/download/PortableSoft/Flash_Lang_zh_TW.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-3 (RayFile)<a href="http://www.rayfile.com/files/ffe46b63-b95d-11dd-8b0a-0014221b798a/" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
壓縮包校驗信息：<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; Flash_Lang_zh_TW.7z<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; 大小: 88235641 字节<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; MD5: A8EA96FA21E5D92FF1C386AEC8746312<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; SHA1: AFAD8A8B77BAB7D4B0690DED01602BBEC07A3E22<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp; CRC32: 2FB86EC9<br>
<hr>
<br>
其他资源下载：<br>
<br>
Adobe Flash CS4官方英文帮助文件：<br>
<a href="http://help.adobe.com/en_US/Flash/10.0_UsingFlash/flash_cs4_help.pdf" target="_blank"><font color="#888888">http://help.adobe.com/en_US/Flash/10.0_UsingFlash/flash_cs4_help.pdf</font></a><br>
<br>
Adobe Flash CS4官方简体中文帮助文件：<br>
<a href="http://help.adobe.com/zh_CN/Flash/10.0_UsingFlash/flash_cs4_help.pdf" target="_blank"><font color="#888888">http://help.adobe.com/zh_CN/Flash/10.0_UsingFlash/flash_cs4_help.pdf</font></a><br>
<br>
Adobe Flash CS4官方繁體中文幫助文件：<br>
<a href="http://help.adobe.com/zh_TW/Flash/10.0_UsingFlash/flash_cs4_help.pdf" target="_blank"><font color="#888888">http://help.adobe.com/zh_TW/Flash/10.0_UsingFlash/flash_cs4_help.pdf</font></a></div>
<div class="quote-content">///////////////////////////////////////////////////////////////////////////////////////////////</div>
<div class="quote-content">&nbsp;&nbsp;<a href="http://www.portablesoft.cn/read.php/277.htm" target="_blank"><font color="#888888">Adobe Photoshop Lightroom 2</font></a>软件是当今数字拍摄工作流程中不可或缺的一部分。现在您可以快速导入、处理、管理和展示图像。其增强的校正工具、强大的组织功能以及灵活的打印选项可以帮助您加快图片后期处理速度，将更多的时间投入拍摄当中去。<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Adobe公司最近发布了<span style="color: #0000ff">Lightroom 2.1 Final版</span>， Adob Lightroom是一种适合专业摄影师输入，选择，修改和展示大量的数字图像的高效率软件。这样，用户可以花费更少的时间整理和完善照片。它界面干净整洁，可以让用户快速浏览和修改完善照片以及数以千计的图片。<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">绿化/使用说明</span>：为了汉化绿色版的正常运行，使用前请运行 <span style="color: #0000ff">@Adobe LightRoom 2.1_绿化工具.exe</span> ，根据提示选择 <span style="color: #0000ff">绿化</span> 操作，目的是写入非常干净绿色的 Visual C++ Runtime Library 运行库支持文件及写入注册信息，打开即为中文界面；如果需要清理该软件时请选择 <span style="color: #0000ff">卸载</span> 即可。</div>
<div class="quote-content"><img style="width: 630px; cursor: pointer; height: 456px" height="758" alt="点击查看原始尺寸" src="http://img248.imageshack.us/img248/8734/20081024114627kb7.png" width="1045" border="0"></div>
<div class="quote-content"> Lighroom是一款重要的<a href="http://www.portablesoft.cn/read.php/277.htm" target="_blank"><font color="#888888">后期制作工具</font></a>，界面和功能与苹果2005年10月推出的Aperture 1.0颇为相似，面向数码摄影、图形设计等专业人士和高端用户，支持各种RAW图像，主要用于数码相片的浏览、编辑、整理、打印等。Lightroom与Photoshop有很多相通之处，但定位不同，不会取而代之，而且Lightroom也没有Photoshop的很多功能，如选择工具、照片瑕疵修正工具、多文件合成工具、文字工具和滤镜等。同时，Windows版的Lightroom也失去了Mac OS X版的一些功能，如幻灯片背景音乐、照相机和存储卡监测功能、HTML格式幻灯片创建工具等。Adobe收购丹麦数码相片软件公司Pixmantec ApS后，获得了后者面向数码摄像的RawShooter软件，其工作流程管理、处理技术等都已经被整合到Windows版的Lightroom中。<br>
<hr>
[软件名称]&nbsp;&nbsp;<span style="color: #0000ff">Adobe Photoshop Lightroom v2.1 Final 汉化绿色注册版</span><br>
[界面语言]&nbsp;&nbsp; 简体中文<br>
[软件类别]&nbsp;&nbsp; 国外软件 - 图像处理<br>
[官方主页]&nbsp;&nbsp;<a href="http://www.adobe.com/cn/products/photoshoplightroom/" target="_blank"><font color="#888888">HomePage</font></a><br>
[软件发布]&nbsp;&nbsp;<a href="http://www.portablesoft.cn/read.php/277.htm" target="_blank"><font color="#888888">PortableSoft</font></a><br>
[操作系统]&nbsp;&nbsp; Windows XP/Vista<br>
[软件大小]&nbsp;&nbsp;<span style="color: #0000ff">11.3 MB</span><br>
[下载地址]<br>
<br>
<span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;<em>特别说明：汉化模块来自 ejones.ys168.com ，我将其整合到了绿色版中以方便使用，无需其他操作，打开即为中文界面，感谢汉化作者的辛苦努力！如需联系汉化作者 ejones 请写信至 ejones at 163.com ！由于 ejones 当时做得是针对2.0的汉化，应用到2.1 Final中可能有未汉化的地方...</em></span><br>
<br>
下载地址-1 (完美天空电信线路)<a href="http://soft3.wmzhe.com/download/PortableSoft/Adobe.Photoshop.Lightroom.v2.1.Final-PortableSoft.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-2 (完美天空网通线路)<a href="http://soft2.wmzhe.com/download/PortableSoft/Adobe.Photoshop.Lightroom.v2.1.Final-PortableSoft.7z" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-3 (纳米盘)<a href="http://www.namipan.com/d/70f2a0980b3d37789151de785cbaa607dbcd5c04b9b8b400" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
下载地址-4 (RayFile)<a href="http://www.rayfile.com/files/7a7ebe2b-a17d-11dd-b94b-0014221b798a/" target="_blank"><font color="#888888">点击这里下载文件</font></a><br>
喜欢 <span style="color: #0000ff">安装版+KeyGen</span> 的请移步这里下载：<a href="http://www.caiganinfo.com/read.php/3538.htm" target="_blank"><font color="#888888">http://www.caiganinfo.com/read.php/3538.htm</font></a></div> <a href="http://hi.baidu.com/windowweb/blog/item/562ec919a4ceeb72dbb4bd3b.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/windowweb/blog/category/%CD%F8%C2%E7%D6%AA%CA%B6%B7%D6%CF%ED">网络知识分享</a>&nbsp;<a href="http://hi.baidu.com/windowweb/blog/item/562ec919a4ceeb72dbb4bd3b.html#comment">查看评论</a>]]></description>
        <pubDate>2009-05-30  20:36</pubDate>
        <category><![CDATA[网络知识分享]]></category>
        <author><![CDATA[windowweb]]></author>
		<guid>http://hi.baidu.com/windowweb/blog/item/562ec919a4ceeb72dbb4bd3b.html</guid>
</item>

<item>
        <title><![CDATA[网络营销传统广告没效果 不妨试试音乐营销]]></title>
        <link><![CDATA[http://hi.baidu.com/windowweb/blog/item/9941560934fdc4c73ac7632d.html]]></link>
        <description><![CDATA[
		
		<table width="95%" align="center">
    <tbody>
        <tr>
            <td>
            <div> </div>
            <p>　　以音乐为手段的营销，利用音来加强品牌与消费者的沟通和交流，促进品牌与消费者建立更紧密的关系。音乐营销建立在病毒营销、<a class="common" href="http://www.5201320.com/info/?id=483#http://www.wunod.com//search_article.shtml?wo=%CA%C2%BC%FE%D3%AA%CF%FA" target="#_blank#">事件营销</a>、主题活动等基础上的<a class="common" href="http://www.5201320.com/info/?id=483#http://www.wunod.com//search_article.shtml?wo=%D5%FB%BA%CF%D3%AA%CF%FA" target="#_blank#">整合营销</a>传播体系。决定音乐营销成败的两大关键点，是否和品牌结合，想起音乐或明星就能关联到品牌;是否用户之间自发性的病毒传播。</p>
            <p>　　传统广告在年轻消费群体中是浪费的</p>
            <p>　　当一大堆70后或者60后的企业精英们，在会议室里策划着针对80后甚至90后的产品时候，你一定可以想象得到其场景是多么的可笑。大家根本就不懂年轻人，当你用自己的观念来揣摩年轻人的时候，你已经OUT了。企业高管们，当你的企业(或广告/公关公司)的<a class="common" href="http://www.5201320.com/info/?id=483#http://www.wunod.com//search_article.shtml?wo=%D3%AA%CF%FA%B2%DF%BB%AE" target="#_blank#">营销策划</a>人员由这些不懂年轻人的人组成时候，你的品牌其实也老了!</p>
            <p>　　新一代年轻消费群体让企业捉摸不定，其特性就是感性消费、追求潮流、喜欢多变。对于年轻消费群体来说传统广告只能让品牌混个脸熟，他们早已经把传统广告载体(电视机、收音机)丢在脑后了。你看年轻人喜欢的网游、电影、音乐等，哪一样不比电视机里的节目更精彩更刺激?你还指望唠唠叨叨的传统广告能触动他们吗?年轻人对传统高空轰炸式广告已经具备了的免疫性，甚至产生失望的厌烦情绪。年轻消费群体和以往消费群体不同的是，他们不会乖乖等你灌输广告，他们认为传统企业就像讲台上那个四眼老师，在把他们当傻瓜一样说教，所以很鄙视。他们喜欢主动选择权在自己手里，他们感性，但是更有个性，他们会很感性地喜欢有个性的品牌。所以，传统广告形式在年轻人群体中是失效的，有多少就浪费多少!这个时候，必须使用一种新的载体来营销你的品牌和产品。而音乐营销就成了针对年轻新一代营销的最佳手段。</p>
            <p>　　当传统广告没有效果的时候，你不妨试试音乐营销。</p>
            <p>　　音乐营销经典案例有很多，例如太阳神《当太阳升起的时候》，哇哈哈的《我的眼里只有你》和&ldquo;天天喝真快乐，哇哈哈&rdquo;，以及英特尔广告的声音识别系统，<a class="common" href="http://www.5201320.com/info/?id=483#http://www.wunod.com//search_article.shtml?wo=%B6%AF%B8%D0%B5%D8%B4%F8" target="#_blank#">动感地带</a>《我的地盘》等等，数不胜数。</p>
            <p>　　大家都知道音乐营销的好处，但之前一直没有系统的理论体系指导，因此长期以来大家对音乐营销的认识和操作都是很片面的。经常把音乐营销当做是一个事件营销来做：找了个明星、赞助了个演出，热闹一下。</p>
            <p>　　音乐营销其实是一个成体系的，包涵了品牌、产品、音乐、营销、传播等相辅相关联的整体营销概念。所以以往的音乐营销虽然有成功的，却很多是偶然的，没能持续;而更多的音乐营销是失的败，但不知道失败再哪，效果平庸的音乐营销其实就是失败。</p>
            <p>　　顾名思义，音乐营销=音乐+营销。如果不懂音乐，是无法做好音乐营销的，就好像很多<a class="common" href="http://www.5201320.com/info/?id=483#http://www.wunod.com//search_article.shtml?wo=%B5%E7%D7%D3%C9%CC%CE%F1" target="#_blank#">电子商务</a>做不好，就是因为IT出身的创业者只懂&ldquo;电子&rdquo;而不懂&ldquo;商务&rdquo;。所以做音乐营销，企业营销人员除了懂营销，还要懂音乐，否则很难成功。这个时候，企业不妨找懂音乐又懂营销的专业营销机构来合作。</p>
            <p>　　音乐营销的优势：</p>
            <p>　　用户看了就忘的广告等于白花钱。必须触动用户，引起用户的共鸣。长期以来，最能引起人们共鸣的就是音乐。相对小说、电影等载体，音乐是最短时间能引起共鸣的，并且记忆效果非常长久，一首歌可以传唱几十年，例如《上海滩》等等。</p>
            <p>　　音乐是通用语言，全世界的人都能听懂。音乐是来自心灵的声音，不需要翻译，不需要修辞。所以，音乐是与年轻用户沟通的最佳工具。音乐的情感性使得企业可以通过音乐的情拨动顾客善感的心，使之产生共鸣。形象式的品牌广告在消费者心目中只泛起一种感觉，音乐营销则直接给消费者带来体验。这种体验来自消费者与品牌的互动，而不是品牌单方面输入的讯息。对于年轻用户来说，简单的品牌接触根本不能引起认同感。而音乐是钉子，可以刺入消费者内心。品牌通过音乐营销，让用户过瘾了一次，产生了重度情感。</p>
            <p>　　在传播效果上，传统的广告模式是我播你看，成本高昂;而音乐营销就是病毒营销，是通过用户间自发传播，只要一两个关键点做到位了，品牌就可以轻易地搭载音乐进行快速的、大范围的病毒传播。这种用户之间自发传播效果更持久，有时候品牌或产品没了，音乐还在。例如：太阳神，燕舞。</p>
            <p>　　传统广告和音乐营销的效果对比</p>
            <p>　　传统广告的特点是覆盖面广，影响广泛。具备更高的到达率，广告效果更直接。并且是渠道垄断，注意率较高，具有很高的权威性。</p>
            <p>　　而音乐营销的特点有三大点。一是分众性，细分市场、特定用户群、定向的&ldquo;窄　　播&rdquo; ，突破 &ldquo;广播&rdquo;模式。二是互动性：信息发送者和信息接受者之间的双向互动和沟通。三是低成本：网络消除了国界，零费用信息发布和免费共享，这对传统媒体的新闻产品制作成本造成挑战 。</p>
            <p>　　传统媒体的劣势：强制性、单向传播、拉动式、高成本，受众边缘化(中老年用户为主。而音乐营销优势：自发性病毒传播，受众年轻化，尤其适合年轻人群，低成本。</p>
            <p>　　传统的营销是营销1.0，音乐营销是营销2.0;营销1.0是有限插播的广告，营销2.0是无限互动的游戏。音乐营更遵循营销2.0的特性，所以它的形式是颠覆传统营销模式的。</p>
            <p>　　音乐营销有三个改变。其实也是遵循了营销2.0对传统营销的三个改变。</p>
            <p>　　改变一：传播方式调转(大众传播、分众传播、个众传播)。传统营销是从大众传播到小众或者个众，大众媒体是主导;而音乐营销是从个众和小众开始，再扩散到大众。</p>
            <p>　　改变二：营销面从小向大，传统营销是10000&gt;1000&gt;100，也就是投放媒体有10000人的覆盖面，然后有1000人看了广告，有100人记住品牌;而音乐营销是：100&gt;1000&gt;10000，也就是最开始有100个种子用户产生共鸣，然后他们扩散传播给1000个人，然后由扩散传播给10000个人。</p>
            <p>　　改变三：品牌形象将让位于品牌与消费者的直接关系。传统品牌广告在消费者心目中泛起一种感觉，品牌往往是作为同质化竞争下的差异化诉求。而音乐营销则直接给消费者带来体验，而不是单方面输入讯息。音乐营销的品牌是个性化，而不是为了差异化而差异化。</p>
            <p>　　音乐营销尤其适合于针对年轻新一代消费群体的品牌，同时，音乐营销也是让企业已经老化了的品牌焕发青春的最佳良药。</p>
            <p>　　那么企业该如果做一个成功的音乐营销呢，如何评价你的音乐营销的效果呢?其实很简单，只有两点：1、是否和品牌结合，想起音乐或明星就能关联到品牌;2、是否用户之间自发性的病毒传播。两者缺一就不能说是成功的音乐营销。</p>
            </td>
        </tr>
    </tbody>
</table> <a href="http://hi.baidu.com/windowweb/blog/item/9941560934fdc4c73ac7632d.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/windowweb/blog/category/%CD%F8%C2%E7%D6%AA%CA%B6%B7%D6%CF%ED">网络知识分享</a>&nbsp;<a href="http://hi.baidu.com/windowweb/blog/item/9941560934fdc4c73ac7632d.html#comment">查看评论</a>]]></description>
        <pubDate>2009-05-14  19:02</pubDate>
        <category><![CDATA[网络知识分享]]></category>
        <author><![CDATA[windowweb]]></author>
		<guid>http://hi.baidu.com/windowweb/blog/item/9941560934fdc4c73ac7632d.html</guid>
</item>

<item>
        <title><![CDATA[DHCP服务实现IP地址分配自动化]]></title>
        <link><![CDATA[http://hi.baidu.com/windowweb/blog/item/32551934393a39335ab5f54d.html]]></link>
        <description><![CDATA[
		
		<p style="text-indent: 2em">在TCP/IP网络中，计算机之间依靠IP地址进行通信，每一台计算机都必须有惟一的IP地址。因此，IP地址的管理、分配与设置就显得非常重要。但是，网络管理员在手动为每台计算机设置IP地址时，如果计算机数量比较多就会特别麻烦，而且也很容易出错。使用动态主机配置协议（Dynamic Host Configuration Protocol，DHCP）就可解决这个问题。DHCP服务器可以自动为局域网中的计算机分配IP地址信息，大大减轻了网络管理员的工作负担，并可减少IP地址故障的发生。</p>
<p style="text-indent: 2em"><strong>安装DHCP服务</strong></p>
<p style="text-indent: 2em">DHCP是一个非常优秀的IP地址管理工具，使用起来既方便又不易出错。在Windows Server 2003操作系统中，除了可以使用&ldquo;Windows组件向导&rdquo;安装DHCP服务以外，还可通过&ldquo;配置您的服务器向导&rdquo;实现。</p>
<p style="text-indent: 2em">打开&ldquo;管理您的服务器&rdquo;窗口，单击&ldquo;添加或删除角色&rdquo;链接，显示&ldquo;配置您的服务器向导&rdquo;，运行服务器安装向导。如图1所示，在&ldquo;服务器角色&rdquo;对话框中，选择&ldquo;DHCP服务器&rdquo;选项，将该计算机安装为DHCP服务器。</p>
<p style="text-indent: 2em">在&ldquo;作用域名&rdquo;对话框中，指定该DHCP服务器作用域的名称。为了避免未授权用户在网络中设置非法的DHCP服务器，每个DHCP服务器都必须指定自己的作用域，并且只有拥有域管理权限的用户，才能够执行该操作。</p>
<p style="text-indent: 2em">DHCP作用域需要配置以下信息：</p>
<p style="text-indent: 2em">● IP地址的范围，可在其中加入或排除DHCP服务用于租用的地址；</p>
<p style="text-indent: 2em">● 子网掩码，用于确定给定IP地址所属的子网；</p>
<p style="text-indent: 2em">● 作用域创建时指派的名称；</p>
<p style="text-indent: 2em">● 租约期限值，指派给动态接收分配的IP地址的DHCP客户端；</p>
<p style="text-indent: 2em">● 因指派给DHCP客户端而配置的DHCP作用域选项；</p>
<p style="text-indent: 2em">● 保留（可选），用于确保DHCP客户端总是能收到同样的IP地址。</p>
<p style="text-indent: 2em">如图2所示，在&ldquo;IP地址范围&rdquo;对话框中，设置由该DHCP服务器分配的IP地址范围（称作IP地址池），并设置&ldquo;子网掩码&rdquo;或子网掩码的&ldquo;长度&rdquo;。如果IP地址由ISP提供，那么ISP会将起止IP地址和子网掩码一同告知用户。如果ISP没有提供足够的公有IP地址，那么在网络内部应当保留IP地址段，然后借助代理服务器或其他IP地址转换方式，实现Internet连接共享。</p>
<p style="text-indent: 2em">在&ldquo;添加排除&rdquo;对话框中，设置保留的IP地址起止范围。由于所有的服务器都需要采用静态IP地址，而且某些特殊用户往往也需要采用静态IP地址，因此应当将这些IP地址添加到&ldquo;排除的IP地址范围&rdquo;列表中，而不再由DHCP动态分配。</p>
<p style="text-indent: 2em">在&ldquo;配置DHCP选项&rdquo;对话框中，选择&ldquo;是，我想现在配置这些选项&rdquo;选项，准备配置默认网关、DNS服务器IP地址等重要的IP地址信息。这样配置服务器之后， DHCP客户端只需设置为&ldquo;自动获取IP地址信息&rdquo;即可。</p>
<p style="text-indent: 2em">在&ldquo;路由器（默认网关）&rdquo;对话框中，指定默认网关的IP地址。如果使用代理共享Internet接入，那么代理服务器的内部IP地址就是默认网关；如果采用路由器接入Internet，那么路由器内部以太网口的IP地址就是默认网关；如果局域网划分有VLAN，那么为VLAN指定的IP地址就是默认网关。</p>
<p style="text-indent: 2em">如图3所示，在&ldquo;域名称和DNS服务器&rdquo;对话框中，设置域名称和DNS服务器的IP地址。如果网络内部安装有DNS服务器，那么这里的DNS应当指定内部DNS服务器的IP地址；如果网络没有提供DNS服务，那么就应当键入ISP提供的DNS服务器的IP地址。另外，通常应当提供两个以上的DNS服务器，保证当第一个DNS服务器发生故障后，仍然可以借助其他DNS服务器实现DNS解析。</p>
<p style="text-indent: 2em">在&ldquo;激活作用框&rdquo;对话框中，选择&ldquo;是，我想现在激活作用域&rdquo;选项，激活该DHCP服务器，为网络提供DHCP服务。需要注意的是，DHCP服务器必须在激活作用域后才能提供DHCP服务。</p>
<p style="text-indent: 2em">另外，DHCP服务也可以在控制面板中，采用传统的&ldquo;添加/删除程序&rdquo;方式添加安装。在&ldquo;Windows组件&rdquo;→&ldquo;网络服务&rdquo;中选中&ldquo;动态主机配置协议（DHCP）&rdquo;复选框即可（如图4所示）。</p>
<p style="text-indent: 2em"><strong>DHCP管理控制台</strong></p>
<p style="text-indent: 2em">DHCP服务安装完成以后，依次选择&ldquo;开始&rdquo;→&ldquo;管理工具&rdquo;→&ldquo;DHCP&rdquo;，打开DHCP控制台窗口，即可对DHCP服务进行配置管理。</p>
<p style="text-indent: 2em">在DHCP控制台中，可以管理多个DHCP服务器，每个DHCP服务器又可管理多个作用域，具体的配置都是以作用域为单位来管理的，每个作用域拥有特定的IP地址范围。DHCP控制台的管理层次为：DHCP→DHCP服务器→超级作用域→作用域→IP地址范围。</p>
<p style="text-indent: 2em"><strong>添加保留IP地址</strong></p>
<p style="text-indent: 2em">在一个网络中，有时需要给某些DHCP客户端配置固定专用的IP地址，而这些特定的IP地址便不能再分配给其他DHCP客户端，这就需要用DHCP服务器的&ldquo;保留&rdquo;功能来实现。当这个DHCP客户端每次向DHCP服务器请求获得IP地址，或更新IP地址的租期时，DHCP服务器都会给该DHCP客户端分配相同的IP地址。</p>
<p style="text-indent: 2em">如果使用包含保留IP地址范围的作用域中配置了多个DHCP服务器，就必须在每个DHCP服务器上均生成和复制客户端保留。否则，保留的客户端计算机在请求IP地址时，可能会接收到多个DHCP服务器的响应，从而接收到多个不同的IP地址。</p>
<p style="text-indent: 2em">在DHCP窗口中展开作用域，选择&ldquo;保留&rdquo;项，右击并选择快捷菜单中的&ldquo;新建保留&rdquo;选项，打开如图5所示的&ldquo;新建保留&rdquo;对话框。</p>
<p style="text-indent: 2em">各选项的具体含义如下：</p>
<p style="text-indent: 2em">● 保留名称：用于标识DHCP客户端的名称。这个名称只有在管理DHCP服务器中的数据时才使用，而在真正的通信中则不起任何作用。</p>
<p style="text-indent: 2em">● IP地址：要保留给该DHCP客户端的IP地址。</p>
<p style="text-indent: 2em">● MAC地址：也就是该DHCP客户端的网卡的MAC地址，即网卡的卡号。每一块网卡的MAC地址都是惟一的。</p>
<p style="text-indent: 2em">● 支持的类型：用于设置该客户端是否必须支持DHCP服务。对于以无盘方式工作的客户端需选择&ldquo;仅BOOTP&rdquo;选项，否则选择&ldquo;仅DHCP&rdquo;选项，若无法确定则可以选择&ldquo;两者&rdquo;选项。</p>
<p style="text-indent: 2em">设置完成以后单击&ldquo;添加&rdquo;按钮，该IP地址便指定给该DHCP客户端，并且将结果显示在窗口中。</p>
<p style="text-indent: 2em"><strong>Windows客户端的设置</strong></p>
<p style="text-indent: 2em">DHCP客户端计算机的网络设置具体的操作步骤为：在控制面板中打开网络连接窗口，然后右击&ldquo;本地连接&rdquo;图标，在快捷菜单中选择&ldquo;属性&rdquo;项；在打开的&ldquo;本地连接 属性&rdquo;对话框中，双击&ldquo;Internet协议（TCP/IP）&rdquo;，打开&ldquo;Internet协议（TCP/IP） 属性&rdquo;对话框；分别选中&ldquo;自动获得IP地址&rdquo;和&ldquo;自动获得DNS服务器地址&rdquo;单选框，连续单击两次&ldquo;确定&rdquo;按钮即可。</p>
<p style="text-indent: 2em">至此，DHCP服务器和客户端的设置已经完成，网络管理员可以很方便地实现IP地址的管理、分配与设置，从而减轻工作负担，并减少IP地址故障的发生。　</p>
<p style="text-indent: 2em"><img src="http://media.ccidnet.com/media/ciw/img/1625/c2401t01.jpg"></p>
<p style="text-indent: 2em">图1 服务器角色对话框</p>
<p style="text-indent: 2em"><img src="http://media.ccidnet.com/media/ciw/img/1625/c2401t02.jpg"></p>
<p style="text-indent: 2em">图2 IP地址范围对话框</p>
<p style="text-indent: 2em"><img src="http://media.ccidnet.com/media/ciw/img/1625/c2401t03.jpg"></p>
<p style="text-indent: 2em">图3 域名称和DNS服务器对话框</p>
<p style="text-indent: 2em"><img src="http://media.ccidnet.com/media/ciw/img/1625/c2401t04.jpg"></p>
<p style="text-indent: 2em">图4 网络服务对话框</p>
<p style="text-indent: 2em"><img src="http://media.ccidnet.com/media/ciw/img/1625/c2401t05.jpg"></p>
<p style="text-indent: 2em">图5 新建保留对话框</p> <a href="http://hi.baidu.com/windowweb/blog/item/32551934393a39335ab5f54d.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/windowweb/blog/category/%CD%F8%C2%E7%D6%AA%CA%B6%B7%D6%CF%ED">网络知识分享</a>&nbsp;<a href="http://hi.baidu.com/windowweb/blog/item/32551934393a39335ab5f54d.html#comment">查看评论</a>]]></description>
        <pubDate>2009-03-24  16:12</pubDate>
        <category><![CDATA[网络知识分享]]></category>
        <author><![CDATA[windowweb]]></author>
		<guid>http://hi.baidu.com/windowweb/blog/item/32551934393a39335ab5f54d.html</guid>
</item>

<item>
        <title><![CDATA[ERP系统]]></title>
        <link><![CDATA[http://hi.baidu.com/windowweb/blog/item/a74ba60a5f111f1795ca6b83.html]]></link>
        <description><![CDATA[
		
		<div class="titord_first"><span class="t1"><a name="1"></a><strong>概念解释</strong></span>
<div class="edit"> </div>
</div>
<p>ERP是英文Enterprise Resource Planning(企业资源计划)的简称。<br>
<a name="baidusnap0"></a><strong style="color: black; background-color: #ffff66">ERP系统是</strong>指建立在信息技术基础上，以系统化的管理思想，为企业决策层及员工提供决策运行手段的管理平台。它是从MRP(物料需求计划)发展而来的新一代集成化管理信息系统，它扩展了MRP的功能，其核心思想是供应链管理。它跳出了传统企业边界，从供应链范围去优化企业的资源。ERP系统集中信息技术与先进的管理思想於一身，成为现代企业的运行模式，反映时代对企业合理调配资源，最大化地创造社会财富的要求，成为企业在信息时代生存、发展的基石。它对于改善企业业务流程、提高企业核心竞争力的作用是显而易见的。</p>
<p> </p>
<div class="titord"><span class="arr"><a title="返回页首" href="http://baike.baidu.com/view/86915.htm#" name="STAT_ONCLICK_UNSUBMIT_CATALOG_RETURN"></a></span><span class="t1"><a name="2"></a><strong>ERP系统的管理思想</strong></span>
<div class="edit"> </div>
</div>
ERP的核心目的就是实现对整个供应链的有效管理，主要体现在以下三个方面： <br>
1、体现对整个供应链资源进行管理的思想 <br>
在知识经济时代仅靠自己企业的资源不可能有效地参与市场竞争，还必须把经营过程中的有关各方如供应商、制造工厂、分销网络、客户等纳入一个紧密的供应链中，才能有效地安排企业的产、供、销活动，满足企业利用全社会一切市场资源快速高效地进行生产经营的需求，以期进一步提高效率和在市场上获得竞争优势。换句话说，现代企业竞争不是单一企业与单一企业间的竞争，而是一个企业供应链与另一个企业供应链之间的竞争。ERP系统实现了对整个企业供应链的管理，适应了企业在知识经济时代市场竞争的需要。 <br>
2、体现精益生产、同步工程和敏捷制造的思想 <br>
ERP系统支持对混合型生产方式的管理，其管理思想表现在两个方面：其一是&ldquo;精益生产LP（Lean Production）&rdquo;的思想，它是由美国麻省理工学院（MIT）提出的一种企业经营战略体系。即企业按大批量生产方式组织生产时，把客户、销售代理商、供应商、协作单位纳入生产体系，企业同其销售代理、客户和供应商的关系，已不再简单地是业务往来关系，而是利益共享的合作伙伴关系，这种合作伙伴关系组成了一个企业的供应链，这即是精益生产的核心思想。其二是&ldquo;敏捷制造&rdquo;（Agile Manufacturing）的思想。当市场发生变化，企业遇有特定的市场和产品需求时，企业的基本合作伙伴不一定能满足新产品开发生产的要求，这时，企业会组织一个由特定的供应商和销售渠道组成的短期或一次性供应链，形成&ldquo;虚拟工厂&rdquo;，把供应和协作单位看成是企业的一个组成部分，运用&ldquo;同步工程（SE）&rdquo;，组织生产，用最短的时间将新产品打入市场，时刻保持产品的高质量、多样化和灵活性，这即是&ldquo;敏捷制造&rdquo;的核心思想。 <br>
3、体现事先计划与事中控制的思想 <br>
ERP系统中的计划体系主要包括：主生产计划、物料需求计划、能力计划、采购计划、销售执行计划、利润计划、财务预算和人力资源计划等，而且这些计划功能与价值控制功能已完全集成到整个供应链系统中。 <br>
另一方面，ERP系统通过定义事务处理（Transaction）相关的会计核算科目与核算方式，以便在事务处理发生的同时自动生成会计核算分录，保证了资金流与物流的同步记录和数据的一致性。从而实现了根据财务资金现状，可以追溯资金的来龙去脉，并进一步追溯所发生的相关业务活动，改变了资金信息滞后于物料信息的状况，便于实现事中控制和实时做出决策。 <br>
此外，计划、事务处理、控制与决策功能都在整个供应链的业务处理流程中实现，要求在每个流程业务处理过程中最大限度地发挥每个人的工作潜能与责任心，流程与流程之间则强调人与人之间的合作精神，以便在有机组织中充分发挥每个的主观能动性与潜能。实现企业管理从&ldquo;高耸式&rdquo;组织结构向&ldquo;扁平式&rdquo;组织机构的转变，提高企业对市场动态变化的响应速度。 <br>
总之，借助IT技术的飞速发展与应用，ERP系统得以将很多先进的管理思想变成现实中可实施应用的计算机软件系统。 <br>
<br>
<div class="titord"><span class="arr"><a title="返回页首" href="http://baike.baidu.com/view/86915.htm#" name="STAT_ONCLICK_UNSUBMIT_CATALOG_RETURN"></a></span><span class="t1"><a name="3"></a><strong>ERP的核心功能</strong></span>
<div class="edit"> </div>
</div>
对于ERP原理的初步了解是我们认识ERP的基础，接下来，为了使大家对ERP产品有一个感性的认识，我们就要从它的功能上再给予进一步的介绍。<br>
以往我们总是以某个产品为背景来介绍ERP系统，但是由于各个厂家产品的风格与侧重点不尽相同，因而其ERP产品的模块结构也相差较大。对于初次了解ERP的读者来说，有时可能会觉得弄不清到底哪个才是真正的ERP系统。所以，在这里，我们撇开实际的产品，从企业的角度来简单描述一下ERP系统的功能结构，即ERP能够为企业做<a name="baidusnap3"></a><strong style="color: black; background-color: #ff9999">什么</strong>，它的模块功能到底包含哪些内容。<br>
<strong>特点</strong><br>
ERP是将企业所有资源进行整合集成管理，简单的说是将企业的三大流：物流，资金流，信息流进行全面一体化管理的管理信息系统。它的功能模块以不同于以往的MRP或MRPII的模块，它不仅可用于生产企业的管理，而且在许多其它类型的企业如一些非生产，公益事业的企业也可导入ERP系统进行资源计划和管理。<br>
ERP系统的特点有：<br>
&#8226;企业内部管理所需的业务应用系统，主要是指财务、物流、人力资源等核心模块。<br>
&#8226;物流管理系统采用了制造业的MRP管理思想；FMIS有效地实现了预算管理、业务评估、管理会计、ABC成本归集方法等现代基本财务管理方法；人力资源管理系统在组织机构设计、岗位管理、薪酬体系以及人力资源开发等方面同样集成了先进的理念。 <br>
&#8226;<strong style="color: black; background-color: #ffff66">ERP系统是</strong>一个在全公司范围内应用的、高度集成的系统。数据在各业务系统之间高度共享，所有源数据只需在某一个系统中输入一次，保证了数据的一致性。  <br>
&#8226;对公司内部业务流程和管理过程进行了优化，主要的业务流程实现了自动化。<br>
&#8226;采用了计算机最新的主流技术和体系结构：B/S、INTERNET体系结构，WINDOWS界面。在能通信的地方都可以方便地接入到系统中来。  <br>
&#8226;集成性、先进性、统一性、完整性、开放性。<br>
<br>
<strong>功能标准</strong><br>
美国著名的计算机技术咨询和评估集团Gartner Group提出ERP具备的功能标准应包括四个方面:<br>
1. 超越MRPⅡ范围的集成功能<br>
包括质量管理;试验室管理;流程作业管理;配方管理;产品数据管理;维护管理;管制报告和仓库管理。<br>
2. 支持混合方式的制造环境<br>
包括既可支持离散又可支持流程的制造环境;按照面向对象的业务模型组合业务过程的能力和国际范围内的应用。<br>
3. 支持能动的监控能力,提高业务绩效<br>
包括在整个企业内采用控制和工程方法;模拟功能;决策支持和用于生产及分析的图形能力。<br>
4. 支持开放的客户机/服务器计算环境<br>
包括客户机/服务器体系结构;图形用户界面(GUI);计算机辅助设计工程(CASE),面向对象技术;使用SQL对关系数据库查询;内部集成的工程系统、商业系统、数据采集和外部集成 (EDI)。<br>
ERP是对MRPⅡ的超越,从本质上看,ERP仍然是以MRPⅡ为核心,但在功能和技术上却超越了传统的MRPⅡ,它是以顾客驱动的、基于时间的、面向整个供应链管理的企业资源计划。<br>
进一步地，我们可以从管理思想、软件产品、管理系统三个层次给出它的定义： <br>
1．是由Garter Group 提出的一整套企业管理系统体系标准，其实质是在MRP II（Manufacturing Resources Planning,&ldquo;制造资源计划&rdquo;） 基础上进一步发展而成的面向供应链（Supply Chain）的管理思想； <br>
2．是综合应用了客户机/服务器体系、关系数据库结构、面向对象技术、图形用户界面、第四代语言（4GL）、网络通讯等信息产业成果，以ERP管理思想为灵魂的软件产品； <br>
3．是整合了企业管理理念、业务流程、基础数据、人力物力、计算机硬件和软件于一体的企业资源管理系统。 <br>
它是从MRP(物料资源计划)发展而来的新一代集成化管理信息系统，它扩展了MRP的功能，其核心思想是供应链管理，它跳出了传统企业边界，从供应链范围去优化企业的资源，是基于网络经济时代的新一代信息系统。它对于改善企业业务流程、提高企业核心竞争力的作用是显而易见的。ERP是在20世纪80年代初开始出现的。从90年代开始，以SAP、Oracle为代表的国际著名ERP产品进入中国，并迅速扩展。接着，国内也相继出现了一些早期ERP产品，例如开思ERP、利玛ERP、和佳ERP及博科ERP等。<br>
<br>
<strong>核心内容</strong><br>
在企业中，一般的管理主要包括三方面的内容：生产控制（计划、制造）、物流管理（分销、采购、库存管理）和财务管理（会计核算、财务管理）。这三大系统本身就是集成体，它们互相之间有相应的接口，能够很好的整合在一起来对企业进行管理。另外，要特别一提的是，随着企业对人力资源管理重视的加强，已经有越来越多的ERP厂商将人力资源管理纳入了ERP系统的一个重要组成部分，对这一功能，我们也会进行一下简要的介绍。这里我们将仍然以典型的生产企业为例子来介绍ERP的功能模块,据知名猎头烽火猎聘年度报告显示erp人才正处在人才缺少阶段，有很好的就业前景。<br>
<strong>一、财务管理模块</strong><br>
企业中，清晰分明的财务管理是极其重要的。所以，在ERP整个方案中它是不可或缺的一部分。ERP中的财务模块与一般的财务软件不同，作为ERP系统中的一部分，它和系统的其它模块有相应的接口，能够相互集成，比如：它可将由生产活动、采购活动输入的信息自动计入财务模块生成总账、会计报表，取消了输入凭证繁琐的过程，几乎完全替代以往传统的手工操作。一般的ERP软件的财务部分分为会计核算与财务管理两大块。<br>
（一）会计核算<br>
会计核算主要是记录、核算、反映和分析资金在企业经济活动中的变动过程及其结果。它由总账、应收账、应付帐、现金、固定资产、多币制等部分构成。<br>
1、总帐模块<br>
它的功能是处理记账凭证输入、登记，输出日记账、一般明细账及总分类账，编制主要会计报表。它是整个会计核算的核心，应收帐、应付帐、固定资产核算、现金管理、工资核算、多币制等各模块都以其为中心来互相信息传递。<br>
2、应收帐模块<br>
是指企业应收的由于商品赊欠而产生的正常客户欠款帐。它包括发票管理、客户管理、付款管理、帐龄分析等功能。<br>
它和客户订单、发票处理业务相联系，同时将各项事件自动生成记账凭证，导入总账。<br>
3、应付帐模块<br>
会计里的应付帐是企业应付购货款等帐，它包括了发票管理、供应商管理、支票管理、帐龄分析等。它能够和采购模块、库存模块完全集成以替代过去繁琐的手工操作。<br>
4、现金管理模块<br>
它主要是对现金流入流出的控制以及零用现金及银行存款的核算。它包括了对硬币、纸币、支票、汇票和银行存款的管理。在ERP中提供了票据维护、票据打印、付款维护、银行清单打印、付款查询、银行查询和支票查询等和现金有关的功能。<br>
此外，它还和应收帐、应付帐、总账等模块集成，自动产生凭证，过入总账。<br>
5、固定资产核算模块<br>
即完成对固定资产的增减变动以及折旧有关基金计提和分配的核算工作。它能够帮助管理者对目前固定资产的现状有所了解，并能通过该模块提供的各种方法来管理资产，以及进行相应的会计处理。<br>
它的具体功能有：登录固定资产卡片和明细账，计算折旧，编制报表，以及自动编制转账凭证，并转入总账。它和应付帐、成本、总账模块集成。<br>
6、多币制模块<br>
这是为了适应当今企业的国际化经营，对外币结算业务的要求增多而产生的。多币制将企业整个财务系统的各项功能以各种币制来表示和结算，且客户订单、库存管理及采购管理等也能使用多币制进行交易管理。<br>
多币制和应收帐、应付帐、总帐、客户订单、采购等各模块都有接口，可自动生成所需数据。<br>
7、工资核算模块<br>
自动进行企业员工的工资结算、分配、核算以及各项相关经费的计提。它能够登录工资、打印工资清单及各类汇总报表，计算计提各项与工资有关的费用，自动做出凭证，导入总账。这一模块是和总帐，成本模块集成的。<br>
8、成本模块<br>
它将依据产品结构、工作中心、工序、采购等信息进行产品的各种成本的计算，以便进行成本分析和规划。还能用标准成本或平均成本法按地点维护成本。<br>
（二）财务管理<br>
财务管理的功能主要是基于会计核算的数据，再加以分析，从而进行相应的预测，管理和控制活动。它侧重于财务计划、控制、分析和预测：<br>
财务计划：根据前期财务分析做出下期的财务计划、预算等。<br>
财务分析：提供查询功能和通过用户定义的差异数据的图形显示进行财务绩效评估，帐户分析等。<br>
财务决策：财务管理的核心部分，中心内容是作出有关资金的决策，包括资金筹集、投放及资金管理。<br>
<br>
<strong>二、生产控制管理模块</strong> <br>
这一部分是ERP系统的核心所在，它将企业的整个生产过程有机的结合在一起，使得企业能够有效的降低库存，提高效率。同时各个原本分散的生产流程的自动连接，也使得生产流程能够前后连贯的进行，而不会出现生产脱节，耽误生产交货时间。<br>
生产控制管理是一个以计划为导向的先进的生产、管理方法。首先，企业确定它的一个总生产计划，再经过系统层层细分后，下达到各部门去执行。即生产部门以此生产，采购部门按此采购等等。<br>
1、主生产计划<br>
它是根据生产计划、预测和客户订单的输入来安排将来的各周期中提供的产品种类和数量，它将生产计划转为产品计划，在平衡了物料和能力的需要后，精确到时间、数量的详细的进度计划。是企业在一段时期内的总活动的安排，是一个稳定的计划，是以生产计划、实际订单和对历史销售分析得来的预测产生的。<br>
2、物料需求计划<br>
在主生产计划决定生产多少最终产品后，再根据物料清单，把整个企业要生产的产品的数量转变为所需生产的零部件的数量，并对照现有的库存量，可得到还需加工多少，采购多少的最终数量。这才是整个部门真正依照的计划。<br>
3、能力需求计划<br>
它是在得出初步的物料需求计划之后，将所有工作中心的总工作负荷，在与工作中心的能力平衡后产生的详细工作计划，用以确定生成的物料需求计划是否是企业生产能力上可行的需求计划。能力需求计划是一种短期的、当前实际应用的计划。<br>
4、车间控制<br>
这是随时间变化的动态作业计划，是将作业分配到具体各个车间，再进行作业排序、作业管理、作业监控。<br>
5、制造标准<br>
在编制计划中需要许多生产基本信息，这些基本信息就是制造标准，包括零件、产品结构、工序和工作中心，都用唯一的代码在计算机中识别。<br>
a.零件代码，对物料资源的管理，对每种物料给予唯一的代码识别。<br>
b.物料清单，定义产品结构的技术文件，用来编制各种计划。<br>
c.工序，描述加工步骤及制造和装配产品的操作顺序。它包含加工工序顺序，指明各道工序的加工设备及所需要的额定工时和工资等级等。<br>
d.工作中心，使用相同或相似工序的设备和劳动力组成的，从事生产进度安排、核算能力、计算成本的基本单位。<br>
<br>
<strong>三、物流管理<br>
</strong>（一）分销管理<br>
销售的管理是从产品的销售计划开始，对其销售产品、销售地区、销售客户各种信息的管理和统计，并可对销售数量、金额、利润、绩效、客户服务做出全面的分析，这样在分销管理模块中大致有三方面的功能。<br>
1、对于客户信息的管理和服务<br>
它能建立一个客户信息档案，对其进行分类管理，进而对其进行针对性的客户服务，以达到最高效率的保留老客户、争取新客户。在这里，要特别提到的就是最近新出现的CRM软件，即客户关系管理，ERP与它的结合必将大大增加企业的效益。<br>
2、对于销售订单的管理<br>
销售订单是ERP的入口，所有的生产计划都是根据它下达并进行排产的。而销售订单的管理是贯穿了产品生产的整个流程。它包括：<br>
a.客户信用审核及查询（客户信用分级，来审核订单交易）。<br>
b.产品库存查询（决定是否要延期交货、分批发货或用代用品发货等）。<br>
c.产品报价（为客户作不同产品的报价）。<br>
d.订单输入、变更及跟踪（订单输入后，变更的修正，及订单的跟踪分析）。<br>
e.交货期的确认及交货处理(决定交货期和发货事物安排)。<br>
3、对于销售的统计与分析<br>
这时系统根据销售订单的完成情况，依据各种指标做出统计，比如客户分类统计，销售代理分类统计等等，再就这些统计结果来对企业实际销售效果进行评价：<br>
a.销售统计（根据销售形式、产品、代理商、地区、销售人员、金额、数量来分别进行统计）。<br>
b.销售分析（包括对比目标、同期比较和订货发货分析，来从数量、金额、利润及绩效等方面作相应的分析）。<br>
c.客户服务（客户投诉纪录，原因分析）。<br>
（二）库存控制<br>
用来控制存储物料的数量，以保证稳定的物流支持正常的生产，但又最小限度的占用资本。它是一种相关的、动态的、及真实的库存控制系统。它能够结合、满足相关部门的需求，随时间变化动态地调整库存，精确的反映库存现状。这一系统的功能又涉及：<br>
a.为所有的物料建立库存，决定何时定货采购，同时作为交与采购部门采购、生产部门作生产计划的依据。<br>
b.收到订购物料，经过质量检验入库，生产的产品也同样要经过检验入库。<br>
c.收发料的日常业务处理工作。<br>
（三）采购管理<br>
确定合理的定货量、优秀的供应商和保持最佳的安全储备。能够随时提供定购、验收的信息，跟踪和催促对外购或委外加工的物料，保证货物及时到达。建立供应商的档案，用最新的成本信息来调整库存的成本。具体有：<br>
a.供应商信息查询（查询供应商的能力、信誉等）。<br>
b.催货（对外购或委外加工的物料进行跟催）。<br>
c.采购与委外加工统计（统计、建立档案，计算成本）。<br>
d.价格分析（对原料价格分析，调整库存成本）。<br>
<br>
<strong>四、人力资源管理模块</strong><br>
以往的ERP系统基本上都是以生产制造及销售过程(供应链)为中心的。因此，长期以来一直把与制造资源有关的资源作为企业的核心资源来进行管理。但近年来，企业内部的人力资源，开始越来越受到企业的关注，被视为企业的资源之本。在这种情况下，人力资源管理，作为一个独立的模块，被加入到了ERP的系统中来，和ERP中的财务、生产系统组成了一个高效的、具有高度集成性的企业资源系统。它与传统方式下的人事管理有着根本的不同。<br>
（一）人力资源规划的辅助决策<br>
对于企业人员、组织结构编制的多种方案，进行模拟比较和运行分析，并辅之以图形的直观评估，辅助管理者做出最终决策。<br>
制定职务模型，包括职位要求、升迁路径和培训计划，根据担任该职位员工的资格和条件，系统会提出针对本员工的一系列培训建议，一旦机构改组或职位变动，系统会提出一系列的职位变动或升迁建议。<br>
进行人员成本分析，可以对过去、现在、将来的人员成本作出分析及预测，并通过ERP集成环境，为企业成本分析提供依据。<br>
（二）招聘管理<br>
人才是企业最重要的资源。优秀的人才才能保证企业持久的竞争力。招聘系统一般从以下几个方面提供支持： <br>
a进行招聘过程的管理，优化招聘过程，减少业务工作量；<br>
b对招聘的成本进行科学管理，从而降低招聘成本；<br>
c为选择聘用人员的岗位提供辅助信息，并有效地帮助企业进行人才资源的挖掘。<br>
（三）工资核算<br>
a能根据公司跨地区、跨部门、跨工种的不同薪资结构及处理流程制定与之相适应的薪资核算方法。<br>
b与时间管理直接集成，能够及时更新，对员工的薪资核算动态化。<br>
c回算功能。通过和其它模块的集成，自动根据要求调整薪资结构及数据。<br>
（四）工时管理<br>
a根据本国或当地的日历，安排企业的运作时间以及劳动力的作息时间表。<br>
b运用远端考勤系统，可以将员工的实际出勤状况记录到主系统中，并把与员工薪资、奖金有关的时间数据导入薪资系统和成本核算中。<br>
（五）差旅核算<br>
系统能够自动控制从差旅申请，差旅批准到差旅报销整个流程。并且通过集成环境将核算数据导进财务成本核算模块中去。 <a href="http://hi.baidu.com/windowweb/blog/item/a74ba60a5f111f1795ca6b83.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/windowweb/blog/category/%CD%F8%C2%E7%D6%AA%CA%B6%B7%D6%CF%ED">网络知识分享</a>&nbsp;<a href="http://hi.baidu.com/windowweb/blog/item/a74ba60a5f111f1795ca6b83.html#comment">查看评论</a>]]></description>
        <pubDate>2009-03-24  14:19</pubDate>
        <category><![CDATA[网络知识分享]]></category>
        <author><![CDATA[windowweb]]></author>
		<guid>http://hi.baidu.com/windowweb/blog/item/a74ba60a5f111f1795ca6b83.html</guid>
</item>

<item>
        <title><![CDATA[教务管理系统-绿色版]]></title>
        <link><![CDATA[http://hi.baidu.com/windowweb/blog/item/105b5a600510b44cebf8f8cf.html]]></link>
        <description><![CDATA[
		
		<p><strong>系统简介</strong></p>
<p>教务是高校的核心工作。利用先进的技术手段和指导思想提高教育、培养、管理水平，对提高人才的综合素质培养具有重大的影响，对打造高品牌学校更有着广泛深远的意义。该系统包括：课程管理、作业管理、电子日历、师生管理、排课管理、学籍管理、基本信息管理、选课管理、其它管理功能、教务信息发布等模块。</p>
<p>教务管理系统的功能，能够很好的服务于高校教务教学的数字化管理，提高教务管理人员、工作人员以及各院系教学负责人的工作效率，并且与数字校园中的其它系统相配合，实现统一的信息管理。</p>
<p>本教务管理系统涵盖了教务业务中的各个功能部件，在师生教务中形成一体化管理模式，全面支持广域网络办公模式，可大大减少教务管理的手工劳动。系统中高效的事务处理机制和信息管理模式，为提高教务工作效率和推进高校教学改革提供了重要的参考依据。</p>
<p><strong>系统特色</strong></p>
<p>功能全面：本教务管理系统涵盖了课程管理、师生管理、作业管理等多个版块。</p>
<p>适应性强：本教务管理系统适用于在在师生关系的学校、培训机构等，适应不同高等学校不同的教学管理体制和教学运行模式。</p>
<p>跨地域的业务协作：本教务管理系统在数据共享的基础上，为师生间的交流与协作提供实时、便捷的操作。</p>
<p>兼容性强：本教务管理系统为绿色版，不需要安装任何插件，只要客户端能上网都可以随时随地使用，完整的程序架构，完全支持二次开发。</p>
<p>功能强大的课程管理系统：课程管理系统基于实际工作经验编制，在课程管理过程中教师可以查看管理学生报考课程情况，综合考虑教学计划、学生班级情况、教室情况等多方面信息，帮助高校合理安排教学资源和人力资源。</p>
<p>功能强大的作业管理系统：作业管理系统基于学生实际上课情况编制，在作业管理过程中教师可以查看管理学生交来的作业情况，综合考虑教学计划、学生班级情况、教室情况等多方面信息，帮助高校合理安排教学资源和人力资源。</p>
<p>功能强大的电子日历系统：电子日历系统是用日历的方式记录师生每天的活动情况，方便日后查询管理。</p>
<p>功能强大的后台管理系统：可以对管理员、教师、学生进行统一管理，主要有三大版块：管理员信息管理、教师信息管理、学生信息管理。</p>
<p>灵活的权限控制：教务管理系统通过统一授权及认证平台以资源、角色、岗位的概念实现人和权限的匹配。资源、角色、岗位改变，则所对应用户的权限会自动得到调整，用户权限管理机制灵活可靠，保证系统结构稳健。</p>
<p>完善的安全机制：操作安全性由网络登录验证、数据库登录验证、应用管理模块使用验证三级组成，客户端有分级授权和验证机制，同时在数据传输、存储、备份恢复等过程中保证数据的高度安全性。多层次的系统架构便于建立防火墙，防范计算机病毒和非法用户的攻击。</p>
<p><strong>体验方式</strong></p>
<p><a href="http://shop36027550.taobao.com/">http://shop36027550.taobao.com/</a></p> <a href="http://hi.baidu.com/windowweb/blog/item/105b5a600510b44cebf8f8cf.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/windowweb/blog/category/%B9%DC%C0%ED%D3%A6%D3%C3%C8%ED%BC%FE%CF%FA%CA%DB">管理应用软件销售</a>&nbsp;<a href="http://hi.baidu.com/windowweb/blog/item/105b5a600510b44cebf8f8cf.html#comment">查看评论</a>]]></description>
        <pubDate>2009-03-21  14:59</pubDate>
        <category><![CDATA[管理应用软件销售]]></category>
        <author><![CDATA[windowweb]]></author>
		<guid>http://hi.baidu.com/windowweb/blog/item/105b5a600510b44cebf8f8cf.html</guid>
</item>


</channel>
</rss>