<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_笨鸟先飞</title><subtitle type="text">宝剑锋从磨砺出，梅花香自苦寒来。</subtitle><id>http://feed.cnblogs.com/blog/u/55103/rss</id><updated>2011-12-15T10:47:49Z</updated><author><name>达达博文</name><uri>http://www.cnblogs.com/lida/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lida/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/55103/rss"/><entry><id>http://www.cnblogs.com/lida/archive/2011/12/15/2289273.html</id><title type="text">用php隐藏图片的真实地址</title><summary type="text">1 &amp;lt;?2 $image_path=&amp;quot;images/&amp;quot;3 $image_file=$image_path.$_GET[&amp;#39;name&amp;#39;];4 $sTmpVar = fread(fopen($image_file, &amp;#39;r&amp;#39;), filesize($image_path));5 header(&amp;quot;Content-type: image/* &amp;quot;);6 echo $sTmpVar;7 ?&amp;gt;这段代码不光可以隐藏图片,代码后三行不用改,连FLASH真实地址也可以隐藏. 用这个结合其它技术可以防止盗链.</summary><published>2011-12-15T10:48:00Z</published><updated>2011-12-15T10:48:00Z</updated><author><name>达达博文</name><uri>http://www.cnblogs.com/lida/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lida/archive/2011/12/15/2289273.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lida/archive/2011/12/15/2289273.html"/><content type="html">&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;span style="color: #008080;"&gt;1&lt;/span&gt;     &amp;lt;?&lt;br /&gt;&lt;span style="color: #008080;"&gt;2&lt;/span&gt;     &lt;span style="color: #800080;"&gt;$image_path&lt;/span&gt;="images/"&lt;br /&gt;&lt;span style="color: #008080;"&gt;3&lt;/span&gt;     &lt;span style="color: #800080;"&gt;$image_file&lt;/span&gt;=&lt;span style="color: #800080;"&gt;$image_path&lt;/span&gt;.&lt;span style="color: #800080;"&gt;$_GET&lt;/span&gt;['name'];&lt;br /&gt;&lt;span style="color: #008080;"&gt;4&lt;/span&gt;     &lt;span style="color: #800080;"&gt;$sTmpVar&lt;/span&gt; = &lt;span style="color: #008080;"&gt;fread&lt;/span&gt;(&lt;span style="color: #008080;"&gt;fopen&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$image_file&lt;/span&gt;, 'r'), &lt;span style="color: #008080;"&gt;filesize&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$image_path&lt;/span&gt;));&lt;br /&gt;&lt;span style="color: #008080;"&gt;5&lt;/span&gt;     &lt;span style="color: #008080;"&gt;header&lt;/span&gt;("Content-type: image/* ");&lt;br /&gt;&lt;span style="color: #008080;"&gt;6&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;echo&lt;/span&gt; &lt;span style="color: #800080;"&gt;$sTmpVar&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080;"&gt;7&lt;/span&gt;     ?&amp;gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;这段代码不光可以隐藏图片,代码后三行不用改,连FLASH真实地址也可以隐藏.&lt;br /&gt; &lt;br /&gt; 用这个结合其它技术可以防止盗链.&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lida/aggbug/2289273.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lida/archive/2011/12/15/2289273.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lida/archive/2011/11/20/2256483.html</id><title type="text">IE6.0中使用Javascript支持png格式图片</title><summary type="text">你知道如何用Javascript让IE6.0支持png格式的图片吗，这里和大家分享一下，如果把PNG图片插入网页的话可以给网站内容增色不少!更重要的是在不增加图片容量大小的情况下提高了页面的图片的质量。用Javascript让IE6.0支持png格式的图片PNG图片有很好的品质。阴影效果也不会有杂边,很流畅。如果插入网页的话可以给网站内容增色不少!更重要的是在不增加图片容量大小的情况下提高了页面的图片的质量。对于有复杂背景，如：在有颜色过度背景上插入不规则边框的图片带来极大很便利!但目前IE中对于插入的透明背景的.png的图片是不能正常显示的。IE会自动给”.png”格式的图片加个灰色背景。解</summary><published>2011-11-20T13:39:00Z</published><updated>2011-11-20T13:39:00Z</updated><author><name>达达博文</name><uri>http://www.cnblogs.com/lida/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lida/archive/2011/11/20/2256483.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lida/archive/2011/11/20/2256483.html"/><content type="html">&lt;p&gt;你知道如何用Javascript让IE6.0支持png格式的图片吗，这里和大家分享一下，如果把PNG图片插入网页的话可以给网站内容增色不少!更重要的是在不增加图片容量大小的情况下提高了页面的图片的质量。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;用Javascript让IE6.0支持png格式的图片&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;PNG图片有很好的品质。阴影效果也不会有杂边,很流畅。如果插入网页的话可以给网站内容增色不少!更重要的是在不增加图片容量大小的情况下提高了页面的图片的质量。对于有复杂背景，如：在有颜色过度背景上插入不规则边框的图片带来极大很便利!&lt;/p&gt;&#xD;
&lt;p&gt;但目前IE中对于插入的透明背景的.png的图片是不能正常显示的。IE会自动给&amp;rdquo;.png&amp;rdquo;格式的图片加个灰色背景。&lt;/p&gt;&#xD;
&lt;p&gt;解决这个的方法是增加javascript。具体方法如下：&lt;/p&gt;&#xD;
&lt;p&gt;把下面的代码放在head区就可以解决问题了。&lt;/p&gt;&#xD;
&lt;p&gt;以下是引用片段：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&amp;lt;script language=&amp;rdquo;javascript&amp;rdquo;&amp;gt; &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; correctPNG()  &lt;br /&gt;{  &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;for&lt;/span&gt;(&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; i=0; i&amp;lt;document.images.length; i++)  &lt;br /&gt;{  &lt;br /&gt; &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; img = document.images[i];  &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; imgimgName = img.src.toUpperCase();  &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (imgName.substring(imgName.length-3, imgName.length) == &amp;ldquo;PNG&amp;rdquo;)  &lt;br /&gt;{  &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; imgID = (img.id) ? &amp;ldquo;id=&amp;rsquo;&amp;rdquo; + img.id + &amp;ldquo;&amp;lsquo; &amp;rdquo; : &amp;ldquo;&amp;rdquo;;  &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; imgClass = (img.className) ? &amp;ldquo;class=&amp;rsquo;&amp;rdquo; + &lt;br /&gt;img.className + &amp;ldquo;&amp;lsquo; &amp;rdquo; : &amp;ldquo;&amp;rdquo;;  &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; imgTitle = (img.title) ? &amp;ldquo;title=&amp;rsquo;&amp;rdquo; + img.title +&lt;br /&gt; &amp;ldquo;&amp;lsquo; &amp;rdquo; : &amp;ldquo;title=&amp;rsquo;&amp;rdquo; + img.alt + &amp;ldquo;&amp;lsquo; &amp;ldquo;;  &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; imgStyle = &amp;ldquo;display:inline-block;&amp;rdquo; + img.style.cssText;  &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (img.align == &amp;ldquo;left&amp;rdquo;) imgStyle = &amp;ldquo;&lt;span style="color: #0000ff;"&gt;float&lt;/span&gt;:left;&amp;rdquo; + imgStyle;  &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (img.align == &amp;ldquo;right&amp;rdquo;) imgStyle = &amp;ldquo;&lt;span style="color: #0000ff;"&gt;float&lt;/span&gt;:right;&amp;rdquo; + imgStyle;  &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (img.parentNode.href) imgStyle = &amp;ldquo;cursor:hand;&amp;rdquo; + imgStyle;  &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; strNewHTML = &amp;ldquo;&amp;lt;span &amp;rdquo; + imgID + imgClass + imgTitle  &lt;br /&gt;+ &amp;rdquo; style=\&amp;rdquo;&amp;rdquo; + &amp;ldquo;width:&amp;rdquo; + img.width + &amp;ldquo;px; height:&amp;rdquo;&lt;br /&gt; + img.height + &amp;ldquo;px;&amp;rdquo; + imgStyle + &amp;ldquo;;&amp;rdquo;  &lt;br /&gt;+ &amp;ldquo;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader&amp;rdquo;  &lt;br /&gt;+ &amp;ldquo;(src=\&amp;rsquo;&amp;rdquo; + img.src + &amp;ldquo;\&amp;rsquo;, sizingMethod=&amp;rsquo;scale&amp;rsquo;);\&amp;rdquo;&amp;gt;&amp;lt;/span&amp;gt;&amp;rdquo;;  &lt;br /&gt;img.outerHTML = strNewHTML ;  &lt;br /&gt; &lt;br /&gt;}  &lt;br /&gt;}  &lt;br /&gt;}  &lt;br /&gt;&amp;lt;/script&amp;gt; &lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;也可以把这段代码单独加在一张图片上：&lt;/p&gt;&#xD;
&lt;p&gt;以下是引用片段：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&amp;lt;span style="filter:progid:   &lt;br /&gt;DXImageTransform.Microsoft.AlphaImageLoader  &lt;br /&gt;(src='male.png', sizingMethod='scale');"&amp;gt; &amp;lt;/span&amp;gt; &lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;还有一点：所有的png格式的图片一定要加上宽度和 高度 不然图片大小会发生变化。&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lida/aggbug/2256483.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lida/archive/2011/11/20/2256483.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lida/archive/2011/05/24/2055131.html</id><title type="text">PHP编码规范</title><summary type="text">一、文件格式1. 对于只含有php代码的文件，我们将在文件结尾处忽略掉&amp;quot;?&amp;gt;&amp;quot;。这是为了防止多余的空格或者其它字符影响到代码。例如：&amp;lt;?php$foo=&amp;#39;foo&amp;#39;;2. 缩进应该能够反映出代码的逻辑结果，尽量使用四个空格，禁止使用制表符TAB，因为这样能够保证有跨客户端编程器软件的灵活性。例如：if(1==$x){ $indented_code=1; if(1==$new_line){ $more_indented_code=1; }}3. 变量赋值必须保持相等间距和排列。例如：$variable=&amp;#39;demo&amp;#39;;$var =&amp;#3</summary><published>2011-05-24T02:44:00Z</published><updated>2011-05-24T02:44:00Z</updated><author><name>达达博文</name><uri>http://www.cnblogs.com/lida/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lida/archive/2011/05/24/2055131.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lida/archive/2011/05/24/2055131.html"/><content type="html">&lt;p&gt;&lt;strong&gt;一、文件格式&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1. 对于只含有&amp;nbsp;php&amp;nbsp;代码的文件，我们将在文件结尾处忽略掉&amp;nbsp;"?&amp;gt;"&amp;nbsp;。这是为了防止多余的空格或者其它字符影响到代码。&lt;br /&gt;例如：&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;$foo&amp;nbsp;=&amp;nbsp;'foo';&lt;/span&gt;&lt;br /&gt;2. 缩进应该能够反映出代码的逻辑结果，尽量使用四个空格，禁止使用制表符TAB，因为这样能够保证有跨客户端编程器软件的灵活性。&lt;br /&gt;例如：&lt;br /&gt;&lt;em&gt;if&amp;nbsp;(1&amp;nbsp;==&amp;nbsp;$x)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $indented_code&amp;nbsp;=&amp;nbsp;1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&amp;nbsp;(1&amp;nbsp;==&amp;nbsp;$new_line)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $more_indented_code&amp;nbsp;=&amp;nbsp;1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;3. 变量赋值必须保持相等间距和排列。&lt;br /&gt;例如：&lt;br /&gt;&lt;em&gt;$variable&amp;nbsp;=&amp;nbsp;'demo';&lt;br /&gt;$var&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;'demo2';&lt;br /&gt;&lt;/em&gt;4. 每行代码长度应控制在80个字符以内，最长不超过120个字符。因为&amp;nbsp;linux&amp;nbsp;读入文件一般以80列为单位，就是说如果一行代码超过80个字符，那么系统将为此付出额外操作指令。这个虽然看起来是小问题，但是对于追求完美的程序员来说也是值得注意并遵守的规范。&lt;br /&gt;5. 每行结尾不允许有多余的空格。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;二、命名约定&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1. 类文件都是以&amp;ldquo;.class.php&amp;ldquo;为后缀，且类文件名只允许字母，使用驼峰法命名，并且首字母大写，例如：DbMysql.class.php&amp;nbsp;。&lt;br /&gt;2.&#xD;
 &#xD;
