<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[nz.perfectaction'blog]]></title>
<link>http://www.dmblogs.com/nzBlog/</link>
<description><![CDATA[----完美行动源于反恐精英]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[nzperfect@gmail.com(完美行动)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>nz.perfectaction&#39;blog</title>
	<url>http://www.dmblogs.com/nzBlog/images/logos.gif</url>
	<link>http://www.dmblogs.com/nzBlog/</link>
	<description>nz.perfectaction&#39;blog</description>
</image>

			<item>
			<link>http://www.dmblogs.com/nzBlog/article.asp?id=108</link>
			<title><![CDATA[对粉尘螨、屋尘螨过敏应注意什么？怎么治疗？]]></title>
			<author>nzperfect@gmail.com(nz.perfectaction)</author>
			<category><![CDATA[Living ]]></category>
			<pubDate>Wed,20 Aug 2008 09:03:54 +0800</pubDate>
			<guid>http://www.dmblogs.com/nzBlog/default.asp?id=108</guid>
		<description><![CDATA[ 螨虫在湿度低于15％的干燥环境中就会死亡，在低温的环境中无法进一步繁殖。因此，即使现在它们对传统杀虫剂越来越具备适应性和抵抗力，以至无法被彻底杀灭，但搞好家庭和个人清洁卫生，仍不失为经济有效的除虫办法。<br/>具体方法是经常保持居室和工作室的通风干燥，勤换洗衣服、被褥，定期曝晒、拍打被褥、床垫、枕芯、草席和地毯等物品。在春夏季，经常将草、竹席放在太阳下晾晒、拍打，或用75％乙醇擦拭，或将樟脑精块等芳香驱虫品放在床垫或席子下。经常用吸尘器吸除地毯上的灰尘，还可以用除虫菊酯醚类的除虫剂喷洒在地毯上，或用棉纱蘸松节油擦拭地毯。最好不要让宠物进卧室，并定期给宠物洗澡和驱虫、消毒。<br/><br/><br/><br/><br/>下面是具体资料<br/>主讲：魏庆宇 博士<br/><br/>减少生活和工作和环境中尘螨的含量对尘螨过敏患者来说非常重要，可以通过控制措施减少吸入尘螨鳞片及排泄物的量，来预防和减轻发病，减少发病次数。尘螨最适宜的生存条件是温度17~30℃，相对湿度75%~80%，屋尘螨以人体或动物脱落的皮屑为食，在床铺上和卧室地毯中繁殖较快，一个人每日产生0.7克左右皮屑。粉尘螨以各种粮食粉尘为食物。根据尘螨生存的条件及食物来源，预防尘螨可遵循两个原则：一是改变环境的温度和湿度。尘螨的死亡条件是温度大于35℃，或小于0℃连续24小时，湿度小于50%或大于85%则不能繁殖；二是断绝其食物来源，最终达到三个目标：一：减少活螨的总量；二：降低螨过敏源的水平；三：减少人对前两者的暴露。尘螨过敏患者可根据自己生活和工作的具体环境采用行之有效的方法或多种方法同时兼用来控制尘螨的生存和生长。<br/>1、降低室内相对湿度，将相对湿度控制在50%以下，是控制螨及其过敏源水平最常用的方法。控制湿度比控制温度更容易，有试验表明：连续于 40%或50%相对湿度下，即使温度在25~34℃时，在5~11天内成年螨会因脱水死亡。在山区国家或中东的北部，这些干燥地区很少存在螨和螨过敏原。建议室内使用高性能吸湿机和空调机降低相对湿度和螨的总量，既实用又有效，要经常清洗或更换空调器的积尘罩或网，减少尘螨的滋生。<br/>2、使用包装套：用特殊的防螨材料包装床垫和枕头，是减少暴露于尘螨及其过敏原的有效方法。对于过敏患者，建议使用这一方法，包装材料由塑料、透气材料、很细小的织物纤维或非织物合成材料构成。当购买枕头和床垫包装材料时，织物的孔径非常重要。理想的材料应该是舒适、透气的织物，这样的织物可渗透蒸气，并能阻止螨和螨过敏原通过。幼螨的宽度一般大于50微米，因此，织物小于或等于20微米可阻止所有螨的通过。目前有防尘螨的床罩、枕头套等商品出售。高质量的羽毛枕头、羽毛被或羽绒服由于其表面覆盖的织物很致密，可以阻止尘螨的进入和尘螨在里面的繁殖（吃不到人体的皮屑等食物）。<br/>3、床上用品的清洗、烘干和干洗：座罩、枕套、毛毯、床垫套等每周用等于或高于55℃热水洗一次可杀死螨和去掉大多数螨过敏原。用温水或冷水清洗不能杀死绝大多数螨，但是可除去绝大多数过敏原，因为绝大多数过敏原是水溶性的。用烘干机干燥衣服要大于55℃，10分钟以上可以杀死所有的螨。每天洗头也是控制尘螨过敏原的好方法。<br/>4、地毯、窗帘和家庭软装饰物要勤更换、清洗：地毯、窗帘和家庭装饰织物积聚了碎屑残片和保持潮湿，为螨繁殖提供了理想栖息地。在潮湿地区应不用地毯、窗（布）帘或遮光帘，应换为百叶窗。家庭装饰织物应换为乙烯树脂或皮革垫，家具可用木制家具。<br/>5、地毯真空吸尘：如果家庭不愿意或经济上不允许换地毯，应该每周真空吸尘一次，并经常更换吸尘器袋。常规真空吸尘可去除表面的螨和过敏原，但不能显著减少活螨的数量，也不能去除深藏的过敏原。<br/>6、冷冻软玩具和小件物品：在-17℃~-20℃冷冻软玩具和小件物品（如枕头和特殊衣物）至少24小时，是杀死这些物品上螨的有效方法。在家里冰箱冷冻后，可清洗这些物品以去除死螨和过敏原。在寒冷的冬季将床垫和枕头在室外放置24小时也可以杀死螨。<br/>7、空气清洁/过滤：室尘的主要成分是螨。螨过敏原主要与直径大于20μm的灰尘颗粒有关。空气流动使其成为气传颗粒，吸入后引起过敏。空气清洁或过滤时一定要让室内空气流动，让灰尘飘起，这样能起到清洁或过滤的作用。<br/>8、不在室内饲养猫、狗等宠物：小动物的身体有合适的温度、湿度，大量的皮屑也是尘螨丰富的食物来源，所以小动物身体上滋生大量的螨，还可以携带到室内的各个角落，到处传播。<br/>9、化学试剂：目前，在使用的化学试剂去除螨及其过敏原的结果不十分满意，必须将其活性成分直接输送到螨生存的地方才有效。主要有：苯甲基苯甲酸脂、四水合八硼酸二钠、钍试剂、扑灭司林及变性剂等等。这些杀螨剂的室内安全性还需要进一步研究证实，再有反复应用会导致耐药螨的出现。<br/>10、尘螨控制是过敏性疾病整体治疗的一部分：常年性过敏性鼻炎、哮喘或特应性皮炎患者，如果对螨过敏，通过吸入治疗及特异性脱敏治疗的同时，要控制室内螨过敏原，可以根据自己的疾病程度，患者生活所在地气候条件及个人居住环境而定。<br/>〈提示〉<br/>1、在去螨时，床、地毯和家装是3个最重要的地方。<br/>2、有利于尘螨生长的条件：湿度、温度及通风状况。<br/>3、控制尘螨过敏原的措施：①做好个人卫生：勤洗澡、勤换衣；②做好卧室卫生：勤洗床上用品（普通洗衣粉，25℃，至少5分钟，每周洗一次）；③ 枕头：用防螨材料密封；④床垫：用透气织物或塑料（纸）包裹，乙烯树脂或塑料密封床垫弹簧；⑤室内清扫：每周真空吸尘一次（带口罩，吸尘完后离开房间20 分钟）。注意：吸尘器用好质量的袋（双层）或在出气口有高性能的空气过滤器。<br/>4、控制螨及其过敏原的长期战略：降低室内相对湿度：用空调、吸湿机或根据季节和气候开窗通风。更换地毯：采用抛光木地板、乙烯树脂地板、地板砖。更换家具装饰：用皮革、乙烯树脂、木家具。更换窗帘：用可擦洗的百叶窗代替，尽量不要在地下室生活。<br/><br/>尘螨过敏的要点：<br/>1、尘螨是一种世界性分布的最强烈的过敏原。<br/>2、80%以上的发复咳嗽、气喘和尘螨过敏有关。<br/>3、尘螨生长的理想温度是25℃，湿度是75%，低于60%不能繁殖，低于50%不能生存。<br/>4、主要生存在尘埃、潮湿的家具，地毯和床铺上。主要以人体或动物的皮屑为食。<br/>5、控制尘螨及其过敏原可以减少发病。<br/>6、针对尘螨的脱敏治疗有效。可以避免过敏层次恶化（从鼻炎恶化到哮喘）及多元过敏（从单一过敏到对多种过敏原过敏）。<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.dmblogs.com/nzBlog/article.asp?id=107</link>
			<title><![CDATA[ip地址转数值]]></title>
			<author>nzperfect@gmail.com(nz.perfectaction)</author>
			<category><![CDATA[Sql Server]]></category>
			<pubDate>Tue,19 Aug 2008 16:45:02 +0800</pubDate>
			<guid>http://www.dmblogs.com/nzBlog/default.asp?id=107</guid>
		<description><![CDATA[<p>&nbsp;</p>
<div class="codeText">
<div class="codeHead">ASP/Visual Basic代码</div>
<ol start="1" class="dp-vb">
    <li class="alt"><span><span class="keyword">Function</span><span>&nbsp;ChangeIP(ip)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;strIP=Split(ip,<span class="string">&quot;.&quot;</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;ChangeIP=int(strIP(0))*16777216&nbsp;+&nbsp;int(strIP(1))&nbsp;*65536&nbsp;+&nbsp;int(strIP(2))*256&nbsp;+int(strip(3))&nbsp;&nbsp;</span></li>
    <li><span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">Function</span><span>&nbsp;&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<div class="codeText">
<div class="codeHead">SQL代码</div>
<ol start="1" class="dp-sql">
    <li class="alt"><span><span class="keyword">create</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;dbo.f_ip2int(&nbsp;&nbsp;</span></span></li>
    <li><span>@ip&nbsp;<span class="keyword">char</span><span>(15)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>)<span class="keyword">returns</span><span>&nbsp;</span><span class="keyword">bigint</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">as</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">begin</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">declare</span><span>&nbsp;@re&nbsp;</span><span class="keyword">bigint</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">set</span><span>&nbsp;@re=0&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">select</span><span>&nbsp;@re=@re+</span><span class="func">left</span><span>(@ip,charindex(</span><span class="string">'.'</span><span>,@ip+</span><span class="string">'.'</span><span>)-1)*id&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,@ip=stuff(@ip,1,charindex(<span class="string">'.'</span><span>,@ip+</span><span class="string">'.'</span><span>),</span><span class="string">''</span><span>)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">from</span><span>(&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">select</span><span>&nbsp;id=</span><span class="func">cast</span><span>(16777216&nbsp;</span><span class="keyword">as</span><span>&nbsp;</span><span class="keyword">bigint</span><span>)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp;</span><span class="keyword">select</span><span>&nbsp;65536&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp;</span><span class="keyword">select</span><span>&nbsp;256&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp;</span><span class="keyword">select</span><span>&nbsp;1)a&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>(@re)&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;</p>
<div class="codeText">
<div class="codeHead">SQL代码</div>
<ol start="1" class="dp-sql">
    <li class="alt"><span><span class="keyword">create</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;dbo.fn_IP(@ip&nbsp;</span><span class="keyword">varchar</span><span>(15))&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">returns</span><span>&nbsp;</span><span class="keyword">bigint</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">begin</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;parsename(@ip,4)*</span><span class="func">cast</span><span>(16777216&nbsp;</span><span class="keyword">as</span><span>&nbsp;</span><span class="keyword">bigint</span><span>)+parsename(@ip,3)*65536+parsename(@ip,2)*256+parsename(@ip,1)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">end</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.dmblogs.com/nzBlog/article.asp?id=106</link>
			<title><![CDATA[（C# ）Ftp的操作 ]]></title>
			<author>nzperfect@gmail.com(nz.perfectaction)</author>
			<category><![CDATA[.Net]]></category>
			<pubDate>Mon,18 Aug 2008 10:26:39 +0800</pubDate>
			<guid>http://www.dmblogs.com/nzBlog/default.asp?id=106</guid>
		<description><![CDATA[<div class="codeText">
<div class="codeHead">C#代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">using</span><span>&nbsp;System.IO;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">using</span><span>&nbsp;System.Net;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">using</span><span>&nbsp;System.Text;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">using</span><span>&nbsp;System.Diagnostics;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">using</span><span>&nbsp;System.Text.RegularExpressions;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//从ftp上下载文件</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;Download(</span><span class="keyword">string</span><span>&nbsp;filePath,&nbsp;</span><span class="keyword">string</span><span>&nbsp;ImageSrc,&nbsp;</span><span class="keyword">string</span><span>&nbsp;ImageName,&nbsp;</span><span class="keyword">string</span><span>&nbsp;ftpServerIP,&nbsp;</span><span class="keyword">string</span><span>&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>ftpUserName,&nbsp;<span class="keyword">string</span><span>&nbsp;ftpPwd)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(!Directory.Exists(filePath))&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Directory.CreateDirectory(filePath);&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">using</span><span>&nbsp;(FileStream&nbsp;OutputStream&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;FileStream(filePath&nbsp;+&nbsp;</span><span class="string">&quot;\\&quot;&nbsp;+&nbsp;ImageName,&nbsp;FileMode.Create))</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FtpWebRequest&nbsp;ReqFTP&nbsp;=&nbsp;(FtpWebRequest)FtpWebRequest.Create(new&nbsp;Uri(&quot;</span><span>ftp:</span><span class="comment">//&quot;&nbsp;+&nbsp;ftpServerIP&nbsp;+&nbsp;&quot;/&quot;&nbsp;+&nbsp;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>ImageSrc));&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReqFTP.Method&nbsp;=&nbsp;WebRequestMethods.Ftp.DownloadFile;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReqFTP.UseBinary&nbsp;=&nbsp;<span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReqFTP.Credentials&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;NetworkCredential(ftpUserName,&nbsp;ftpPwd);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">using</span><span>&nbsp;(FtpWebResponse&nbsp;response&nbsp;=&nbsp;(FtpWebResponse)ReqFTP.GetResponse())&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">using</span><span>&nbsp;(Stream&nbsp;FtpStream&nbsp;=&nbsp;response.GetResponseStream())&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">long</span><span>&nbsp;Cl&nbsp;=&nbsp;response.ContentLength;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">int</span><span>&nbsp;bufferSize&nbsp;=&nbsp;2048;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">int</span><span>&nbsp;readCount;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">byte</span><span>[]&nbsp;buffer&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;</span><span class="keyword">byte</span><span>[bufferSize];&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readCount&nbsp;=&nbsp;FtpStream.Read(buffer,&nbsp;0,&nbsp;bufferSize);&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">while</span><span>&nbsp;(readCount&nbsp;&gt;&nbsp;0)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputStream.Write(buffer,&nbsp;0,&nbsp;readCount);&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readCount&nbsp;=&nbsp;FtpStream.Read(buffer,&nbsp;0,&nbsp;bufferSize);&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FtpStream.Close();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.Close();&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputStream.Close();&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//从服务器上传文件到FTP上</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;UploadSmall(</span><span class="keyword">string</span><span>&nbsp;sFileDstPath,&nbsp;</span><span class="keyword">string</span><span>&nbsp;FolderName,&nbsp;</span><span class="keyword">string</span><span>&nbsp;ftpServerIP,&nbsp;</span><span class="keyword">string</span><span>&nbsp;ftpUserName,&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span><span class="keyword">string</span><span>&nbsp;ftpPwd)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileInfo&nbsp;fileInf&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;FileInfo(sFileDstPath);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FtpWebRequest&nbsp;reqFTP;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP&nbsp;=&nbsp;(FtpWebRequest)FtpWebRequest.Create(<span class="keyword">new</span><span>&nbsp;Uri(&quot;ftp:</span><span class="comment">//&quot;&nbsp;+&nbsp;ftpServerIP&nbsp;+&nbsp;&quot;/&quot;&nbsp;+&nbsp;FolderName&nbsp;+&nbsp;&quot;/&quot;&nbsp;+&nbsp;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>fileInf.Name));&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.Credentials&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;NetworkCredential(ftpUserName,&nbsp;ftpPwd);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.KeepAlive&nbsp;=&nbsp;<span class="keyword">false</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.Method&nbsp;=&nbsp;WebRequestMethods.Ftp.UploadFile;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.UseBinary&nbsp;=&nbsp;<span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.ContentLength&nbsp;=&nbsp;fileInf.Length;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">int</span><span>&nbsp;buffLength&nbsp;=&nbsp;2048;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">byte</span><span>[]&nbsp;buff&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;</span><span class="keyword">byte</span><span>[buffLength];&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">int</span><span>&nbsp;contentLen;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">using</span><span>&nbsp;(FileStream&nbsp;fs&nbsp;=&nbsp;fileInf.OpenRead())&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">using</span><span>&nbsp;(Stream&nbsp;strm&nbsp;=&nbsp;reqFTP.GetRequestStream())&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contentLen&nbsp;=&nbsp;fs.Read(buff,&nbsp;0,&nbsp;buffLength);&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">while</span><span>&nbsp;(contentLen&nbsp;!=&nbsp;0)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strm.Write(buff,&nbsp;0,&nbsp;contentLen);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contentLen&nbsp;=&nbsp;fs.Read(buff,&nbsp;0,&nbsp;buffLength);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strm.Close();&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fs.Close();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//删除服务器上的文件</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;DeleteWebServerFile(</span><span class="keyword">string</span><span>&nbsp;sFilePath)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(File.Exists(sFilePath))&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File.Delete(sFilePath);&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//删除FTP上的文件</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;DeleteFtpFile(</span><span class="keyword">string</span><span>[]&nbsp;IName,&nbsp;</span><span class="keyword">string</span><span>&nbsp;FolderName,&nbsp;</span><span class="keyword">string</span><span>&nbsp;ftpServerIP,&nbsp;</span><span class="keyword">string</span><span>&nbsp;ftpUserName,&nbsp;</span><span class="keyword">string</span><span>&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>ftpPwd)&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">foreach</span><span>&nbsp;(</span><span class="keyword">string</span><span>&nbsp;ImageName&nbsp;</span><span class="keyword">in</span><span>&nbsp;IName)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">string</span><span>[]&nbsp;FileList&nbsp;=&nbsp;GetFileList(FolderName,&nbsp;ftpServerIP,&nbsp;ftpUserName,&nbsp;ftpPwd);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">int</span><span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;FileList.Length;&nbsp;i++)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">string</span><span>&nbsp;Name&nbsp;=&nbsp;FileList[i].ToString();&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(Name&nbsp;==&nbsp;ImageName)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FtpWebRequest&nbsp;ReqFTP;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReqFTP&nbsp;=&nbsp;(FtpWebRequest)FtpWebRequest.Create(<span class="keyword">new</span><span>&nbsp;Uri(&quot;ftp:</span><span class="comment">//&quot;&nbsp;+&nbsp;ftpServerIP&nbsp;+&nbsp;&quot;/&quot;&nbsp;+&nbsp;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>FolderName&nbsp;+&nbsp;&quot;/<span class="string">&quot;&nbsp;+&nbsp;ImageName));</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReqFTP.Credentials&nbsp;=&nbsp;new&nbsp;NetworkCredential(ftpUserName,&nbsp;ftpPwd);</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReqFTP.KeepAlive&nbsp;=&nbsp;false;</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReqFTP.Method&nbsp;=&nbsp;WebRequestMethods.Ftp.DeleteFile;</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReqFTP.UseBinary&nbsp;=&nbsp;true;</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using&nbsp;(FtpWebResponse&nbsp;Response&nbsp;=&nbsp;(FtpWebResponse)ReqFTP.GetResponse())</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;size&nbsp;=&nbsp;Response.ContentLength;</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using&nbsp;(Stream&nbsp;datastream&nbsp;=&nbsp;Response.GetResponseStream())</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&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;using&nbsp;(StreamReader&nbsp;sr&nbsp;=&nbsp;new&nbsp;StreamReader(datastream))</span>&nbsp;</span></li>
    <li><span><span class="string">&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;{</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&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;&nbsp;&nbsp;sr.ReadToEnd();</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&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;&nbsp;&nbsp;sr.Close();</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&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;}</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&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;datastream.Close();</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Close();</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;//检查文件是否存在</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;string[]&nbsp;GetFileList(string&nbsp;FolderName,&nbsp;string&nbsp;ftpServerIP,&nbsp;string&nbsp;ftpUserName,&nbsp;string&nbsp;ftpPwd)</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;{</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string[]&nbsp;downloadFiles;</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuilder&nbsp;result&nbsp;=&nbsp;new&nbsp;StringBuilder();</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FtpWebRequest&nbsp;reqFTP;</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP&nbsp;=&nbsp;(FtpWebRequest)FtpWebRequest.Create(new&nbsp;Uri(&quot;</span><span>ftp:</span><span class="comment">//&quot;&nbsp;+&nbsp;ftpServerIP&nbsp;+&nbsp;&quot;/&quot;&nbsp;+&nbsp;FolderName&nbsp;+&nbsp;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&quot;/<span class="string">&quot;));</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.UseBinary&nbsp;=&nbsp;true;</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.Credentials&nbsp;=&nbsp;new&nbsp;NetworkCredential(ftpUserName,&nbsp;ftpPwd);</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.Method&nbsp;=&nbsp;WebRequestMethods.Ftp.ListDirectory;</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WebResponse&nbsp;response&nbsp;=&nbsp;reqFTP.GetResponse();</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StreamReader&nbsp;reader&nbsp;=&nbsp;new&nbsp;StreamReader(response.GetResponseStream());</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;line&nbsp;=&nbsp;reader.ReadLine();</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(line&nbsp;!=&nbsp;null)</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.Append(line);</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.Append(&quot;</span><span>\n</span><span class="string">&quot;);</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line&nbsp;=&nbsp;reader.ReadLine();</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;to&nbsp;remove&nbsp;the&nbsp;trailing&nbsp;'\n'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.Remove(result.ToString().LastIndexOf('\n'),&nbsp;1);</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reader.Close();</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.Close();</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;result.ToString().Split('\n');</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(Exception&nbsp;ex)</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;downloadFiles&nbsp;=&nbsp;null;</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;downloadFiles;</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;//从客户端上传文件到FTP上</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;UploadFtp(HttpPostedFile&nbsp;sFilePath,&nbsp;string&nbsp;filename,&nbsp;string&nbsp;FolderName,&nbsp;string&nbsp;ftpServerIP,&nbsp;</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">string&nbsp;ftpUserName,&nbsp;string&nbsp;ftpPwd)</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;{</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//获取的服务器路径</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//FileInfo&nbsp;fileInf&nbsp;=&nbsp;new&nbsp;FileInfo(sFilePath);</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FtpWebRequest&nbsp;reqFTP;</span>&nbsp;</span></li>
    <li><span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP&nbsp;=&nbsp;(FtpWebRequest)FtpWebRequest.Create(new&nbsp;Uri(&quot;</span><span>ftp:</span><span class="comment">//&quot;&nbsp;+&nbsp;ftpServerIP&nbsp;+&nbsp;&quot;/&quot;&nbsp;+&nbsp;FolderName&nbsp;+&nbsp;&quot;/&quot;&nbsp;+&nbsp;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>filename));&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.Credentials&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;NetworkCredential(ftpUserName,&nbsp;ftpPwd);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.KeepAlive&nbsp;=&nbsp;<span class="keyword">false</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.Method&nbsp;=&nbsp;WebRequestMethods.Ftp.UploadFile;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.UseBinary&nbsp;=&nbsp;<span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.ContentLength&nbsp;=&nbsp;sFilePath.ContentLength;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//设置缓存</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">int</span><span>&nbsp;buffLength&nbsp;=&nbsp;2048;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">byte</span><span>[]&nbsp;buff&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;</span><span class="keyword">byte</span><span>[buffLength];&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">int</span><span>&nbsp;contentLen;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">using</span><span>&nbsp;(Stream&nbsp;fs&nbsp;=&nbsp;sFilePath.InputStream)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">using</span><span>&nbsp;(Stream&nbsp;strm&nbsp;=&nbsp;reqFTP.GetRequestStream())&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contentLen&nbsp;=&nbsp;fs.Read(buff,&nbsp;0,&nbsp;buffLength);&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">while</span><span>&nbsp;(contentLen&nbsp;!=&nbsp;0)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strm.Write(buff,&nbsp;0,&nbsp;contentLen);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contentLen&nbsp;=&nbsp;fs.Read(buff,&nbsp;0,&nbsp;buffLength);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strm.Close();&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fs.Close();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//创建目录</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;CreateDirectory(</span><span class="keyword">string</span><span>&nbsp;FolderName,&nbsp;</span><span class="keyword">string</span><span>&nbsp;ftpServerIP,&nbsp;</span><span class="keyword">string</span><span>&nbsp;ftpUserName,&nbsp;</span><span class="keyword">string</span><span>&nbsp;ftpPwd)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//创建日期目录</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">try</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FtpWebRequest&nbsp;reqFTP&nbsp;=&nbsp;(FtpWebRequest)FtpWebRequest.Create(<span class="keyword">new</span><span>&nbsp;Uri(&quot;ftp:</span><span class="comment">//&quot;&nbsp;+&nbsp;ftpServerIP&nbsp;+&nbsp;&quot;/&quot;&nbsp;+&nbsp;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>FolderName));&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.UseBinary&nbsp;=&nbsp;<span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.Credentials&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;NetworkCredential(ftpUserName,&nbsp;ftpPwd);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.KeepAlive&nbsp;=&nbsp;<span class="keyword">false</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.Method&nbsp;=&nbsp;WebRequestMethods.Ftp.MakeDirectory;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FtpWebResponse&nbsp;response&nbsp;=&nbsp;(FtpWebResponse)reqFTP.GetResponse();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">catch</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ClientScript.RegisterStartupScript(<span class="keyword">this</span><span>.GetType(),&nbsp;&quot;</span><span class="string">&quot;,&nbsp;&quot;</span><span>&lt;script&gt;alert(</span><span class="string">'系统忙，请稍后再</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li><span><span class="string">试！'</span><span>);location.href=location.href;&lt;/script&gt;</span><span class="string">&quot;);</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;//检查日期目录和文件是否存在</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;Regex&nbsp;regexName&nbsp;=&nbsp;new&nbsp;Regex(@&quot;</span><span>[^\s]*$</span><span class="string">&quot;,&nbsp;RegexOptions.Compiled);</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;bool&nbsp;CheckFileOrPath(string&nbsp;FolderName,&nbsp;string&nbsp;ftpServerIP,&nbsp;string&nbsp;ftpUserName,&nbsp;string&nbsp;ftpPwd)</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;{</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//检查一下日期目录是否存在</span>&nbsp;</span></li>
    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FtpWebRequest&nbsp;reqFTP&nbsp;=&nbsp;(FtpWebRequest)FtpWebRequest.Create(new&nbsp;Uri(&quot;</span><span>ftp:</span><span class="comment">//&quot;&nbsp;+&nbsp;ftpServerIP&nbsp;+&nbsp;&quot;/&quot;));</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.UseBinary&nbsp;=&nbsp;<span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.Credentials&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;NetworkCredential(ftpUserName,&nbsp;ftpPwd);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqFTP.Method&nbsp;=&nbsp;WebRequestMethods.Ftp.ListDirectoryDetails;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stream&nbsp;stream&nbsp;=&nbsp;reqFTP.GetResponse().GetResponseStream();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">using</span><span>&nbsp;(StreamReader&nbsp;sr&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;StreamReader(stream))&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">string</span><span>&nbsp;line&nbsp;=&nbsp;sr.ReadLine();&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">while</span><span>&nbsp;(!</span><span class="keyword">string</span><span>.IsNullOrEmpty(line))&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GroupCollection&nbsp;gc&nbsp;=&nbsp;regexName.Match(line).Groups;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(gc.Count&nbsp;!=&nbsp;1)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">throw</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;ApplicationException(&quot;FTP&nbsp;返回的字串格式不正确&quot;);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">string</span><span>&nbsp;path&nbsp;=&nbsp;gc[0].Value;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(path&nbsp;==&nbsp;FolderName)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line&nbsp;=&nbsp;sr.ReadLine();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.dmblogs.com/nzBlog/article.asp?id=105</link>
			<title><![CDATA[通过WebService上传图片 ]]></title>
			<author>nzperfect@gmail.com(nz.perfectaction)</author>
			<category><![CDATA[.Net]]></category>
			<pubDate>Fri,15 Aug 2008 14:50:52 +0800</pubDate>
			<guid>http://www.dmblogs.com/nzBlog/default.asp?id=105</guid>
		<description><![CDATA[<div class="codeText">
<div class="codeHead">C#代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>WebService部分：&nbsp;&nbsp;</span></span></li>
    <li><span><span class="comment">///&nbsp;&lt;summary&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">///&nbsp;保存文件到远程服务器</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">///&nbsp;&lt;/summary&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">///&nbsp;&lt;param&nbsp;name=&quot;FileByteArray&quot;&gt;待转换字节数组&lt;/param&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">///&nbsp;&lt;param&nbsp;name=&quot;FileLength&quot;&gt;字节长度&lt;/param&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">///&nbsp;&lt;param&nbsp;name=&quot;SaveToUrl&quot;&gt;保存路径&lt;/param&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">///&nbsp;&lt;returns&gt;返回是否执行成功&lt;/returns&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;[WebMethod(Description&nbsp;=&nbsp;<span class="string">&quot;保存文件到远程服务器.&quot;</span><span>)]&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">bool</span><span>&nbsp;SaveFile(</span><span class="keyword">byte</span><span>[]&nbsp;FileByteArray,</span><span class="keyword">int</span><span>&nbsp;FileLength,&nbsp;</span><span class="keyword">string</span><span>&nbsp;SaveToUrl)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">try</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileStream&nbsp;fs&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;FileStream(SaveToUrl,&nbsp;FileMode.OpenOrCreate,&nbsp;FileAccess.Write);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fs.Write(FileByteArray,&nbsp;0,&nbsp;FileLength);&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fs.Close();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">catch</span><span>&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>调用部分：&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">protected</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;Button1_Click(</span><span class="keyword">object</span><span>&nbsp;sender,&nbsp;EventArgs&nbsp;e)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MangerPhoto.Service&nbsp;mp&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;MangerPhoto.Service();&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(mp.SaveFile(getByte(),&nbsp;FileUpload1.PostedFile.ContentLength,&nbsp;<span class="string">&quot;C:\\vv.jpg&quot;</span><span>));&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">byte</span><span>[]&nbsp;getByte()&nbsp;{</span><span class="comment">//获得转化后的字节数组</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//得到用户要上传的文件名</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">string</span><span>&nbsp;strFilePathName&nbsp;=&nbsp;FileUpload1.PostedFile.FileName;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">string</span><span>&nbsp;strFileName&nbsp;=&nbsp;Path.GetFileName(strFilePathName);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">int</span><span>&nbsp;FileLength&nbsp;=&nbsp;FileUpload1.PostedFile.ContentLength;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//上传文件</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Byte[]&nbsp;FileByteArray&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;Byte[FileLength];&nbsp;</span><span class="comment">//图象文件临时储存Byte数组</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stream&nbsp;StreamObject&nbsp;=&nbsp;FileUpload1.PostedFile.InputStream;&nbsp;<span class="comment">//建立数据流对像</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//读取图象文件数据，FileByteArray为数据储存体，0为数据指针位置、FileLnegth为数据长度</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StreamObject.Read(FileByteArray,&nbsp;0,&nbsp;FileLength);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;FileByteArray;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.dmblogs.com/nzBlog/article.asp?id=104</link>
			<title><![CDATA[新劳动法案例：合同期内辞职的补偿金问题]]></title>
			<author>nzperfect@gmail.com(nz.perfectaction)</author>
			<category><![CDATA[Living ]]></category>
			<pubDate>Thu,14 Aug 2008 13:14:55 +0800</pubDate>
			<guid>http://www.dmblogs.com/nzBlog/default.asp?id=104</guid>
		<description><![CDATA[　　问：我于2007年12月5日正式上班，在签劳动合同前公司表示，按照2008年新施行的劳动合同法规定，将与我签订新的劳动合同，合同期限为3年，试用期6个月。我想知道，劳动合同签这么久合理吗？如果3年内辞职需要承担违约金呢？另外，合同期内辞职能得到经济补偿金吗？<br/><br/>　　答：公司如果在2008年1月底之前不与张先生签订《劳动合同》是违法的，公司就应该支付双倍的工资，而且签订劳动合同时应告知张先生相关的权利和义务。<br/><br/>　　合同期限3年是合理的，试用期6个月也是合法的。《劳动合同法》的颁布就是要求企业与员工签订劳动合同，而且希望企业与员工多签中长期劳动合同，这些规定就是为使我们国家的劳动用工规范化、合理化。<br/><br/>　　如果想在合同期内辞职，按照法律规定不会承担违约金，但是应该提前1个月向公司提出辞职申请，并办理《离职交接》。<br/><br/>　　如果在合同期内提出辞职，按照法律规定将不会得到经济补偿金。根据《劳动合同法》的规定：由劳动者提出解除劳动合同的，用人单位有权不支付经济补偿金。]]></description>
		</item>
		
			<item>
			<link>http://www.dmblogs.com/nzBlog/article.asp?id=103</link>
			<title><![CDATA[ASP.NET Impersonation]]></title>
			<author>nzperfect@gmail.com(nz.perfectaction)</author>
			<category><![CDATA[.Net]]></category>
			<pubDate>Wed,13 Aug 2008 13:32:24 +0800</pubDate>
			<guid>http://www.dmblogs.com/nzBlog/default.asp?id=103</guid>
		<description><![CDATA[解决上传到局域网其它电脑文件权限问题：<br/><a target="_blank" href="http://msdn.microsoft.com/en-us/library/aa292118.aspx" rel="external">http://msdn.microsoft.com/en-us/library/aa292118.aspx</a><br/><br/>&lt;identity impersonate=&#34;true&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userName=&#34;domain\user&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;password=&#34;password&#34; /&gt;]]></description>
		</item>
		
			<item>
			<link>http://www.dmblogs.com/nzBlog/article.asp?id=102</link>
			<title><![CDATA[JS取屏幕信息]]></title>
			<author>nzperfect@gmail.com(nz.perfectaction)</author>
			<category><![CDATA[Javascript]]></category>
			<pubDate>Mon,04 Aug 2008 11:56:55 +0800</pubDate>
			<guid>http://www.dmblogs.com/nzBlog/default.asp?id=102</guid>
		<description><![CDATA[<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>&lt;script&nbsp;language=</span><span class="string">&quot;javascript&quot;</span><span>&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">function</span><span>&nbsp;screenInfo(){&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n网页可见区域宽：&quot;</span><span>+&nbsp;document.body.clientWidth;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n网页可见区域高：&quot;</span><span>+&nbsp;document.body.clientHeight;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n网页可见区域宽：&quot;</span><span>+&nbsp;document.body.offsetWidth&nbsp;&nbsp;&nbsp;&nbsp;+</span><span class="string">&quot;&nbsp;(包括边线的宽)&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n网页可见区域高：&quot;</span><span>+&nbsp;document.body.offsetHeight&nbsp;+</span><span class="string">&quot;&nbsp;(包括边线的宽)&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n网页正文全文宽：&quot;</span><span>+&nbsp;document.body.scrollWidth;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n网页正文全文高：&quot;</span><span>+&nbsp;document.body.scrollHeight;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n网页被卷去的高：&quot;</span><span>+&nbsp;document.body.scrollTop;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n网页被卷去的左：&quot;</span><span>+&nbsp;document.body.scrollLeft;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n网页正文部分上：&quot;</span><span>+&nbsp;window.screenTop;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n网页正文部分左：&quot;</span><span>+&nbsp;window.screenLeft;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n屏幕分辨率的高：&quot;</span><span>+&nbsp;window.screen.height;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n屏幕分辨率的宽：&quot;</span><span>+&nbsp;window.screen.width;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n屏幕可用工作区高度：&quot;</span><span>+&nbsp;window.screen.availHeight;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;+=&nbsp;<span class="string">&quot;\r\n屏幕可用工作区宽度：&quot;</span><span>+&nbsp;window.screen.availWidth;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(s);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span>screenInfo();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&lt;/script&gt;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>注:我试过,如果在网页的前面有如下的W3C标准的头,上面的document.body.clientHeight和document.body.scrollTop是无效的&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;<span class="string">&quot;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN&quot;</span><span>&nbsp;</span><span class="string">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;</span><span>&gt;&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.dmblogs.com/nzBlog/article.asp?id=101</link>
			<title><![CDATA[行列互转总结]]></title>
			<author>nzperfect@gmail.com(nz.perfectaction)</author>
			<category><![CDATA[Sql Server]]></category>
			<pubDate>Fri,01 Aug 2008 22:29:22 +0800</pubDate>
			<guid>http://www.dmblogs.com/nzBlog/default.asp?id=101</guid>
		<description><![CDATA[<p>&nbsp;</p>
<div class="codeText">
<div class="codeHead">SQL代码</div>
<ol class="dp-sql">
    <li class="alt"><span><span class="comment">--行列互转 </span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>/****************************************************************************************************************************************************** &nbsp;&nbsp;</span></li>
    <li class="alt"><span>以学生成绩为例子，比较形象易懂 &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>整理人：中国风(Roy) &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>日期:2008.06.06 &nbsp;&nbsp;</span></li>
    <li><span>******************************************************************************************************************************************************/ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span class="comment">--1、行互列 </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="comment">--&gt;&nbsp;--&gt;&nbsp;(Roy)生成測試數據 </span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>if&nbsp;</span><span class="op">not</span><span>&nbsp;object_id(</span><span class="string">'Class'</span><span>)&nbsp;</span><span class="keyword">is</span><span>&nbsp;</span><span class="op">null</span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">drop</span><span>&nbsp;</span><span class="keyword">table</span><span>&nbsp;Class &nbsp;&nbsp;</span></li>
    <li class="alt"><span>Go &nbsp;&nbsp;</span></li>
    <li><span class="keyword">Create</span><span>&nbsp;</span><span class="keyword">table</span><span>&nbsp;Class([Student]&nbsp;nvarchar(2),[Course]&nbsp;nvarchar(2),[Score]&nbsp;</span><span class="keyword">int</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">Insert</span><span>&nbsp;Class &nbsp;&nbsp;</span></li>
    <li><span class="keyword">select</span><span>&nbsp;N</span><span class="string">'张三'</span><span>,N</span><span class="string">'语文'</span><span>,78&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">select</span><span>&nbsp;N</span><span class="string">'张三'</span><span>,N</span><span class="string">'数学'</span><span>,87&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">select</span><span>&nbsp;N</span><span class="string">'张三'</span><span>,N</span><span class="string">'英语'</span><span>,82&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">select</span><span>&nbsp;N</span><span class="string">'张三'</span><span>,N</span><span class="string">'物理'</span><span>,90&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">select</span><span>&nbsp;N</span><span class="string">'李四'</span><span>,N</span><span class="string">'语文'</span><span>,65&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">select</span><span>&nbsp;N</span><span class="string">'李四'</span><span>,N</span><span class="string">'数学'</span><span>,77&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">select</span><span>&nbsp;N</span><span class="string">'李四'</span><span>,N</span><span class="string">'英语'</span><span>,65&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">select</span><span>&nbsp;N</span><span class="string">'李四'</span><span>,N</span><span class="string">'物理'</span><span>,85&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>Go &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="comment">--2000方法: </span><span>&nbsp;&nbsp;</span></li>
    <li><span>动态: &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">declare</span><span>&nbsp;@s&nbsp;nvarchar(4000) &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">set</span><span>&nbsp;@s=</span><span class="string">''</span><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">Select</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@s=@s+</span><span class="string">','</span><span>+quotename([Course])+</span><span class="string">'=max(case&nbsp;when&nbsp;[Course]='</span><span>+quotename([Course],</span><span class="string">''</span><span class="string">''</span><span>)+</span><span class="string">'&nbsp;then&nbsp;[Score]&nbsp;else&nbsp;0&nbsp;end)'</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">from</span><span>&nbsp;Class&nbsp;</span><span class="keyword">group</span><span>&nbsp;</span><span class="keyword">by</span><span>[Course] &nbsp;&nbsp;</span></li>
    <li><span class="keyword">exec</span><span>(</span><span class="string">'select&nbsp;[Student]'</span><span>+@s+</span><span class="string">'&nbsp;from&nbsp;Class&nbsp;group&nbsp;by&nbsp;[Student]'</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>生成静态: &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">select</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;[Student], &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;[数学]=</span><span class="keyword">max</span><span>(</span><span class="func">case</span><span>&nbsp;</span><span class="keyword">when</span><span>&nbsp;[Course]=</span><span class="string">'数学'</span><span>&nbsp;</span><span class="keyword">then</span><span>&nbsp;[Score]&nbsp;</span><span class="keyword">else</span><span>&nbsp;0&nbsp;</span><span class="keyword">end</span><span>), &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;[物理]=</span><span class="keyword">max</span><span>(</span><span class="func">case</span><span>&nbsp;</span><span class="keyword">when</span><span>&nbsp;[Course]=</span><span class="string">'物理'</span><span>&nbsp;</span><span class="keyword">then</span><span>&nbsp;[Score]&nbsp;</span><span class="keyword">else</span><span>&nbsp;0&nbsp;</span><span class="keyword">end</span><span>), &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;[英语]=</span><span class="keyword">max</span><span>(</span><span class="func">case</span><span>&nbsp;</span><span class="keyword">when</span><span>&nbsp;[Course]=</span><span class="string">'英语'</span><span>&nbsp;</span><span class="keyword">then</span><span>&nbsp;[Score]&nbsp;</span><span class="keyword">else</span><span>&nbsp;0&nbsp;</span><span class="keyword">end</span><span>), &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;[语文]=</span><span class="keyword">max</span><span>(</span><span class="func">case</span><span>&nbsp;</span><span class="keyword">when</span><span>&nbsp;[Course]=</span><span class="string">'语文'</span><span>&nbsp;</span><span class="keyword">then</span><span>&nbsp;[Score]&nbsp;</span><span class="keyword">else</span><span>&nbsp;0&nbsp;</span><span class="keyword">end</span><span>)&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">from</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;Class&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">group</span><span>&nbsp;</span><span class="keyword">by</span><span>&nbsp;[Student] &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>GO &nbsp;&nbsp;</span></li>
    <li><span>动态: &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">declare</span><span>&nbsp;@s&nbsp;nvarchar(4000) &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">Select</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@s=</span><span class="func">isnull</span><span>(@s+</span><span class="string">','</span><span>,</span><span class="string">''</span><span>)+quotename([Course])&nbsp;</span><span class="keyword">from</span><span>&nbsp;Class&nbsp;</span><span class="keyword">group</span><span>&nbsp;</span><span class="keyword">by</span><span>[Course] &nbsp;&nbsp;</span></li>
    <li><span class="keyword">exec</span><span>(</span><span class="string">'select&nbsp;*&nbsp;from&nbsp;Class&nbsp;pivot&nbsp;(max([Score])&nbsp;for&nbsp;[Course]&nbsp;in('</span><span>+@s+</span><span class="string">'))b'</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>生成静态: &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">select</span><span>&nbsp;*&nbsp; &nbsp;&nbsp;</span></li>
    <li><span class="keyword">from</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;Class&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>pivot&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;(</span><span class="keyword">max</span><span>([Score])&nbsp;</span><span class="keyword">for</span><span>&nbsp;[Course]&nbsp;</span><span class="op">in</span><span>([数学],[物理],[英语],[语文]))b &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>生成格式: &nbsp;&nbsp;</span></li>
    <li><span>/* &nbsp;&nbsp;</span></li>
    <li class="alt"><span>Student&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;&nbsp;语文 &nbsp;&nbsp;</span></li>
    <li><span class="comment">-------&nbsp;-----------&nbsp;-----------&nbsp;-----------&nbsp;----------- </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>李四&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;77&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;85&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;65&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;65 &nbsp;&nbsp;</span></li>
    <li><span>张三&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;87&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;82&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;78 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>(2&nbsp;行受影响) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>*/ &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="comment">------------------------------------------------------------------------------------------ </span><span>&nbsp;&nbsp;</span></li>
    <li><span>go &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="comment">--加上总成绩(学科平均分) </span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="comment">--2000方法: </span><span>&nbsp;&nbsp;</span></li>
    <li><span>动态: &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">declare</span><span>&nbsp;@s&nbsp;nvarchar(4000) &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">set</span><span>&nbsp;@s=</span><span class="string">''</span><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">Select</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@s=@s+</span><span class="string">','</span><span>+quotename([Course])+</span><span class="string">'=max(case&nbsp;when&nbsp;[Course]='</span><span>+quotename([Course],</span><span class="string">''</span><span class="string">''</span><span>)+</span><span class="string">'&nbsp;then&nbsp;[Score]&nbsp;else&nbsp;0&nbsp;end)'</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">from</span><span>&nbsp;Class&nbsp;</span><span class="keyword">group</span><span>&nbsp;</span><span class="keyword">by</span><span>[Course] &nbsp;&nbsp;</span></li>
    <li><span class="keyword">exec</span><span>(</span><span class="string">'select&nbsp;[Student]'</span><span>+@s+</span><span class="string">',[总成绩]=sum([Score])&nbsp;&nbsp;from&nbsp;Class&nbsp;group&nbsp;by&nbsp;[Student]'</span><span>)</span><span class="comment">--加多一列(学科平均分用avg([Score])) </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>生成动态: &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">select</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;[Student], &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;[数学]=</span><span class="keyword">max</span><span>(</span><span class="func">case</span><span>&nbsp;</span><span class="keyword">when</span><span>&nbsp;[Course]=</span><span class="string">'数学'</span><span>&nbsp;</span><span class="keyword">then</span><span>&nbsp;[Score]&nbsp;</span><span class="keyword">else</span><span>&nbsp;0&nbsp;</span><span class="keyword">end</span><span>), &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;[物理]=</span><span class="keyword">max</span><span>(</span><span class="func">case</span><span>&nbsp;</span><span class="keyword">when</span><span>&nbsp;[Course]=</span><span class="string">'物理'</span><span>&nbsp;</span><span class="keyword">then</span><span>&nbsp;[Score]&nbsp;</span><span class="keyword">else</span><span>&nbsp;0&nbsp;</span><span class="keyword">end</span><span>), &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;[英语]=</span><span class="keyword">max</span><span>(</span><span class="func">case</span><span>&nbsp;</span><span class="keyword">when</span><span>&nbsp;[Course]=</span><span class="string">'英语'</span><span>&nbsp;</span><span class="keyword">then</span><span>&nbsp;[Score]&nbsp;</span><span class="keyword">else</span><span>&nbsp;0&nbsp;</span><span class="keyword">end</span><span>), &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;[语文]=</span><span class="keyword">max</span><span>(</span><span class="func">case</span><span>&nbsp;</span><span class="keyword">when</span><span>&nbsp;[Course]=</span><span class="string">'语文'</span><span>&nbsp;</span><span class="keyword">then</span><span>&nbsp;[Score]&nbsp;</span><span class="keyword">else</span><span>&nbsp;0&nbsp;</span><span class="keyword">end</span><span>), &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;[总成绩]=</span><span class="func">sum</span><span>([Score])&nbsp;</span><span class="comment">--加多一列(学科平均分用avg([Score])) </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">from</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;Class&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">group</span><span>&nbsp;</span><span class="keyword">by</span><span>&nbsp;[Student] &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>go &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="comment">--2005方法: </span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>动态: &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">declare</span><span>&nbsp;@s&nbsp;nvarchar(4000) &nbsp;&nbsp;</span></li>
    <li><span class="keyword">Select</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@s=</span><span class="func">isnull</span><span>(@s+</span><span class="string">','</span><span>,</span><span class="string">''</span><span>)+quotename([Course])&nbsp;</span><span class="keyword">from</span><span>&nbsp;Class&nbsp;</span><span class="keyword">group</span><span>&nbsp;</span><span class="keyword">by</span><span>[Course]&nbsp;</span><span class="comment">--isnull(@s+',','')&nbsp;去掉字符串@s中第一个逗号 </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">exec</span><span>(</span><span class="string">'select&nbsp;[Student],'</span><span>+@s+</span><span class="string">',[总成绩]&nbsp;from&nbsp;(select&nbsp;*,[总成绩]=sum([Score])over(partition&nbsp;by&nbsp;[Student])&nbsp;from&nbsp;Class)&nbsp;a&nbsp; </span>&nbsp;</li>
    <li><span><span class="string">pivot&nbsp;(max([Score])&nbsp;for&nbsp;[Course]&nbsp;in('</span><span>+@s+</span><span class="string">'))b&nbsp;'</span><span>) &nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>生成静态: &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">select</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;[Student],[数学],[物理],[英语],[语文],[总成绩]&nbsp; &nbsp;&nbsp;</span></li>
    <li><span class="keyword">from</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;(</span><span class="keyword">select</span><span>&nbsp;*,[总成绩]=</span><span class="func">sum</span><span>([Score])over(partition&nbsp;</span><span class="keyword">by</span><span>&nbsp;[Student])&nbsp;</span><span class="keyword">from</span><span>&nbsp;Class)&nbsp;a&nbsp;</span><span class="comment">--平均分时用avg([Score]) </span><span>&nbsp;&nbsp;</span></li>
    <li><span>pivot&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;(</span><span class="keyword">max</span><span>([Score])&nbsp;</span><span class="keyword">for</span><span>&nbsp;[Course]&nbsp;</span><span class="op">in</span><span>([数学],[物理],[英语],[语文]))b&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>生成格式: &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>/* &nbsp;&nbsp;</span></li>
    <li><span>Student&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;&nbsp;语文&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;总成绩 &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="comment">-------&nbsp;-----------&nbsp;-----------&nbsp;-----------&nbsp;-----------&nbsp;----------- </span><span>&nbsp;&nbsp;</span></li>
    <li><span>李四&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;77&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;85&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;65&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;65&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;292 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>张三&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;87&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;82&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;78&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;337 &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>(2&nbsp;行受影响) &nbsp;&nbsp;</span></li>
    <li><span>*/ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>go &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span class="comment">--2、列转行 </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="comment">--&gt;&nbsp;--&gt;&nbsp;(Roy)生成測試數據 </span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>if&nbsp;</span><span class="op">not</span><span>&nbsp;object_id(</span><span class="string">'Class'</span><span>)&nbsp;</span><span class="keyword">is</span><span>&nbsp;</span><span class="op">null</span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">drop</span><span>&nbsp;</span><span class="keyword">table</span><span>&nbsp;Class &nbsp;&nbsp;</span></li>
    <li class="alt"><span>Go &nbsp;&nbsp;</span></li>
    <li><span class="keyword">Create</span><span>&nbsp;</span><span class="keyword">table</span><span>&nbsp;Class([Student]&nbsp;nvarchar(2),[数学]&nbsp;</span><span class="keyword">int</span><span>,[物理]&nbsp;</span><span class="keyword">int</span><span>,[英语]&nbsp;</span><span class="keyword">int</span><span>,[语文]&nbsp;</span><span class="keyword">int</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">Insert</span><span>&nbsp;Class &nbsp;&nbsp;</span></li>
    <li><span class="keyword">select</span><span>&nbsp;N</span><span class="string">'李四'</span><span>,77,85,65,65&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">select</span><span>&nbsp;N</span><span class="string">'张三'</span><span>,87,90,82,78 &nbsp;&nbsp;</span></li>
    <li><span>Go &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span class="comment">--2000: </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>动态: &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">declare</span><span>&nbsp;@s&nbsp;nvarchar(4000) &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">select</span><span>&nbsp;@s=</span><span class="func">isnull</span><span>(@s+</span><span class="string">'&nbsp;union&nbsp;all&nbsp;'</span><span>,</span><span class="string">''</span><span>)+</span><span class="string">'select&nbsp;[Student],[Course]='</span><span>+quotename(</span><span class="keyword">Name</span><span>,</span><span class="string">''</span><span class="string">''</span><span>)</span><span class="comment">--isnull(@s+'&nbsp;union&nbsp;all&nbsp;','')&nbsp;去掉字符串@s中第一个union&nbsp;all </span><span>&nbsp;&nbsp;</span></li>
    <li><span>+</span><span class="string">',[Score]='</span><span>+quotename(</span><span class="keyword">Name</span><span>)+</span><span class="string">'&nbsp;from&nbsp;Class'</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">from</span><span>&nbsp;syscolumns&nbsp;</span><span class="keyword">where</span><span>&nbsp;ID=object_id(</span><span class="string">'Class'</span><span>)&nbsp;</span><span class="op">and</span><span>&nbsp;</span><span class="keyword">Name</span><span>&nbsp;</span><span class="op">not</span><span>&nbsp;</span><span class="op">in</span><span>(</span><span class="string">'Student'</span><span>)</span><span class="comment">--排除不转换的列 </span><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">order</span><span>&nbsp;</span><span class="keyword">by</span><span>&nbsp;Colid &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">exec</span><span>(</span><span class="string">'select&nbsp;*&nbsp;from&nbsp;('</span><span>+@s+</span><span class="string">')t&nbsp;order&nbsp;by&nbsp;[Student],[Course]'</span><span>)</span><span class="comment">--增加一个排序 </span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>生成静态: &nbsp;&nbsp;</span></li>
    <li><span class="keyword">select</span><span>&nbsp;*&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">from</span><span>&nbsp;(</span><span class="keyword">select</span><span>&nbsp;[Student],[Course]=</span><span class="string">'数学'</span><span>,[Score]=[数学]&nbsp;</span><span class="keyword">from</span><span>&nbsp;Class&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li><span class="keyword">select</span><span>&nbsp;[Student],[Course]=</span><span class="string">'物理'</span><span>,[Score]=[物理]&nbsp;</span><span class="keyword">from</span><span>&nbsp;Class&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">select</span><span>&nbsp;[Student],[Course]=</span><span class="string">'英语'</span><span>,[Score]=[英语]&nbsp;</span><span class="keyword">from</span><span>&nbsp;Class&nbsp;</span><span class="keyword">union</span><span>&nbsp;</span><span class="op">all</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li><span class="keyword">select</span><span>&nbsp;[Student],[Course]=</span><span class="string">'语文'</span><span>,[Score]=[语文]&nbsp;</span><span class="keyword">from</span><span>&nbsp;Class)t&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">order</span><span>&nbsp;</span><span class="keyword">by</span><span>&nbsp;[Student],[Course] &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>go &nbsp;&nbsp;</span></li>
    <li><span class="comment">--2005: </span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>动态: &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span class="keyword">declare</span><span>&nbsp;@s&nbsp;nvarchar(4000) &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">select</span><span>&nbsp;@s=</span><span class="func">isnull</span><span>(@s+</span><span class="string">','</span><span>,</span><span class="string">''</span><span>)+quotename(</span><span class="keyword">Name</span><span>) &nbsp;&nbsp;</span></li>
    <li><span class="keyword">from</span><span>&nbsp;syscolumns&nbsp;</span><span class="keyword">where</span><span>&nbsp;ID=object_id(</span><span class="string">'Class'</span><span>)&nbsp;</span><span class="op">and</span><span>&nbsp;</span><span class="keyword">Name</span><span>&nbsp;</span><span class="op">not</span><span>&nbsp;</span><span class="op">in</span><span>(</span><span class="string">'Student'</span><span>)&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">order</span><span>&nbsp;</span><span class="keyword">by</span><span>&nbsp;Colid &nbsp;&nbsp;</span></li>
    <li><span class="keyword">exec</span><span>(</span><span class="string">'select&nbsp;Student,[Course],[Score]&nbsp;from&nbsp;Class&nbsp;unpivot&nbsp;([Score]&nbsp;for&nbsp;[Course]&nbsp;in('</span><span>+@s+</span><span class="string">'))b'</span><span>) &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>go &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">select</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;Student,[Course],[Score]&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="keyword">from</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;Class&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>unpivot&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;([Score]&nbsp;</span><span class="keyword">for</span><span>&nbsp;[Course]&nbsp;</span><span class="op">in</span><span>([数学],[物理],[英语],[语文]))b &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>生成格式: &nbsp;&nbsp;</span></li>
    <li class="alt"><span>/* &nbsp;&nbsp;</span></li>
    <li><span>Student&nbsp;Course&nbsp;Score &nbsp;&nbsp;</span></li>
    <li class="alt"><span class="comment">-------&nbsp;-------&nbsp;----------- </span><span>&nbsp;&nbsp;</span></li>
    <li><span>李四&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;数学&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;77 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>李四&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;物理&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;85 &nbsp;&nbsp;</span></li>
    <li><span>李四&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;英语&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;65 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>李四&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;语文&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;65 &nbsp;&nbsp;</span></li>
    <li><span>张三&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;数学&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;87 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>张三&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;物理&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;90 &nbsp;&nbsp;</span></li>
    <li><span>张三&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;英语&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;82 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>张三&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;语文&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;78 &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>(8&nbsp;行受影响) &nbsp;&nbsp;</span></li>
    <li><span>*/&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.dmblogs.com/nzBlog/article.asp?id=100</link>
			<title><![CDATA[set lock_timeout 控制sql超时]]></title>
			<author>nzperfect@gmail.com(nz.perfectaction)</author>
			<category><![CDATA[Sql Server]]></category>
			<pubDate>Thu,31 Jul 2008 14:03:17 +0800</pubDate>
			<guid>http://www.dmblogs.com/nzBlog/default.asp?id=100</guid>
		<description><![CDATA[sql 2005的begin try 和 begin catch 配合set lock_timeout，可以实现控制sql超时，例：<br/><br/>set lock_timeout 5000<br/>declare @i int<br/>declare @T table(data varchar(30))<br/>set @i =0;<br/>while ( @i &lt; 100)<br/>begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin try<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ins&#101;rt @T sel&#101;ct aa from tb wh&#101;re aa=1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end try<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin catch<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ins&#101;rt @T values(&#39;超时了&#39;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct * from @T<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end catch<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set @i = @i +1;<br/>end<br/>sel&#101;ct * from @T]]></description>
		</item>
		
			<item>
			<link>http://www.dmblogs.com/nzBlog/article.asp?id=99</link>
			<title><![CDATA[关于&#34;按某列分组，求最新一条记录&#34;两种sql写法的测试   ]]></title>
			<author>nzperfect@gmail.com(nz.perfectaction)</author>
			<category><![CDATA[Sql Server]]></category>
			<pubDate>Tue,29 Jul 2008 13:17:12 +0800</pubDate>
			<guid>http://www.dmblogs.com/nzBlog/default.asp?id=99</guid>
		<description><![CDATA[-----------------------------------------------------------------------<br/>--组织测试数据,首先我们来组织category分类比较少的情况,分了体现这个差别，所以只分了两个分类<br/>&nbsp;&nbsp;&nbsp;&nbsp;dro&#112; table tb<br/>&nbsp;&nbsp;&nbsp;&nbsp;cr&#101;ate table tb(id int identity primary key,category nvarchar(50),remark char(5000))<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;declare @i int set @i=1<br/>&nbsp;&nbsp;&nbsp;&nbsp;while @i&lt;=5000<br/>&nbsp;&nbsp;&nbsp;&nbsp;begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ins&#101;rt into tb sel&#101;ct &#39;a&#39;,&#39;remark&#39;+rtrim(@i)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set @i=@i+1<br/>&nbsp;&nbsp;&nbsp;&nbsp;end<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;declare @i int set @i=1<br/>&nbsp;&nbsp;&nbsp;&nbsp;while @i&lt;=5000<br/>&nbsp;&nbsp;&nbsp;&nbsp;begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ins&#101;rt into tb sel&#101;ct &#39;b&#39;,&#39;remark&#39;+rtrim(@i)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set @i=@i+1<br/>&nbsp;&nbsp;&nbsp;&nbsp;end<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;checkpoint&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;dbcc dro&#112;cleanbuffers<br/>&nbsp;&nbsp;&nbsp;&nbsp;dbcc freeproccache<br/>&nbsp;&nbsp;&nbsp;&nbsp;dbcc freesystemcache (&#39;all&#39;) <br/>&nbsp;&nbsp;&nbsp;&nbsp;set statistics io on<br/>&nbsp;&nbsp;&nbsp;&nbsp;set showplan_all on<br/>&nbsp;&nbsp;&nbsp;&nbsp;set showplan_all off<br/><br/>--在不给category加索引的情况下：<br/>&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct * from tb t wh&#101;re not exists (sel&#101;ct 1 from tb wh&#101;re category = t.category and id&gt;t.id)<br/>&nbsp;&nbsp;&nbsp;&nbsp;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;(2 行受影响)<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;tb&#39;。扫描计数 6，逻辑读取 22654 次，物理读取 5 次，预读 3900 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;Worktable&#39;。扫描计数 0，逻辑读取 0 次，物理读取 0 次，预读 0 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。&nbsp;&nbsp;&nbsp;&nbsp;*/<br/>&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct * from tb t<br/>&nbsp;&nbsp;&nbsp;&nbsp;inner join<br/>&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct max(id) as id from tb group by category<br/>&nbsp;&nbsp;&nbsp;&nbsp;) as t2 on t.id=t2.id<br/>&nbsp;&nbsp;&nbsp;&nbsp;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;(2 行受影响)<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;tb&#39;。扫描计数 1，逻辑读取 10044 次，物理读取 3 次，预读 10016 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;Worktable&#39;。扫描计数 0，逻辑读取 0 次，物理读取 0 次，预读 0 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。<br/>&nbsp;&nbsp;&nbsp;&nbsp;*/<br/><br/><br/>--在给category加索引的情况下：<br/>&nbsp;&nbsp;&nbsp;&nbsp;cr&#101;ate index ix_01 on tb (category) up&#100;ate statistics tb with fullscan <br/>&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct * from tb t wh&#101;re not exists (sel&#101;ct 1 from tb wh&#101;re category = t.category and id&gt;t.id)<br/>&nbsp;&nbsp;&nbsp;&nbsp;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;(2 行受影响)<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;tb&#39;。扫描计数 10001，逻辑读取 31377 次，物理读取 7 次，预读 10031 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。&nbsp;&nbsp;&nbsp;&nbsp;*/<br/>&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct t.* from tb t<br/>&nbsp;&nbsp;&nbsp;&nbsp;inner join<br/>&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct max(id) as id from tb group by category<br/>&nbsp;&nbsp;&nbsp;&nbsp;) as t2 on t.id=t2.id<br/>&nbsp;&nbsp;&nbsp;&nbsp;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;(2 行受影响)<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;tb&#39;。扫描计数 1，逻辑读取 28 次，物理读取 6 次，预读 20 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。<br/>&nbsp;&nbsp;&nbsp;&nbsp;*/<br/><br/><br/>-----------------------------------------------------------------------<br/>--组织测试数据,首先我们来组织category分类比较多的情况,2001类<br/>&nbsp;&nbsp;&nbsp;&nbsp;dro&#112; table tb<br/>&nbsp;&nbsp;&nbsp;&nbsp;cr&#101;ate table tb(id int identity primary key,category nvarchar(50),remark char(5000))<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;declare @i int set @i=1<br/>&nbsp;&nbsp;&nbsp;&nbsp;declare @ii int set @ii=1<br/>&nbsp;&nbsp;&nbsp;&nbsp;while @i&lt;=10000<br/>&nbsp;&nbsp;&nbsp;&nbsp;begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if @i%5=0 set @ii=@ii+1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ins&#101;rt into tb sel&#101;ct &#39;a&#39;+rtrim(@ii),&#39;remark&#39;+rtrim(@i)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set @i=@i+1<br/>&nbsp;&nbsp;&nbsp;&nbsp;end<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;checkpoint<br/>&nbsp;&nbsp;&nbsp;&nbsp;dbcc dro&#112;cleanbuffers<br/>&nbsp;&nbsp;&nbsp;&nbsp;dbcc freeproccache<br/>&nbsp;&nbsp;&nbsp;&nbsp;dbcc freesystemcache (&#39;all&#39;) <br/>&nbsp;&nbsp;&nbsp;&nbsp;set statistics io on<br/>&nbsp;&nbsp;&nbsp;&nbsp;set showplan_all on<br/>&nbsp;&nbsp;&nbsp;&nbsp;set showplan_all off<br/><br/>--在不给category加索引的情况下：<br/>&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct * from tb t wh&#101;re not exists (sel&#101;ct 1 from tb wh&#101;re category = t.category and id&gt;t.id)<br/>&nbsp;&nbsp;&nbsp;&nbsp;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;(2001 行受影响)<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;Worktable&#39;。扫描计数 0，逻辑读取 0 次，物理读取 0 次，预读 0 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;tb&#39;。扫描计数 2，逻辑读取 20076 次，物理读取 1 次，预读 4147 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。<br/>&nbsp;&nbsp;&nbsp;&nbsp;*/<br/>&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct * from tb t<br/>&nbsp;&nbsp;&nbsp;&nbsp;inner join<br/>&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct max(id) as id from tb group by category<br/>&nbsp;&nbsp;&nbsp;&nbsp;) as t2 on t.id=t2.id<br/>&nbsp;&nbsp;&nbsp;&nbsp;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp; (2001 行受影响)<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;tb&#39;。扫描计数 1，逻辑读取 16175 次，物理读取 3 次，预读 10025 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;Worktable&#39;。扫描计数 0，逻辑读取 0 次，物理读取 0 次，预读 0 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。<br/>&nbsp;&nbsp;&nbsp;&nbsp;*/<br/><br/><br/>--在给category加索引的情况下：<br/>&nbsp;&nbsp;&nbsp;&nbsp;cr&#101;ate index ix_01 on tb (category) up&#100;ate statistics tb with fullscan <br/>&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct * from tb t wh&#101;re not exists (sel&#101;ct 1 from tb wh&#101;re category = t.category and id&gt;t.id)<br/>&nbsp;&nbsp;&nbsp;&nbsp;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;(2001 行受影响)<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;Worktable&#39;。扫描计数 0，逻辑读取 0 次，物理读取 0 次，预读 0 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;tb&#39;。扫描计数 2，逻辑读取 10069 次，物理读取 4 次，预读 10045 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。<br/>&nbsp;&nbsp;&nbsp;&nbsp;*/<br/>&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct t.* from tb t<br/>&nbsp;&nbsp;&nbsp;&nbsp;inner join<br/>&nbsp;&nbsp;&nbsp;&nbsp;(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct max(id) as id from tb group by category<br/>&nbsp;&nbsp;&nbsp;&nbsp;) as t2 on t.id=t2.id<br/>&nbsp;&nbsp;&nbsp;&nbsp;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;(2001 行受影响)<br/>&nbsp;&nbsp;&nbsp;&nbsp;表 &#39;tb&#39;。扫描计数 1，逻辑读取 10694 次，物理读取 2 次，预读 10053 次，lob 逻辑读取 0 次，lob 物理读取 0 次，lob 预读 0 次。<br/>&nbsp;&nbsp;&nbsp;&nbsp;*/<br/><br/><br/>-----<br/>&nbsp;&nbsp;&nbsp;&nbsp;总结：<br/>&nbsp;&nbsp;&nbsp;&nbsp;在用来分组的字段可分组比较少的情况，用gorup by 分组后再inner join原表的效率会明显高于not exists写法,<br/>&nbsp;&nbsp;&nbsp;&nbsp;因为group by 后再inner join 原表是采用 merge join ，这要在有分组列有索引的情况下，已经排序，数据又少，速度极快。<br/>&nbsp;&nbsp;&nbsp;&nbsp;但not exits是nested loop join,在这种有大量外部数据输入再比较的情况下，效率是很慢的。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;反之,两者效率相当,都会很慢。]]></description>
		</item>
		
</channel>
</rss>