配置和函数等其他类库文件之外的文件一般是分别以&amp;ldquo;.inc.php&amp;ldquo;和&amp;rdquo;.php&amp;ldquo;为后缀，且文件名命名使用小写字母和下划线的方式，多个单词之间以下&#xD;
划线分隔，例如config.inc.php&amp;nbsp;，&amp;nbsp;common.php，install_function.php&amp;nbsp;。&lt;br /&gt;3. 确保文件的命名和调用大小写一致，是由于在类Unix系统上面，对大小写是敏感的。&lt;br /&gt;4. 类名和文件名一致（包括上面说的大小写一致），且类名只允许字母，例如&amp;nbsp;UserAction类的文件命名是UserAction.class.php，&amp;nbsp;InfoModel类的文件名是InfoModel.class.php&amp;nbsp;。&lt;br /&gt;5. 控制器类以Action为后缀，例如&amp;nbsp;UserAction、InfoAction&amp;nbsp;，模型类以Model为后缀，例如UserModel、InfoModel&amp;nbsp;，其他类也分别以相应分类为后缀，例如Service&amp;nbsp;、Widget。&lt;br /&gt;6. 方法名只允许由字母组成，下划线是不允许的，首字母要小写，其后每个单词首字母要大写，即所谓的&amp;nbsp;&amp;ldquo;驼峰法命名&amp;rdquo;&amp;nbsp;规则，且越详细越好，应该能够描述清楚该方法的功能，例如switchModel、findPage。&lt;br /&gt;7. 属性的命名只允许由字母组成，下划线是不允许的，首字母要小写，其后每个单词首字母要大写，即所谓的&amp;nbsp;&amp;ldquo;驼峰法命名&amp;rdquo;&amp;nbsp;规则，例如tablePrefix、tableName&amp;nbsp;。&lt;br /&gt;8. 对于对象成员的访问，我们必须始终使用&amp;nbsp;&amp;ldquo;get&amp;rdquo;&amp;nbsp;和&amp;nbsp;&amp;ldquo;set&amp;rdquo;&amp;nbsp;方法。例如：&lt;br /&gt;&lt;em&gt;class&amp;nbsp;Foo&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected&amp;nbsp;$_testObj;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;getTestObj()&lt;/em&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;div&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return&amp;nbsp;$this-&amp;gt;_testObj;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;setTestObj($testObj)&lt;/em&gt;&lt;/div&gt;&#xD;
&lt;em&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$this-&amp;gt;testObj&amp;nbsp;=&amp;nbsp;$_testObj;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;9. 当类成员方法被声明为&amp;nbsp;private&amp;nbsp;时，必须分别以双下划线&amp;nbsp;"__"为开头；被声明为&amp;nbsp;protected&amp;nbsp;时，必须分别以单下划线&amp;nbsp;"_"&amp;nbsp;为开头；一般情况下的方法不含下划线。例如&amp;nbsp;：&lt;br /&gt;&lt;em&gt;class&amp;nbsp;Foo&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;private&amp;nbsp;function&amp;nbsp;__example()&lt;/em&gt;&#xD;
&lt;div&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&amp;nbsp;...&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected&amp;nbsp;function&amp;nbsp;_example()&lt;/em&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&amp;nbsp;...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;example()&lt;/em&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&amp;nbsp;...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;10. 如果我们需要把一些经常使用的方法定义为全局函数，那么应该把它们以静态&amp;nbsp;(static)&amp;nbsp;的形式定义在类中。例如：&lt;br /&gt;&lt;em&gt;class&amp;nbsp;Think&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;static public&amp;nbsp;function&amp;nbsp;autoload($classname)&lt;/em&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//&amp;nbsp;...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;11. 被声明为&amp;nbsp;private的类成员属性必须由双下划线&amp;nbsp;"__"&amp;nbsp;作为开头；被声明为&amp;nbsp;protected&amp;nbsp;的类成员属性必须由下划线&amp;nbsp;"_"&amp;nbsp;作为开头；而声明为&amp;nbsp;public&amp;nbsp;的成员属性则在任何时候都不允许含有下划线。&lt;br /&gt;12. 函数的命名使用小写字母和下划线的方式，且越详细越好，应该能够描述清楚该函数的功能，例如&amp;nbsp;get_client_ip&amp;nbsp;。&lt;br /&gt;13. 当方法或函数参数不一定需要被赋值的时候，用&amp;nbsp;"null"&amp;nbsp;来代替&amp;nbsp;"false"&amp;nbsp;作为函数参数的默认值，除非该参数是&amp;nbsp;boolean&amp;nbsp;值。&lt;br /&gt;14. 变量只允许由小写字母和下划线组成，且建议用描述性的变量的命名，越详细越好，以至于像&amp;nbsp;$i&amp;nbsp;或&amp;nbsp;$n&amp;nbsp;等等都是不鼓励使用的。&lt;br /&gt;15. 类中的常量&amp;nbsp;constant&amp;nbsp;和全局范围内常量define，只能由大写字母和下划线组成，各个单词之间以下划线分割。&lt;br /&gt;16. boolean&amp;nbsp;值和&amp;nbsp;null&amp;nbsp;值都采用小写。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;三、编码风格&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1. php&amp;nbsp;代码必须以完整的形式来定界（&amp;lt;?php&amp;nbsp;&amp;hellip;&amp;nbsp;?&amp;gt;），即不要使用php&amp;nbsp;短标签（&amp;lt;?&amp;nbsp;&amp;hellip;&amp;nbsp;?&amp;gt;），且保证在关闭标签后不要有任何空格。&lt;br /&gt;2. 当一个字符串是纯文本组成的时候（即不含有变量），则必须总是以单引号（'）作为定界符。例如：&lt;br /&gt;$a&amp;nbsp;=&amp;nbsp;'Example&amp;nbsp;String';&lt;br /&gt;3. 变量替换中的变量只允许用&amp;nbsp;$+变量名&amp;nbsp;的形式。例如：&lt;br /&gt;&lt;em&gt;$greeting&amp;nbsp;=&amp;nbsp;"Hello&amp;nbsp;$name,&amp;nbsp;welcome&amp;nbsp;back!";&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;允许&lt;br /&gt;$greeting&amp;nbsp;=&amp;nbsp;"Hello&amp;nbsp;{$name},&amp;nbsp;welcome&amp;nbsp;back!";&amp;nbsp;//&amp;nbsp;允许&lt;br /&gt;$greeting&amp;nbsp;=&amp;nbsp;"Hello&amp;nbsp;${name},&amp;nbsp;welcome&amp;nbsp;back!";&amp;nbsp;//&amp;nbsp;不允许&lt;br /&gt;&lt;/em&gt;&amp;nbsp;当用点号&amp;nbsp;"."&amp;nbsp;连接各字符串的时候，字符串与点号间必须用一个空格隔开，且允许把它分割成多行以增强可读性。在这种情况下，点号&amp;nbsp;"."&amp;nbsp;必须与等于号&amp;nbsp;"="&amp;nbsp;对齐。例如：&lt;br /&gt;&lt;em&gt;$sql&amp;nbsp;=&amp;nbsp;"SELECT&amp;nbsp;`id`,&amp;nbsp;`name`&amp;nbsp;"&amp;nbsp;.&amp;nbsp;"&amp;nbsp;FROM&amp;nbsp;`people`&amp;nbsp;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&amp;nbsp;"WHERE&amp;nbsp;`name`&amp;nbsp;=&amp;nbsp;'Susan'&amp;nbsp;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&amp;nbsp;"ORDER&amp;nbsp;BY&amp;nbsp;`name`&amp;nbsp;ASC&amp;nbsp;";&lt;br /&gt;&lt;/em&gt;&amp;nbsp;当用&amp;nbsp;array&amp;nbsp;类型符号来构造数组的时候，必须在每个逗号之后加上一个空格来增强可读性。例如：$sampleArray&amp;nbsp;=&amp;nbsp;array(1,&amp;nbsp;2,&amp;nbsp;3,&amp;nbsp;'Think',&amp;nbsp;'SNS');&lt;br /&gt;4. 当使用&amp;nbsp;array&amp;nbsp;类型符声明关联数组的时候，我们鼓励把它分成多个行，只是我们必须同时保证每行的键与值的对齐，以保持美观。例如：&lt;br /&gt;&lt;em&gt;$sampleArray&amp;nbsp;=&amp;nbsp;array(&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'firstKey'&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;'firstValue',&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'secondKey'&amp;nbsp;=&amp;gt;&amp;nbsp;'secondValue'&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );&lt;br /&gt;&lt;/em&gt;5. 大括号的开始必须在类名的下一行顶格。例如：&lt;br /&gt;&lt;em&gt;class&amp;nbsp;Think&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;...&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;6. 类中的所有代码都必须用四个空格来进行缩进。&lt;br /&gt;7. 每个&amp;nbsp;php&amp;nbsp;文件只允许声明一个类。在类文件里面写其它代码是允许的，但并不鼓励这样做。假如真要附加代码的话，必须用空行来分隔。&lt;br /&gt;8. 任何类变量的声明都必须放在类顶部，先于任何函数的声明。&lt;br /&gt;9. 不允许用&amp;nbsp;var&amp;nbsp;符号来声明变量，类成员变量必须以&amp;nbsp;private，protected&amp;nbsp;和&amp;nbsp;public&amp;nbsp;来声明。其次，把类成员声明为&amp;nbsp;public&amp;nbsp;而直接引用虽然是允许的，但通常更好的方法是使用&amp;nbsp;get&amp;nbsp;和&amp;nbsp;set&amp;nbsp;方法来访问类成员。&lt;br /&gt;10. 方法必须总是用&amp;nbsp;private，protected&amp;nbsp;或者&amp;nbsp;public&amp;nbsp;来声明其作用域。&lt;br /&gt;11. 静态&amp;nbsp;static&amp;nbsp;方法应该声明其作用域，且不应该再被声明为&amp;nbsp;private&amp;nbsp;私有，而应该为&amp;nbsp;protected&amp;nbsp;或者public&amp;nbsp;，如果只是不想被子类继承，则应该用&amp;nbsp;final&amp;nbsp;声明它们。&lt;br /&gt;12. 函数或方法的初始大括号应该在函数声明的下一行顶格。例如：&amp;nbsp;&lt;br /&gt;&lt;em&gt;function&amp;nbsp;get_client_ip()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;hellip;&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;13. 在函数或方法名与参数括号之间不允许出现多余的空格。例如：&lt;br /&gt;&lt;em&gt;function&amp;nbsp;get_client_ip()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;hellip;&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;14. 引用只允许定义在函数参数中，实时传递引用是禁止的。例如：&lt;br /&gt;&lt;em&gt;//&amp;nbsp;引用定义在函数参数-允许的&lt;br /&gt;function&amp;nbsp;defineRefInMethod(&amp;amp;$a)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$a&amp;nbsp;=&amp;nbsp;'a';&lt;br /&gt;}&amp;nbsp;&lt;br /&gt;defineRefInMethod($b);&lt;br /&gt;echo&amp;nbsp;$b;&amp;nbsp;//&amp;nbsp;'a'&lt;br /&gt;//&amp;nbsp;实时传递引用-禁止的&lt;br /&gt;function&amp;nbsp;callTimePassRef($a)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$a&amp;nbsp;=&amp;nbsp;'a';&lt;br /&gt;}&lt;br /&gt;callTimePassRef(&amp;amp;$c);&lt;br /&gt;echo&amp;nbsp;$c;&amp;nbsp;//&amp;nbsp;'a'&lt;br /&gt;&lt;/em&gt;15. 函数或方法返回值不可以用括号包住，不然会降低可读性，而且假如以后函数修改为返回引用的话，这将会抛出一个异常。&lt;br /&gt;16. 鼓励尽量使用类型提示，特别是在模块设计中。例如：&lt;br /&gt;&lt;em&gt;class&amp;nbsp;Foo&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;foo(SomeInterface&amp;nbsp;$object)&lt;/em&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;div&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;bar(array&amp;nbsp;$options)&lt;/em&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;17. 函数和方法参数必须用逗号+空格来分隔。&lt;br /&gt;18. 对于参数为数组的函数，参数中的数组应该分成多行以增强可读性。例如：&lt;br /&gt;&lt;em&gt;threeArguments(array(1,&amp;nbsp;2,&amp;nbsp;3),&amp;nbsp;2,&amp;nbsp;3);&lt;br /&gt;threeArguments(array(1,&amp;nbsp;2,&amp;nbsp;3,&amp;nbsp;'Think',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'SNS',&amp;nbsp;$a,&amp;nbsp;$b,&amp;nbsp;$c,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;56.44,&amp;nbsp;$d,&amp;nbsp;500),&amp;nbsp;2,&amp;nbsp;3);&lt;br /&gt;&lt;/em&gt;19. &amp;nbsp;基于"if",&amp;nbsp;"else"和"else&amp;nbsp;if"的条件控制里，我们必须用空格间隔开语句和括号，大括号的开始&amp;nbsp;"{"&amp;nbsp;必须与条件控制语句位于同一行，结束&amp;nbsp;"}"&amp;nbsp;必须总是独占一行且顶格，控制流程内容必须用四个空格进行缩进，且不使用"elseif"。&lt;br /&gt;&lt;em&gt;if&amp;nbsp;($condition)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;...&lt;br /&gt;}&amp;nbsp;else&amp;nbsp;if&amp;nbsp;($_condition)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;...&lt;br /&gt;}&amp;nbsp;else&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;...&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;20. 在条件控制语句的条件括号内，必须用空格将操作符与其它元素隔开。如果遇到很长的逻辑判断，则鼓励用内嵌括号来分割各个逻辑。例如：&lt;br /&gt;&lt;em&gt;if&amp;nbsp;(($a&amp;nbsp;!=&amp;nbsp;2)&amp;nbsp;and&amp;nbsp;($b&amp;nbsp;==&amp;nbsp;1))&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$a&amp;nbsp;=&amp;nbsp;$b;&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;21. "switch"&amp;nbsp;条件控制语句中，必须用空格将待测参数与其它元素分隔开。例如：&lt;br /&gt;&lt;em&gt;switch&amp;nbsp;($num)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;hellip;&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;22. &amp;nbsp;"switch"&amp;nbsp;语句的内容必须以四个空格缩进，"case"&amp;nbsp;条件控制的内容必须再加四个空格进行缩进。例如：&lt;br /&gt;&lt;em&gt;switch&amp;nbsp;($indentedSpaces)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;2:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;"错误";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;4:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;"正确";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;}&lt;br /&gt;&lt;/em&gt;23. 在&amp;nbsp;"switch"&amp;nbsp;语句中应该总是包括&amp;nbsp;"default"&amp;nbsp;控制。&lt;br /&gt;24. 有时候我们需要在&amp;nbsp;"case"&amp;nbsp;语境中省略掉&amp;nbsp;"break"&amp;nbsp;或&amp;nbsp;"return"&amp;nbsp;，这个时候我们必须为这些&amp;nbsp;"case"&amp;nbsp;语句加上&amp;nbsp;"//&amp;nbsp;此处无break"&amp;nbsp;注释。例如：&lt;br /&gt;&lt;em&gt;switch&amp;nbsp;($numPeople)&amp;nbsp;{&lt;br /&gt;case&amp;nbsp;1:&amp;nbsp;//&amp;nbsp;此处无break&lt;/em&gt;&lt;/div&gt;&#xD;
&lt;em&gt;case&amp;nbsp;2:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;default:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;}&lt;/em&gt;&lt;img src="http://www.cnblogs.com/lida/aggbug/2055131.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lida/archive/2011/05/24/2055131.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lida/archive/2011/03/12/1982074.html</id><title type="text">php超级分页类(转载自php100论坛)</title><summary type="text">1、前言分页显示是一种非常常见的浏览和显示大量数据的方法，属于web编程中最常处理的事件之一。对于web编程的老手来说，编写这种代码实在是和呼吸一样自然，但是对于初学者来说，常常对这个问题摸不着头绪，因此特地撰写此文对这个问题进行详细的讲解，力求让看完这篇文章的朋友在看完以后对于分页显示的原理和实现方法有所了解。本文适合初学者阅读，所有示例代码均使用php编写。2、原理所谓分页显示，也就是将数据库中的结果集人为的分成一段一段的来显示，这里需要两个初始的参数：每页多少条记录（$PageSize）？当前是第几页（$CurrentPageID）？现在只要再给我一个结果集，我就可以显示某段特定的结果出</summary><published>2011-03-12T02:48:00Z</published><updated>2011-03-12T02:48:00Z</updated><author><name>达达博文</name><uri>http://www.cnblogs.com/lida/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lida/archive/2011/03/12/1982074.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lida/archive/2011/03/12/1982074.html"/><content type="html">1、前言&lt;br /&gt;分页显示是一种非常常见的浏览和显示大量数据的方法，属于web编程中最常处理的事件之一。对于web编程的老手来说，编写这种代码实在是和呼吸一样自然，但是对于初学者来说，常常对这个问题摸不着头绪，因此特地撰写此文对这个问题进行详细的讲解，力求让看完这篇文章的朋友在看完以后对于分页显示的原理和实现方法有所了解。本文适合初学者阅读，所有示例代码均使用php编写。&lt;br /&gt;2、原理&lt;br /&gt;所谓分页显示，也就是将数据库中的结果集人为的分成一段一段的来显示，这里需要两个初始的参数：&lt;br /&gt;每页多少条记录（$PageSize）？&lt;br /&gt;当前是第几页（$CurrentPageID）？&lt;br /&gt;现在只要再给我一个结果集，我就可以显示某段特定的结果出来。&lt;br /&gt;至于其他的参数，比如：上一页（$PReviousPageID）、下一页（$NextPageID）、总页数（$numPages）等等，都可以根据前边这几个东西得到。&lt;br /&gt;以MySQL数据库为例，如果要从表内截取某段内容，sql语句可以用：select * from table limit offset, rows。看看下面一组sql语句，尝试一下发现其中的规率。&lt;br /&gt;前10条记录：select * from table limit 0,10&lt;br /&gt;第11至20条记录：select * from table limit 10,10&lt;br /&gt;第21至30条记录：select * from table limit 20,10&lt;br /&gt;&amp;hellip;&amp;hellip;&lt;br /&gt;这一组sql语句其实就是当$PageSize=10的时候取表内每一页数据的sql语句，我们可以总结出这样一个模板：&lt;br /&gt;select * from table limit ($CurrentPageID - 1) * $PageSize, $PageSize&lt;br /&gt;拿这个模板代入对应的值和上边那一组sql语句对照一下看看是不是那么回事。搞定了最重要的如何获取数据的问题以后，剩下的就仅仅是传递参数，构造合适的sql语句然后使用php从数据库内获取数据并显示了。以下我将用具体代码加以说明。&lt;br /&gt;3、简单代码&lt;br /&gt;请详细阅读以下代码，自己调试运行一次，最好把它修改一次，加上自己的功能，比如搜索等等。&lt;br /&gt;&amp;lt;?php&lt;br /&gt;// 建立数据库连接&lt;br /&gt;$link = mysql_connect("localhost", "mysql_user", "mysql_passWord")&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; or die("Could not connect: " . mysql_error());&amp;nbsp;&lt;br /&gt;// 获取当前页数&lt;br /&gt;if( isset($_GET['page']) ){&lt;br /&gt;&amp;nbsp;&amp;nbsp; $page = intval( $_GET['page'] );&lt;br /&gt;}&lt;br /&gt;else{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $page = 1;&lt;br /&gt;}&amp;nbsp;&lt;br /&gt;// 每页数量&lt;br /&gt;$PageSize = 10;&amp;nbsp;&lt;br /&gt;// 获取总数据量&lt;br /&gt;$sql = "select count(*) as amount from table";&lt;br /&gt;$result = mysql_query($sql);&lt;br /&gt;$row = mysql_fetch_row($result);&lt;br /&gt;$amount = $row['amount'];&amp;nbsp;&lt;br /&gt;// 记算总共有多少页&lt;br /&gt;if( $amount ){&lt;br /&gt;&amp;nbsp;&amp;nbsp; if( $amount &amp;lt; $page_size ){ $page_count = 1; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //如果总数据量小于$PageSize，那么只有一页&lt;br /&gt;&amp;nbsp;&amp;nbsp; if( $amount % $page_size ){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //取总数据量除以每页数的余数&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $page_count = (int)($amount / $page_size) + 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //如果有余数，则页数等于总数据量除以每页数的结果取整再加一&lt;br /&gt;&amp;nbsp;&amp;nbsp; }else{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $page_count = $amount / $page_size;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //如果没有余数，则页数等于总数据量除以每页数的结果&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;else{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $page_count = 0;&lt;br /&gt;}&lt;br /&gt;// 翻页链接&lt;br /&gt;$page_string = '';&lt;br /&gt;if( $page == 1 ){&lt;br /&gt;&amp;nbsp;&amp;nbsp; $page_string .= '第一页|上一页|';&lt;br /&gt;}&lt;br /&gt;else{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $page_string .= '&amp;lt;a href=?page=1&amp;gt;第一页&amp;lt;/a&amp;gt;|&amp;lt;a href=?page='.($page-1).'&amp;gt;上一页&amp;lt;/a&amp;gt;|';&lt;br /&gt;}&amp;nbsp;&lt;br /&gt;if( ($page == $page_count) || ($page_count == 0) ){&lt;br /&gt;&amp;nbsp;&amp;nbsp; $page_string .= '下一页|尾页';&lt;br /&gt;}&lt;br /&gt;else{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $page_string .= '&amp;lt;a href=?page='.($page+1).'&amp;gt;下一页&amp;lt;/a&amp;gt;|&amp;lt;a href=?page='.$page_count.'&amp;gt;尾页&amp;lt;/a&amp;gt;';&lt;br /&gt;}&lt;br /&gt;// 获取数据，以二维数组格式返回结果&lt;br /&gt;if( $amount ){&lt;br /&gt;&amp;nbsp;&amp;nbsp; $sql = "select * from table order by id desc limit ". ($page-1)*$page_size .", $page_size";&lt;br /&gt;&amp;nbsp;&amp;nbsp; $result = mysql_query($sql);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; while ( $row = mysql_fetch_row($result) ){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $rowset[] = $row;&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}else{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $rowset = array();&lt;br /&gt;}&lt;br /&gt;// 没有包含显示结果的代码，那不在讨论范围，只要用foreach就可以很简单的用得到的二维数组来显示结果&lt;br /&gt;?&amp;gt;&lt;br /&gt;4、OO风格代码&lt;br /&gt;以下代码中的数据库连接是使用的pear db类进行处理&lt;br /&gt;&amp;lt;?php&lt;br /&gt;// FileName: Pager.class.php&lt;br /&gt;// 分页类，这个类仅仅用于处理数据结构，不负责处理显示的工作&lt;br /&gt;Class Pager&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; var $PageSize;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //每页的数量&lt;br /&gt;&amp;nbsp;&amp;nbsp; var $CurrentPageID;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //当前的页数&lt;br /&gt;&amp;nbsp;&amp;nbsp; var $NextPageID;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //下一页&lt;br /&gt;&amp;nbsp;&amp;nbsp; var $PreviousPageID;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //上一页&lt;br /&gt;&amp;nbsp;&amp;nbsp; var $numPages;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //总页数&lt;br /&gt;&amp;nbsp;&amp;nbsp; var $numItems;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //总记录数&lt;br /&gt;&amp;nbsp;&amp;nbsp; var $isFirstPage;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //是否第一页&lt;br /&gt;&amp;nbsp;&amp;nbsp; var $isLastPage;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //是否最后一页&lt;br /&gt;&amp;nbsp;&amp;nbsp; var $sql;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //sql查询语句&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; function Pager($option)&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; global $db;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;_setOptions($option);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 总条数&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( !isset($this-&amp;gt;numItems) )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $res = $db-&amp;gt;query($this-&amp;gt;sql);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;numItems = $res-&amp;gt;numRows();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 总页数&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( $this-&amp;gt;numItems &amp;gt; 0 )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( $this-&amp;gt;numItems &amp;lt; $this-&amp;gt;PageSize ){ $this-&amp;gt;numPages = 1; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( $this-&amp;gt;numItems % $this-&amp;gt;PageSize )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;numPages= (int)($this-&amp;gt;numItems / $this-&amp;gt;PageSize) + 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;numPages = $this-&amp;gt;numItems / $this-&amp;gt;PageSize;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;numPages = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch ( $this-&amp;gt;CurrentPageID )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case $this-&amp;gt;numPages == 1:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;isFirstPage = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;isLastPage = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 1:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;isFirstPage = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;isLastPage = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case $this-&amp;gt;numPages:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;isFirstPage = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;isLastPage = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;isFirstPage = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;isLastPage = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( $this-&amp;gt;numPages &amp;gt; 1 )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( !$this-&amp;gt;isLastPage ) { $this-&amp;gt;NextPageID = $this-&amp;gt;CurrentPageID + 1; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( !$this-&amp;gt;isFirstPage ) { $this-&amp;gt;PreviousPageID = $this-&amp;gt;CurrentPageID - 1; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; /***&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * 返回结果集的数据库连接&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * 在结果集比较大的时候可以直接使用这个方法获得数据库连接，然后在类之外遍历，这样开销较小&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * 如果结果集不是很大，可以直接使用getPageData的方式获取二维数组格式的结果&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * getPageData方法也是调用本方法来获取结果的&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ***/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; function getDataLink()&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( $this-&amp;gt;numItems )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; global $db;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $PageID = $this-&amp;gt;CurrentPageID;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $from = ($PageID - 1)*$this-&amp;gt;PageSize;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $count = $this-&amp;gt;PageSize;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $link = $db-&amp;gt;limitQuery($this-&amp;gt;sql, $from, $count);&amp;nbsp;&amp;nbsp; //使用Pear DB::limitQuery方法保证数据库兼容性&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $link;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; /***&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * 以二维数组的格式返回结果集&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ***/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; function getPageData()&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( $this-&amp;gt;numItems )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( $res = $this-&amp;gt;getDataLink() )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( $res-&amp;gt;numRows() )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ( $row = $res-&amp;gt;fetchRow() )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $result[] = $row;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $result = array();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $result;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; function _setOptions($option)&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $allow_options = array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'PageSize',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'CurrentPageID',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'sql',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'numItems'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ( $option as $key =&amp;gt; $value )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( in_array($key, $allow_options) &amp;amp;&amp;amp; ($value != null) )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;$key = $value;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;// FileName: test_pager.php&lt;br /&gt;// 这是一段简单的示例代码，前边省略了使用pear db类建立数据库连接的代码&amp;nbsp;&lt;br /&gt;require "Pager.class.php";&amp;nbsp;&lt;br /&gt;if ( isset($_GET['page']) )&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $page = (int)$_GET['page'];&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $page = 1;&lt;br /&gt;}&amp;nbsp;&lt;br /&gt;$sql = "select * from table order by id";&amp;nbsp;&lt;br /&gt;$pager_option = array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "sql" =&amp;gt; $sql,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "PageSize" =&amp;gt; 10,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "CurrentPageID" =&amp;gt; $page&lt;br /&gt;);&amp;nbsp;&lt;br /&gt;if ( isset($_GET['numItems']) )&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $pager_option['numItems'] = (int)$_GET['numItems'];&lt;br /&gt;}&amp;nbsp;&lt;br /&gt;$pager = @new Pager($pager_option);&amp;nbsp;&lt;br /&gt;$data = $pager-&amp;gt;getPageData();&amp;nbsp;&lt;br /&gt;if ( $pager-&amp;gt;isFirstPage )&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $turnover = "首页|上一页|";&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $turnover = "&amp;lt;a href='?page=1&amp;amp;numItems=".$pager-&amp;gt;numItems."'&amp;gt;首页&amp;lt;/a&amp;gt;|&amp;lt;a href='?page=".$pager-&amp;gt;PreviousPageID."&amp;amp;numItems=".$pager-&amp;gt;numItems."'&amp;gt;上一页&amp;lt;/a&amp;gt;|";&lt;br /&gt;}&amp;nbsp;&lt;br /&gt;if ( $pager-&amp;gt;isLastPage )&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $turnover .= "下一页|尾页";&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $turnover .= "&amp;lt;a href='?page=".$pager-&amp;gt;NextPageID."&amp;amp;numItems=".$pager-&amp;gt;numItems."'&amp;gt;下一页&amp;lt;/a&amp;gt;|&amp;lt;a href='?page=".$pager-&amp;gt;numPages."&amp;amp;numItems=".$pager-&amp;gt;numItems."'&amp;gt;尾页&amp;lt;/a&amp;gt;";&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;需要说明的地方有两个：&lt;br /&gt;这个类仅仅处理数据，并不负责处理显示，因为我觉得将数据的处理和结果的显示都放到一个类里边实在是有些勉强。显示的时候情况和要求多变，不如自己根据类给出的结果处理，更好的方法是根据这个Pager类继承一个自己的子类来显示不同的分页，比如显示用户分页列表可以：&lt;br /&gt;&amp;lt;?php&lt;br /&gt;Class MemberPager extends Pager&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; function showMemberList()&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; global $db;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $data = $this-&amp;gt;getPageData();&amp;nbsp;&lt;br /&gt;// 显示结果的代码&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ......&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&amp;nbsp;&lt;br /&gt;/// 调用&lt;br /&gt;if ( isset($_GET['page']) )&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $page = (int)$_GET['page'];&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $page = 1;&lt;br /&gt;}&amp;nbsp;&lt;br /&gt;$sql = "select * from members order by id";&amp;nbsp;&lt;br /&gt;$pager_option = array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "sql" =&amp;gt; $sql,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "PageSize" =&amp;gt; 10,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "CurrentPageID" =&amp;gt; $page&lt;br /&gt;);&amp;nbsp;&lt;br /&gt;if ( isset($_GET['numItems']) )&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; $pager_option['numItems'] = (int)$_GET['numItems'];&lt;br /&gt;}&amp;nbsp;&lt;br /&gt;$pager = @new MemberPager($pager_option);&amp;nbsp;&lt;br /&gt;$pager-&amp;gt;showMemberList();&lt;br /&gt;?&amp;gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;第二个需要说明的地方就是不同数据库的兼容性，在不同的数据库里截获一段结果的写法是不一样的。&lt;br /&gt;mysql: select * from table limit offset, rows&lt;br /&gt;pgsql: select * from table limit m offset n&lt;br /&gt;......&lt;br /&gt;所以要在类里边获取结果的时候需要使用pear db类的limitQuery方法。&lt;br /&gt;ok，写完收功，希望花时间看完这些文字的你不觉得是浪费了时间。&amp;nbsp;&lt;br /&gt;&lt;img src="http://www.cnblogs.com/lida/aggbug/1982074.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lida/archive/2011/03/12/1982074.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lida/archive/2011/02/18/1958211.html</id><title type="text">完整的PHP MYSQL数据库类</title><summary type="text"/><published>2011-02-18T13:37:00Z</published><updated>2011-02-18T13:37:00Z</updated><author><name>达达博文</name><uri>http://www.cnblogs.com/lida/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lida/archive/2011/02/18/1958211.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lida/archive/2011/02/18/1958211.html"/><content type="html">&lt;div &gt;&#xD;
&lt;pre &gt;&amp;lt;?php&#xD;
class mysql {&#xD;
	private $db_host; //数据库主机&#xD;
	private $db_user; //数据库用户名&#xD;
	private $db_pwd; //数据库用户名密码&#xD;
	private $db_database; //数据库名&#xD;
	private $conn; //数据库连接标识;&#xD;
	private $result; //执行query命令的结果资源标识&#xD;
	private $sql; //sql执行语句&#xD;
	private $row; //返回的条目数&#xD;
	private $coding; //数据库编码，GBK,UTF8,gb2312&#xD;
	private $bulletin = true; //是否开启错误记录&#xD;
	private $show_error = false; //测试阶段，显示所有错误,具有安全隐患,默认关闭&#xD;
	private $is_error = false; //发现错误是否立即终止,默认true,建议不启用，因为当有问题时用户什么也看不到是很苦恼的&#xD;
&#xD;
	/*构造函数*/&#xD;
	public function __construct($db_host, $db_user, $db_pwd, $db_database, $conn, $coding) {&#xD;
		$this-&amp;gt;db_host = $db_host;&#xD;
		$this-&amp;gt;db_user = $db_user;&#xD;
		$this-&amp;gt;db_pwd = $db_pwd;&#xD;
		$this-&amp;gt;db_database = $db_database;&#xD;
		$this-&amp;gt;conn = $conn;&#xD;
		$this-&amp;gt;coding = $coding;&#xD;
		$this-&amp;gt;connect();&#xD;
	}&#xD;
&#xD;
	/*数据库连接*/&#xD;
	public function connect() {&#xD;
		if ($this-&amp;gt;conn == "pconn") {&#xD;
			//永久链接&#xD;
			$this-&amp;gt;conn = mysql_pconnect($this-&amp;gt;db_host, $this-&amp;gt;db_user, $this-&amp;gt;db_pwd);&#xD;
		} else {&#xD;
			//即使链接&#xD;
			$this-&amp;gt;conn = mysql_connect($this-&amp;gt;db_host, $this-&amp;gt;db_user, $this-&amp;gt;db_pwd);&#xD;
		}&#xD;
&#xD;
		if (!mysql_select_db($this-&amp;gt;db_database, $this-&amp;gt;conn)) {&#xD;
			if ($this-&amp;gt;show_error) {&#xD;
				$this-&amp;gt;show_error("数据库不可用：", $this-&amp;gt;db_database);&#xD;
			}&#xD;
		}&#xD;
		mysql_query("SET NAMES $this-&amp;gt;coding");&#xD;
	}&#xD;
&#xD;
	/*数据库执行语句，可执行查询添加修改删除等任何sql语句*/&#xD;
	public function query($sql) {&#xD;
		if ($sql == "") {&#xD;
			$this-&amp;gt;show_error("SQL语句错误：", "SQL查询语句为空");&#xD;
		}&#xD;
		$this-&amp;gt;sql = $sql;&#xD;
&#xD;
		$result = mysql_query($this-&amp;gt;sql, $this-&amp;gt;conn);&#xD;
&#xD;
		if (!$result) {&#xD;
			//调试中使用，sql语句出错时会自动打印出来&#xD;
			if ($this-&amp;gt;show_error) {&#xD;
				$this-&amp;gt;show_error("错误SQL语句：", $this-&amp;gt;sql);&#xD;
			}&#xD;
		} else {&#xD;
			$this-&amp;gt;result = $result;&#xD;
		}&#xD;
		return $this-&amp;gt;result;&#xD;
	}&#xD;
&#xD;
	/*创建添加新的数据库*/&#xD;
	public function create_database($database_name) {&#xD;
		$database = $database_name;&#xD;
		$sqlDatabase = 'create database ' . $database;&#xD;
		$this-&amp;gt;query($sqlDatabase);&#xD;
	}&#xD;
&#xD;
	/*查询服务器所有数据库*/&#xD;
	//将系统数据库与用户数据库分开，更直观的显示？&#xD;
	public function show_databases() {&#xD;
		$this-&amp;gt;query("show databases");&#xD;
		echo "现有数据库：" . $amount = $this-&amp;gt;db_num_rows($rs);&#xD;
		echo "&amp;lt;br /&amp;gt;";&#xD;
		$i = 1;&#xD;
		while ($row = $this-&amp;gt;fetch_array($rs)) {&#xD;
			echo "$i $row[Database]";&#xD;
			echo "&amp;lt;br /&amp;gt;";&#xD;
			$i++;&#xD;
		}&#xD;
	}&#xD;
&#xD;
	//以数组形式返回主机中所有数据库名&#xD;
	public function databases() {&#xD;
		$rsPtr = mysql_list_dbs($this-&amp;gt;conn);&#xD;
		$i = 0;&#xD;
		$cnt = mysql_num_rows($rsPtr);&#xD;
		while ($i &amp;lt; $cnt) {&#xD;
			$rs[] = mysql_db_name($rsPtr, $i);&#xD;
			$i++;&#xD;
		}&#xD;
		return $rs;&#xD;
	}&#xD;
&#xD;
	/*查询数据库下所有的表*/&#xD;
	public function show_tables($database_name) {&#xD;
		$this-&amp;gt;query("show tables");&#xD;
		echo "现有数据库：" . $amount = $this-&amp;gt;db_num_rows($rs);&#xD;
		echo "&amp;lt;br /&amp;gt;";&#xD;
		$i = 1;&#xD;
		while ($row = $this-&amp;gt;fetch_array($rs)) {&#xD;
			$columnName = "Tables_in_" . $database_name;&#xD;
			echo "$i $row[$columnName]";&#xD;
			echo "&amp;lt;br /&amp;gt;";&#xD;
			$i++;&#xD;
		}&#xD;
	}&#xD;
&#xD;
	/*&#xD;
	mysql_fetch_row()    array  $row[0],$row[1],$row[2]&#xD;
	mysql_fetch_array()  array  $row[0] 或 $row[id]&#xD;
	mysql_fetch_assoc()  array  用$row-&amp;gt;content 字段大小写敏感&#xD;
	mysql_fetch_object() object 用$row[id],$row[content] 字段大小写敏感&#xD;
	*/&#xD;
&#xD;
	/*取得结果数据*/&#xD;
	public function mysql_result_li() {&#xD;
		return mysql_result($str);&#xD;
	}&#xD;
&#xD;
	/*取得记录集,获取数组-索引和关联,使用$row['content'] */&#xD;
	public function fetch_array($resultt="") {&#xD;
		if($resultt&amp;lt;&amp;gt;""){&#xD;
			return mysql_fetch_array($resultt);&#xD;
		}else{&#xD;
		return mysql_fetch_array($this-&amp;gt;result);&#xD;
		}&#xD;
	}&#xD;
&#xD;
	//获取关联数组,使用$row['字段名']&#xD;
	public function fetch_assoc() {&#xD;
		return mysql_fetch_assoc($this-&amp;gt;result);&#xD;
	}&#xD;
&#xD;
	//获取数字索引数组,使用$row[0],$row[1],$row[2]&#xD;
	public function fetch_row() {&#xD;
		return mysql_fetch_row($this-&amp;gt;result);&#xD;
	}&#xD;
&#xD;
	//获取对象数组,使用$row-&amp;gt;content&#xD;
	public function fetch_Object() {&#xD;
		return mysql_fetch_object($this-&amp;gt;result);&#xD;
	}&#xD;
&#xD;
	//简化查询select&#xD;
	public function findall($table) {&#xD;
		$this-&amp;gt;query("SELECT * FROM $table");&#xD;
	}&#xD;
&#xD;
	//简化查询select&#xD;
	public function select($table, $columnName = "*", $condition = '', $debug = '') {&#xD;
		$condition = $condition ? ' Where ' . $condition : NULL;&#xD;
		if ($debug) {&#xD;
			echo "SELECT $columnName FROM $table $condition";&#xD;
		} else {&#xD;
			$this-&amp;gt;query("SELECT $columnName FROM $table $condition");&#xD;
		}&#xD;
	}&#xD;
&#xD;
	//简化删除del&#xD;
	public function delete($table, $condition, $url = '') {&#xD;
		if ($this-&amp;gt;query("DELETE FROM $table WHERE $condition")) {&#xD;
			if (!empty ($url))&#xD;
				$this-&amp;gt;Get_admin_msg($url, '删除成功！');&#xD;
		}&#xD;
	}&#xD;
&#xD;
	//简化插入insert&#xD;
	public function insert($table, $columnName, $value, $url = '') {&#xD;
		if ($this-&amp;gt;query("INSERT INTO $table ($columnName) VALUES ($value)")) {&#xD;
			if (!empty ($url))&#xD;
				$this-&amp;gt;Get_admin_msg($url, '添加成功！');&#xD;
		}&#xD;
	}&#xD;
&#xD;
	//简化修改update&#xD;
	public function update($table, $mod_content, $condition, $url = '') {&#xD;
		//echo "UPDATE $table SET $mod_content WHERE $condition"; exit();&#xD;
		if ($this-&amp;gt;query("UPDATE $table SET $mod_content WHERE $condition")) {&#xD;
			if (!empty ($url))&#xD;
				$this-&amp;gt;Get_admin_msg($url);&#xD;
		}&#xD;
	}&#xD;
&#xD;
	/*取得上一步 INSERT 操作产生的 ID*/&#xD;
	public function insert_id() {&#xD;
		return mysql_insert_id();&#xD;
	}&#xD;
&#xD;
	//指向确定的一条数据记录&#xD;
	public function db_data_seek($id) {&#xD;
		if ($id &amp;gt; 0) {&#xD;
			$id = $id -1;&#xD;
		}&#xD;
		if (!@ mysql_data_seek($this-&amp;gt;result, $id)) {&#xD;
			$this-&amp;gt;show_error("SQL语句有误：", "指定的数据为空");&#xD;
		}&#xD;
		return $this-&amp;gt;result;&#xD;
	}&#xD;
&#xD;
	// 根据select查询结果计算结果集条数&#xD;
	public function db_num_rows() {&#xD;
		if ($this-&amp;gt;result == null) {&#xD;
			if ($this-&amp;gt;show_error) {&#xD;
				$this-&amp;gt;show_error("SQL语句错误", "暂时为空，没有任何内容！");&#xD;
			}&#xD;
		} else {&#xD;
			return mysql_num_rows($this-&amp;gt;result);&#xD;
		}&#xD;
	}&#xD;
&#xD;
	// 根据insert,update,delete执行结果取得影响行数&#xD;
	public function db_affected_rows() {&#xD;
		return mysql_affected_rows();&#xD;
	}&#xD;
&#xD;
	//输出显示sql语句&#xD;
	public function show_error($message = "", $sql = "") {&#xD;
		if (!$sql) {&#xD;
			echo "&amp;lt;font color='red'&amp;gt;" . $message . "&amp;lt;/font&amp;gt;";&#xD;
			echo "&amp;lt;br /&amp;gt;";&#xD;
		} else {&#xD;
			echo "&amp;lt;fieldset&amp;gt;";&#xD;
			echo "&amp;lt;legend&amp;gt;错误信息提示:&amp;lt;/legend&amp;gt;&amp;lt;br /&amp;gt;";&#xD;
			echo "&amp;lt;div style='font-size:14px; clear:both; font-family:Verdana, Arial, Helvetica, sans-serif;'&amp;gt;";&#xD;
			echo "&amp;lt;div style='height:20px; background:#000000; border:1px #000000 solid'&amp;gt;";&#xD;
			echo "&amp;lt;font color='white'&amp;gt;错误号：12142&amp;lt;/font&amp;gt;";&#xD;
			echo "&amp;lt;/div&amp;gt;&amp;lt;br /&amp;gt;";&#xD;
			echo "错误原因：" . mysql_error() . "&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;";&#xD;
			echo "&amp;lt;div style='height:20px; background:#FF0000; border:1px #FF0000 solid'&amp;gt;";&#xD;
			echo "&amp;lt;font color='white'&amp;gt;" . $message . "&amp;lt;/font&amp;gt;";&#xD;
			echo "&amp;lt;/div&amp;gt;";&#xD;
			echo "&amp;lt;font color='red'&amp;gt;&amp;lt;pre&amp;gt;" . $sql . "&amp;lt;/pre&amp;gt;&amp;lt;/font&amp;gt;";&#xD;
			$ip = $this-&amp;gt;getip();&#xD;
			if ($this-&amp;gt;bulletin) {&#xD;
				$time = date("Y-m-d H:i:s");&#xD;
				$message = $message . "\r\n$this-&amp;gt;sql" . "\r\n客户IP:$ip" . "\r\n时间 :$time" . "\r\n\r\n";&#xD;
&#xD;
				$server_date = date("Y-m-d");&#xD;
				$filename = $server_date . ".txt";&#xD;
				$file_path = "error/" . $filename;&#xD;
				$error_content = $message;&#xD;
				//$error_content="错误的数据库，不可以链接";&#xD;
				$file = "error"; //设置文件保存目录&#xD;
&#xD;
				//建立文件夹&#xD;
				if (!file_exists($file)) {&#xD;
					if (!mkdir($file, 0777)) {&#xD;
						//默认的 mode 是 0777，意味着最大可能的访问权&#xD;
						die("upload files directory does not exist and creation failed");&#xD;
					}&#xD;
				}&#xD;
&#xD;
				//建立txt日期文件&#xD;
				if (!file_exists($file_path)) {&#xD;
&#xD;
					//echo "建立日期文件";&#xD;
					fopen($file_path, "w+");&#xD;
&#xD;
					//首先要确定文件存在并且可写&#xD;
					if (is_writable($file_path)) {&#xD;
						//使用添加模式打开$filename，文件指针将会在文件的开头&#xD;
						if (!$handle = fopen($file_path, 'a')) {&#xD;
							echo "不能打开文件 $filename";&#xD;
							exit;&#xD;
						}&#xD;
&#xD;
						//将$somecontent写入到我们打开的文件中。&#xD;
						if (!fwrite($handle, $error_content)) {&#xD;
							echo "不能写入到文件 $filename";&#xD;
							exit;&#xD;
						}&#xD;
&#xD;
						//echo "文件 $filename 写入成功";&#xD;
&#xD;
						echo "&amp;mdash;&amp;mdash;错误记录被保存!";&#xD;
&#xD;
						//关闭文件&#xD;
						fclose($handle);&#xD;
					} else {&#xD;
						echo "文件 $filename 不可写";&#xD;
					}&#xD;
&#xD;
				} else {&#xD;
					//首先要确定文件存在并且可写&#xD;
					if (is_writable($file_path)) {&#xD;
						//使用添加模式打开$filename，文件指针将会在文件的开头&#xD;
						if (!$handle = fopen($file_path, 'a')) {&#xD;
							echo "不能打开文件 $filename";&#xD;
							exit;&#xD;
						}&#xD;
&#xD;
						//将$somecontent写入到我们打开的文件中。&#xD;
						if (!fwrite($handle, $error_content)) {&#xD;
							echo "不能写入到文件 $filename";&#xD;
							exit;&#xD;
						}&#xD;
&#xD;
						//echo "文件 $filename 写入成功";&#xD;
						echo "&amp;mdash;&amp;mdash;错误记录被保存!";&#xD;
&#xD;
						//关闭文件&#xD;
						fclose($handle);&#xD;
					} else {&#xD;
						echo "文件 $filename 不可写";&#xD;
					}&#xD;
				}&#xD;
&#xD;
			}&#xD;
			echo "&amp;lt;br /&amp;gt;";&#xD;
			if ($this-&amp;gt;is_error) {&#xD;
				exit;&#xD;
			}&#xD;
		}&#xD;
		echo "&amp;lt;/div&amp;gt;";&#xD;
		echo "&amp;lt;/fieldset&amp;gt;";&#xD;
&#xD;
		echo "&amp;lt;br /&amp;gt;";&#xD;
	}&#xD;
&#xD;
	//释放结果集&#xD;
	public function free() {&#xD;
		@ mysql_free_result($this-&amp;gt;result);&#xD;
	}&#xD;
&#xD;
	//数据库选择&#xD;
	public function select_db($db_database) {&#xD;
		return mysql_select_db($db_database);&#xD;
	}&#xD;
&#xD;
	//查询字段数量&#xD;
	public function num_fields($table_name) {&#xD;
		//return mysql_num_fields($this-&amp;gt;result);&#xD;
		$this-&amp;gt;query("select * from $table_name");&#xD;
		echo "&amp;lt;br /&amp;gt;";&#xD;
		echo "字段数：" . $total = mysql_num_fields($this-&amp;gt;result);&#xD;
		echo "&amp;lt;pre&amp;gt;";&#xD;
		for ($i = 0; $i &amp;lt; $total; $i++) {&#xD;
			print_r(mysql_fetch_field($this-&amp;gt;result, $i));&#xD;
		}&#xD;
		echo "&amp;lt;/pre&amp;gt;";&#xD;
		echo "&amp;lt;br /&amp;gt;";&#xD;
	}&#xD;
&#xD;
	//取得 MySQL 服务器信息&#xD;
	public function mysql_server($num = '') {&#xD;
		switch ($num) {&#xD;
			case 1 :&#xD;
				return mysql_get_server_info(); //MySQL 服务器信息&#xD;
				break;&#xD;
&#xD;
			case 2 :&#xD;
				return mysql_get_host_info(); //取得 MySQL 主机信息&#xD;
				break;&#xD;
&#xD;
			case 3 :&#xD;
				return mysql_get_client_info(); //取得 MySQL 客户端信息&#xD;
				break;&#xD;
&#xD;
			case 4 :&#xD;
				return mysql_get_proto_info(); //取得 MySQL 协议信息&#xD;
				break;&#xD;
&#xD;
			default :&#xD;
				return mysql_get_client_info(); //默认取得mysql版本信息&#xD;
		}&#xD;
	}&#xD;
&#xD;
	//析构函数，自动关闭数据库,垃圾回收机制&#xD;
	public function __destruct() {&#xD;
		if (!empty ($this-&amp;gt;result)) {&#xD;
			$this-&amp;gt;free();&#xD;
		}&#xD;
		mysql_close($this-&amp;gt;conn);&#xD;
	} //function __destruct();&#xD;
&#xD;
	/*获得客户端真实的IP地址*/&#xD;
	function getip() {&#xD;
		if (getenv("HTTP_CLIENT_IP") &amp;amp;&amp;amp; strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) {&#xD;
			$ip = getenv("HTTP_CLIENT_IP");&#xD;
		} else&#xD;
			if (getenv("HTTP_X_FORWARDED_FOR") &amp;amp;&amp;amp; strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {&#xD;
				$ip = getenv("HTTP_X_FORWARDED_FOR");&#xD;
			} else&#xD;
				if (getenv("REMOTE_ADDR") &amp;amp;&amp;amp; strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {&#xD;
					$ip = getenv("REMOTE_ADDR");&#xD;
				} else&#xD;
					if (isset ($_SERVER['REMOTE_ADDR']) &amp;amp;&amp;amp; $_SERVER['REMOTE_ADDR'] &amp;amp;&amp;amp; strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {&#xD;
						$ip = $_SERVER['REMOTE_ADDR'];&#xD;
					} else {&#xD;
						$ip = "unknown";&#xD;
					}&#xD;
		return ($ip);&#xD;
	}&#xD;
	function inject_check($sql_str) { //防止注入&#xD;
		$check = eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str);&#xD;
		if ($check) {&#xD;
			echo "输入非法注入内容！";&#xD;
			exit ();&#xD;
		} else {&#xD;
			return $sql_str;&#xD;
		}&#xD;
	}&#xD;
	function checkurl() { //检查来路&#xD;
		if (preg_replace("/https?:\/\/([^\:\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']) !== preg_replace("/([^\:]+).*/", "\\1", $_SERVER['HTTP_HOST'])) {&#xD;
			header("Location: http://www.dareng.com");&#xD;
			exit();&#xD;
		}&#xD;
	}&#xD;
&#xD;
}&#xD;
?&amp;gt;&#xD;
&lt;/pre&gt;&#xD;
&lt;/div&gt;&lt;img src="http://www.cnblogs.com/lida/aggbug/1958211.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lida/archive/2011/02/18/1958211.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lida/archive/2011/01/06/1926984.html</id><title type="text">begin tran，commit tran和rollback tran的用法</title><summary type="text">Sql Server 2005/2008中提供了begin tran，commit tran和rollback tran来使用事务。begin tran表示开始事务，  commit tran表示提交事务，rollback tran表示回滚事物。具体用法如下：-- =============================================-- Author: cynimoon-- Create date: 2009-10-09-- Description: 示例存储过程-- =============================================-- EXEC</summary><published>2011-01-06T00:45:00Z</published><updated>2011-01-06T00:45:00Z</updated><author><name>达达博文</name><uri>http://www.cnblogs.com/lida/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lida/archive/2011/01/06/1926984.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lida/archive/2011/01/06/1926984.html"/><content type="html">&lt;p&gt;Sql Server 2005/2008中提供了begin tran，commit tran和rollback tran来使用事务。begin tran表示开始事务，&amp;nbsp;&amp;nbsp;&amp;nbsp;  commit tran表示提交事务，rollback tran表示回滚事物。具体用法如下：&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;-- =============================================&lt;br /&gt;-- Author: cynimoon&lt;br /&gt;-- Create date: 2009-10-09&lt;br /&gt;-- Description: 示例存储过程&lt;br /&gt;-- =============================================&lt;br /&gt;-- EXEC TEST_PROC '文综','包括历史，地理，政治','政治','文综的一门'&lt;/p&gt;&#xD;
&lt;p&gt;CREATE PROCEDURE [dbo].[TEST_PROC]&lt;/p&gt;&#xD;
&lt;p&gt;@A_Name NVARCHAR(20),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  -- A表姓名&lt;/p&gt;&#xD;
&lt;p&gt;@A_Remark NVARCHAR(4000),  -- A表备注&lt;/p&gt;&#xD;
&lt;p&gt;@B_Name NVARCHAR(20),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  -- B表姓名&lt;/p&gt;&#xD;
&lt;p&gt;@B_Remark NVARCHAR(4000)   -- B表备注&lt;/p&gt;&#xD;
&lt;p&gt;AS&lt;/p&gt;&#xD;
&lt;p&gt;BEGIN TRY&lt;/p&gt;&#xD;
&lt;p&gt;BEGIN TRAN&lt;/p&gt;&#xD;
&lt;p&gt;-- 在A表中插入数据&lt;/p&gt;&#xD;
&lt;p&gt;INSERT INTO [dbo].[A]&lt;/p&gt;&#xD;
&lt;p&gt;( [A_Name]&lt;/p&gt;&#xD;
&lt;p&gt;, [A_Remark] )&lt;/p&gt;&#xD;
&lt;p&gt;VALUES&lt;/p&gt;&#xD;
&lt;p&gt;( @A_Name&lt;/p&gt;&#xD;
&lt;p&gt;, @A_Remark )&lt;/p&gt;&#xD;
&lt;p&gt;-- 在B表中插入数据&lt;/p&gt;&#xD;
&lt;p&gt;INSERT INTO [dbo].[B]&lt;/p&gt;&#xD;
&lt;p&gt;( [A_ID]&lt;/p&gt;&#xD;
&lt;p&gt;, [B_Name]&lt;/p&gt;&#xD;
&lt;p&gt;, [B_Remark] )&lt;/p&gt;&#xD;
&lt;p&gt;VALUES&lt;/p&gt;&#xD;
&lt;p&gt;( @@IDENTITY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   -- 返回最后插入的标识值&lt;/p&gt;&#xD;
&lt;p&gt;, @B_Name&lt;/p&gt;&#xD;
&lt;p&gt;, @B_Remark )&lt;/p&gt;&#xD;
&lt;p&gt;COMMIT TRAN&lt;/p&gt;&#xD;
&lt;p&gt;END TRY&lt;/p&gt;&#xD;
&lt;p&gt;BEGIN CATCH&lt;/p&gt;&#xD;
&lt;p&gt;ROLLBACK TRAN&lt;/p&gt;&#xD;
&lt;p&gt;INSERT INTO [dbo].[ErrorLog]&lt;/p&gt;&#xD;
&lt;p&gt;( [EL_Procedure]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  -- 异常存储过程名称&lt;/p&gt;&#xD;
&lt;p&gt;, [EL_OperateTime] )&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  -- 报异常时间&lt;/p&gt;&#xD;
&lt;p&gt;VALUES&lt;/p&gt;&#xD;
&lt;p&gt;( 'TEST_PROC'&lt;/p&gt;&#xD;
&lt;p&gt;, CONVERT(DATETIME,GETDATE(),20) )&lt;/p&gt;&#xD;
&lt;p&gt;END CATCH&lt;/p&gt;&#xD;
&lt;p&gt;注：1. @@IDENTITY的作用是返回最后插入的标识值。&lt;/p&gt;&#xD;
&lt;p&gt;2. 我在rollback tran中加入一个专门记录异常的表，以便产于异常发生的时间和确定报异常的存储过程的名称。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lida/aggbug/1926984.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lida/archive/2011/01/06/1926984.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lida/archive/2011/01/02/1924197.html</id><title type="text">c#的DateTime.Now函数详解</title><summary type="text">[代码]</summary><published>2011-01-02T11:11:00Z</published><updated>2011-01-02T11:11:00Z</updated><author><name>达达博文</name><uri>http://www.cnblogs.com/lida/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lida/archive/2011/01/02/1924197.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lida/archive/2011/01/02/1924197.html"/><content type="html">&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #008000;"&gt;     //&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008年4月24日&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;D&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008-4-24&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;d&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008年4月24日 16:30:15&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;F&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008年4月24日 16:30&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;f&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008-4-24 16:30:15&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;G&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008-4-24 16:30&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;g&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;16:30:15&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;T&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;16:30&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;t&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008年4月24日 8:30:15&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;U&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008-04-24 16:30:15Z&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;u&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;4月24日&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;m&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;M&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;Tue, 24 Apr 2008 16:30:15 GMT&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;r&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;R&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008年4月&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;y&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Y&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008-04-24T15:52:19.1562500+08:00&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;o&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;O&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008-04-24T16:30:15&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;s&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008-04-24 15:52:19&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-dd HH：mm：ss：ffff&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;2008年04月24 15时56分48秒&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy年MM月dd HH时mm分ss秒&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;星期二, 四月 24 2008&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;dddd, MMMM dd yyyy&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;二, 四月 24 &amp;rsquo;08&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;ddd, MMM d \&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;rsquo;\&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yy&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;星期二, 四月 24&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;dddd, MMMM dd&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;4-08&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;M/yy&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;24-04-08&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     System.DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;dd-MM-yy&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;字符型转换转为字符串&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #800080;"&gt;12345&lt;/span&gt;&lt;span style="color: #000000;"&gt;.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;n&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);  &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;生成 12,345.00&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #800080;"&gt;12345&lt;/span&gt;&lt;span style="color: #000000;"&gt;.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;C&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;生成 ￥12,345.00&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #800080;"&gt;12345&lt;/span&gt;&lt;span style="color: #000000;"&gt;.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;e&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;生成 1.234500e+004&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #800080;"&gt;12345&lt;/span&gt;&lt;span style="color: #000000;"&gt;.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;f4&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;生成 12345.0000&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #800080;"&gt;12345&lt;/span&gt;&lt;span style="color: #000000;"&gt;.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;x&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;生成 3039 (16进制)&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #800080;"&gt;12345&lt;/span&gt;&lt;span style="color: #000000;"&gt;.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;p&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;生成 1,234,500&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;本年度销售额、本季度利润、本月新增客户 &lt;br /&gt;  　&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;今天&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.Date.ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;昨天，就是今天的日期减一&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.AddDays(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;明天，同理，加一&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.AddDays(&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;本周(要知道本周的第一天就得先知道今天是星期几，从而得知本周的第一天就是几天前的那一天，要注意的是这里的每一周是从周日始至周六止&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.AddDays(Convert.ToDouble((&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();&lt;br /&gt;     DateTime.Now.AddDays(Convert.ToDouble((&lt;/span&gt;&lt;span style="color: #800080;"&gt;6&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;如果你还不明白，再看一下中文显示星期几的方法就应该懂了&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;由于DayOfWeek返回的是数字的星期几，我们要把它转换成汉字方便我们阅读，有些人可能会用switch来一个一个地对照，其实不用那么麻烦的             &lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;[] Day &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;[]{ &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;星期日&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;星期一&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;星期二&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;星期三&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;星期四&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;星期五&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;星期六&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt; };&lt;br /&gt;     Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;上周，同理，一个周是7天，上周就是本周再减去7天，下周也是一样&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.AddDays(Convert.ToDouble((&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; Convert.ToInt16(DateTime.Now.DayOfWeek))) &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;7&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     DateTime.Now.AddDays(Convert.ToDouble((&lt;/span&gt;&lt;span style="color: #800080;"&gt;6&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; Convert.ToInt16(DateTime.Now.DayOfWeek))) &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;7&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;下周&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.AddDays(Convert.ToDouble((&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; Convert.ToInt16(DateTime.Now.DayOfWeek))) &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;7&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     DateTime.Now.AddDays(Convert.ToDouble((&lt;/span&gt;&lt;span style="color: #800080;"&gt;6&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; Convert.ToInt16(DateTime.Now.DayOfWeek))) &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;7&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;本月,很多人都会说本月的第一天嘛肯定是1号，最后一天就是下个月一号再减一天。当然这是对的&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;一般的写法&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.Year.ToString() &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; DateTime.Now.Month.ToString() &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;1&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;第一天&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Parse(DateTime.Now.Year.ToString() &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; DateTime.Now.Month.ToString() &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;1&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;).AddMonths(&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).AddDays(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;最后一天&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;巧用C#里ToString的字符格式化更简便&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     DateTime.Parse(DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddMonths(&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).AddDays(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;上个月，减去一个月份&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Parse(DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddMonths(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     DateTime.Parse(DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddDays(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;下个月，加去一个月份&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Parse(DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddMonths(&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     DateTime.Parse(DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddMonths(&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;).AddDays(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;7天后&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.Date.ToShortDateString();&lt;br /&gt;     DateTime.Now.AddDays(&lt;/span&gt;&lt;span style="color: #800080;"&gt;7&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;7天前&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.AddDays(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;7&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     DateTime.Now.Date.ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;本年度，用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Parse(DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-01-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).ToShortDateString();&lt;br /&gt;     DateTime.Parse(DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-01-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddYears(&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).AddDays(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;上年度，不用再解释了吧&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Parse(DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-01-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddYears(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     DateTime.Parse(DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-01-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddDays(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;下年度&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Parse(DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-01-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddYears(&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     DateTime.Parse(DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-01-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddYears(&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;).AddDays(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;本季度，很多人都会觉得这里难点，需要写个长长的过程来判断。其实不用的，我们都知道一年四个季度，一个季度三个月&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;首先我们先把日期推到本季度第一个月，然后这个月的第一天就是本季度的第一天了&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.AddMonths(&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; ((DateTime.Now.Month &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;) &lt;/span&gt;&lt;span style="color: #000000;"&gt;%&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;22&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;同理，本季度的最后一天就是下季度的第一天减一&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Parse(DateTime.Now.AddMonths(&lt;/span&gt;&lt;span style="color: #800080;"&gt;22&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; ((DateTime.Now.Month &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;) &lt;/span&gt;&lt;span style="color: #000000;"&gt;%&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;22&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddDays(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;下季度，相信你们都知道了。。。。收工&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.AddMonths(&lt;/span&gt;&lt;span style="color: #800080;"&gt;22&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; ((DateTime.Now.Month &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;) &lt;/span&gt;&lt;span style="color: #000000;"&gt;%&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;22&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     DateTime.Parse(DateTime.Now.AddMonths(&lt;/span&gt;&lt;span style="color: #800080;"&gt;6&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; ((DateTime.Now.Month &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;) &lt;/span&gt;&lt;span style="color: #000000;"&gt;%&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;22&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddDays(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;上季度&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;     DateTime.Now.AddMonths(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;22&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; ((DateTime.Now.Month &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;) &lt;/span&gt;&lt;span style="color: #000000;"&gt;%&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;22&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;     DateTime.Parse(DateTime.Now.AddMonths(&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; ((DateTime.Now.Month &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;) &lt;/span&gt;&lt;span style="color: #000000;"&gt;%&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;22&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;yyyy-MM-01&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).AddDays(&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToShortDateString();&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lida/aggbug/1924197.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lida/archive/2011/01/02/1924197.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lida/archive/2010/06/09/1754653.html</id><title type="text">oracle用户管理</title><summary type="text">概述：profile是口令限制，资源限制的命令集合，当建立数据库时，Oracle会自动建立名称为default的profile，当建立的用户没有指定profile选项，那么Oracle会自动把default分配给用户。（一）账户锁定概述：指定该账户登录时最多可以输入密码的次数，也可以指定该用户被锁定的时间（天数），一般以dba的身份去执行。例子：指定scott这个用户最多只能尝试3次登录，锁定时间...</summary><published>2010-06-09T04:42:00Z</published><updated>2010-06-09T04:42:00Z</updated><author><name>达达博文</name><uri>http://www.cnblogs.com/lida/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lida/archive/2010/06/09/1754653.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lida/archive/2010/06/09/1754653.html"/><content type="html">&lt;p&gt;概述：profile是口令限制，资源限制的命令集合，当建立数据库时，Oracle会自动建立名称为default的profile，当建立的用户没有指定profile选项，那么Oracle会自动把default分配给用户。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;（一）账户锁定&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;概述：指定该账户登录时最多可以输入密码的次数，也可以指定该用户被锁定的时间（天数），一般以dba的身份去执行。&lt;/p&gt;&#xD;
&lt;p&gt;例子：指定scott这个用户最多只能尝试3次登录，锁定时间为两天，怎么实现呢？&lt;/p&gt;&#xD;
&lt;p&gt;1、创建profile文件&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;create profile&lt;/span&gt; lock-account &lt;span style="color: #ff0000;"&gt;limit failed_login_attempts&lt;/span&gt; 3 &lt;span style="color: #ff0000;"&gt;password_lock_time&lt;/span&gt; 2;&lt;/p&gt;&#xD;
&lt;p&gt;2、将创建的profile指定给用户&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;alter user &lt;span style="color: #000000;"&gt;lida&lt;/span&gt; profile &lt;span style="color: #000000;"&gt;lock_account&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;strong&gt;(二)给账户（用户）解锁&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;span style="color: #ff0000;"&gt;alter user&lt;/span&gt; lida &lt;span style="color: #ff0000;"&gt;account unlock;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;strong&gt;(三)终止口令&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;为了让用户定期修改密码可以使用终止口令的指令来完成，同样这个命令也需要dba的身份来操作。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;例子：给前面创建的用户lida创建一个profile文件，要求该用户每隔10天要修改自己的登录密码，宽限期为2天，该怎么做呢？&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;span style="color: #ff0000;"&gt;create profile&lt;/span&gt; myprofile&lt;span style="color: #ff0000;"&gt; limit passoword_life_time&lt;/span&gt; 10 &lt;span style="color: #ff0000;"&gt;password_grace_time&lt;/span&gt; 2&lt;span style="color: #ff0000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;span style="color: #ff0000;"&gt;alter user&lt;/span&gt; lida &lt;span style="color: #ff0000;"&gt;profile&lt;/span&gt; myprofile;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;strong&gt;（四）口令历史&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;概述：如果希望用户在修改密码时，不能使用以前使用过的密码，可使用口令历史，这样Oracle就会将口令修改的信息存放在数据字典中，这样当用户修改密码时，Oracle就会对新旧密码进行比较，当发现新旧密码一样时，就提示用户重新输入密码。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;span style="color: #ff0000;"&gt;create profile &lt;/span&gt;password_history &lt;span style="color: #ff0000;"&gt;limit password_life_time&lt;/span&gt; 10 &lt;span style="color: #ff0000;"&gt;password_grace_time&lt;/span&gt; 2 &lt;span style="color: #ff0000;"&gt;password_reuse_time&lt;/span&gt; 10;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;span style="color: #ff0000;"&gt;alter user lida profile&lt;/span&gt; password_history; //指定口令可用10天即10天后就可以重用&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;strong&gt;（五）删除profile&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;span style="color: #ff0000;"&gt;drop profile&lt;/span&gt; password_history &lt;span style="color: #ff0000;"&gt;[cascade];&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lida/aggbug/1754653.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lida/archive/2010/06/09/1754653.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lida/archive/2010/06/08/1754332.html</id><title type="text">Oracle常用命令（二）</title><summary type="text">在Oracle安装完成后，会默认生成三个用户，它们分别是：sys用户：超级管理员，权限最高，它的角色是dba，密码是：change_on_installsystem用户：是系统管理员，权限也很高，它的角色是dbaoper，密码是managerscott用户：普通用户，密码是tiger一、创建用户在Oracle中创建一个新的用户使用create user命令，而且要具有dba（数据库管理员）的权限才...</summary><published>2010-06-08T14:07:00Z</published><updated>2010-06-08T14:07:00Z</updated><author><name>达达博文</name><uri>http://www.cnblogs.com/lida/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lida/archive/2010/06/08/1754332.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lida/archive/2010/06/08/1754332.html"/><content type="html">&lt;p&gt;在Oracle安装完成后，会默认生成三个用户，它们分别是：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;sys&lt;/span&gt;用户：超级管理员，权限最高，它的角色是&lt;span style="color: #ff0000;"&gt;dba&lt;/span&gt;，密码是：&lt;span style="color: #ff0000;"&gt;change_on_install&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;system&lt;/span&gt;用户：是系统管理员，权限也很高，它的角色是&lt;span style="color: #ff0000;"&gt;dbaoper&lt;/span&gt;，密码是&lt;span style="color: #ff0000;"&gt;manager&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;scott&lt;/span&gt;用户：普通用户，密码是&lt;span style="color: #ff0000;"&gt;tiger&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;一、创建用户&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在Oracle中创建一个新的用户使用&lt;strong&gt;&lt;span style="color: #ff6600;"&gt;create user&lt;/span&gt;&lt;/strong&gt;命令，而且要具有dba（数据库管理员）的权限才能使用。&lt;/p&gt;&#xD;
&lt;p&gt;示例：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;create user lida identified by m123;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;说明：lida为需要创建的用户名，identified by语句后面接要创建的用户的密码。&lt;/p&gt;&#xD;
&lt;p&gt;注意：密码一定要一字母开头，不能用数字开头。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;二、给用户修改密码&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1、如果给自己修改密码，可以直接使用&lt;span style="color: #ff0000;"&gt;password 用户名&lt;/span&gt;这个命令，如：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;password lida;&lt;/span&gt;&amp;nbsp; //给lida这个用户修改密码&lt;/p&gt;&#xD;
&lt;p&gt;2、如果给别人修改密码，需要具有dba（系统管理员）权限或者&lt;span style="color: #ff0000;"&gt;alert user&lt;/span&gt;的系统权限&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;alter user lida identified by lida;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;strong&gt;三、删除用户&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;一般以dba的身份去删除某个用户，如果用其他用户去删除用户，则需要该用户具有drop user的权限，删除用户的命令为：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;drop user 用户名&amp;nbsp;&amp;nbsp;[cascade]&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;注意：如果要删除的用户已经创建过表，那就需要再删除时带一个参数[cascade],当用户被删除时此用户创建的表也会被级联删除。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;strong&gt;四、权限授权&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;span style="color: #ff0000;"&gt;grant connect to lida; &lt;/span&gt;//将连接数据库的权限授权给lida这个用户&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;span style="color: #ff0000;"&gt;grant select on emp to lida;&lt;/span&gt; //将查询emp表的权限授权给lida&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;span style="color: #ff0000;"&gt;grant all on emp to lida;&lt;/span&gt; //把对emp表的所有权限全部授权给lida&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;strong&gt;五、收回权限&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;span style="color: #ff0000;"&gt;revoke select on emp from lida;&lt;/span&gt; //将lida对emp表的查询权限收回来&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&lt;strong&gt;六、权限维护&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;如果希望lida用户可以查询emp表的内容，并且还希望lida还可以把查询emp表的权限继续授权给其他用户&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;如果是对象权限，就加入&lt;span style="color: #ff0000;"&gt;with grant option&lt;/span&gt;，如：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;grant select on emp to lida with grant option;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;如果是系统权限，则：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;grant connect to lida with grant admin option;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;注意：假如scott用户赋予了lida查询emp表并且继续授权其他用户的权限，但突然有一天scott用户把lida对emp表的查询收回来了，那么其他通过lida这个用户获得的授权查询emp表的权限也一并会被收回。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lida/aggbug/1754332.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lida/archive/2010/06/08/1754332.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lida/archive/2010/06/07/1753244.html</id><title type="text">Oracle常用命令（一）</title><summary type="text">一、用户登录conn system/managerConn scott/tiger二、修改密码输入passw然后回车即可按照提示修改三、切换登录用户Conn 用户名/密码四、显示当前登录的用户Show user五、start和@命令如在D盘根目录下有个lida.sql的文件，文件的内容为 select * from emp;则执行start D:\lida.sql或@ d:\lida.sql得到的...</summary><published>2010-06-07T07:16:00Z</published><updated>2010-06-07T07:16:00Z</updated><author><name>达达博文</name><uri>http://www.cnblogs.com/lida/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lida/archive/2010/06/07/1753244.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lida/archive/2010/06/07/1753244.html"/><content type="html">&lt;p align="left"&gt;&lt;span contenteditable="false"  id="preserveddfcd7a5dcca48d39bac5db77309e737"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span contenteditable="false"  id="preserve0f349b04416c49b0a5b1d0607c40b944"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;一、用户登录&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;conn system/manager&lt;/p&gt;&#xD;
&lt;p&gt;Conn scott/tiger&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;二、修改密码&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;输入passw然后回车即可按照提示修改&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;三、切换登录用户&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Conn 用户名/密码&lt;/p&gt;&#xD;
&lt;p&gt;四、显示当前登录的用户&lt;/p&gt;&#xD;
&lt;p&gt;Show user&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;五、start和@命令&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;如在D盘根目录下有个lida.sql的文件，文件的内容为 select * from emp;&lt;/p&gt;&#xD;
&lt;p&gt;则执行start D:\lida.sql或@ d:\lida.sql得到的结果和直接输入select * from emp;所得到的结果一样。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;六、edit命令&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;执行edit D:\lida.sql 可以系统会打开lida.sql这个文件，用户可以自己编辑修改sql文本。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;七、spool命令&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;用法：&lt;/p&gt;&#xD;
&lt;p&gt;spool D:\aa.sql&amp;nbsp;&amp;nbsp; 这是d盘下会生成一个aa.sql的文件&lt;/p&gt;&#xD;
&lt;p&gt;select * from emp;&amp;nbsp; 得到查询结果&lt;/p&gt;&#xD;
&lt;p&gt;spool off; 将屏幕中的语句截取下来添加并且保存到aa.sql这个文件中去；&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;八、exit&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;退出窗口&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;九、set linesize&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;set linesize&amp;nbsp;90;&amp;nbsp;//此命令设置显示行的宽度为90，默认是80个字符&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;十、pagesize&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;set pagesize 5;//设置每页显示的行数目为5,默认是14&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;十一、disc[connect]&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;该命令用来断开与当前数据库的链接&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lida/aggbug/1753244.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lida/archive/2010/06/07/1753244.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
