<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>朝闻道的“爱学”日志</title>
		<link>http://www.ax.net.cn/</link>
		<description>天道酬勤，唯爱学可成才</description>
		<copyright>Powered by SaBlog-X. Copyright (C) 2003-2012.</copyright>
		<generator>SaBlog-X Version 2.0 Build 20120305</generator>
		<lastBuildDate>Mon, 21 May 2012 16:22:44 +0000</lastBuildDate>
		<ttl>30</ttl>
		<item>
			<link>http://www.ax.net.cn/mssql/</link>
			<guid>http://www.ax.net.cn/mssql/</guid>
			<title>经典SQL语句大全</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p>
	<span style="font-family:宋体;"><strong><span>一、基础</span></strong></span><span></span>
</p>
<p style="background:white;">
	<span style="color:black;"><strong><span>1</span></strong></span><span style="color:black;"><strong><span>、说明：创建数据库</span></strong><span><br />
</span></span><span><span><strong>CREATE DATABASE database-name</strong> </span></span><span style="color:black;"><br />
<strong><span>2</span></strong></span><strong><span style="color:black;"><span>、说明：删除数据库</span><span><br />
</span></span><span style="color:blue;"><span>drop database dbname</span></span></strong><span style="color:teal;"><br />
</span><strong><span style="color:black;"><span>3</span></span><span style="color:black;"><span>、说明：备份</span><span><span>sql server<br />
</span></span></span><span style="color:teal;"><span>--- </span></span><span style="color:teal;"><span>创建 备份数据的</span><span><span> device<br />
USE master<br />
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'<br />
--- </span>开始 备份</span><span><br />
<span>BACKUP DATABASE pubs TO testBack</span></span></span></strong><span style="color:teal;"><span> <br />
</span></span><strong><span style="color:black;"><span>4</span></span><span style="color:black;"><span>、说明：创建新表</span><span><br />
</span></span><span><span style="color:#993300;">create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..</span><span style="color:teal;">)</span></span></strong><span style="color:teal;"></span>
</p>
<p style="background:white;">
	<strong><span style="color:black;"><span>根据已有的表创建新表： </span></span></strong><span style="color:black;"><br />
</span><strong><span><span style="color:blue;">A</span><span style="color:blue;">：<span>create table tab_new like tab_old (</span>使用旧表创建新表<span>)</span></span></span></strong><span style="color:blue;"><br />
<strong><span>B</span></strong></span><strong><span style="color:blue;"><span>：<span>create table tab_new as select col1,col2… from tab_old definition only</span></span></span></strong><span style="color:teal;"><br />
</span><strong><span style="color:black;"><span>5</span></span><span style="color:black;"><span>、说明：删除新表</span><span><br />
</span></span><span style="color:maroon;"><span>drop table tabname</span></span></strong><span style="color:teal;"><span> <br />
</span></span><strong><span style="color:black;"><span>6</span></span><span style="color:black;"><span>、说明：增加一个列</span><span><br />
</span></span><span style="color:blue;"><span>Alter table tabname add column col type</span></span></strong><span style="color:teal;"><br />
</span><strong><span style="color:red;"><span>注</span></span></strong><span style="color:black;"><span>：</span><u><span>列增加后将不能删除。<span>DB2</span>中列加上后数据类型也不能改变，唯一能改变的是增加<span>varchar</span>类型的长度。</span><span><br />
</span></u><span><strong><span>7</span>、说明：添加主键</strong>： </span></span><span><strong><span style="color:teal;">Alter table tabname add primary key(col) <br />
</span></strong><span style="color:blue;">说明：删除主键</span><span style="color:black;">：</span><strong><span style="color:maroon;"> Alter table tabname drop primary key(col) </span></strong></span><span style="color:teal;"><br />
</span><span><strong><span style="color:black;">8</span><span style="color:black;">、说明：创建索引</span></strong><span style="color:black;">：</span></span><span><strong><span style="color:blue;">create [unique] index idxname on tabname(col….) <br />
</span></strong><span style="color:blue;">删除索引</span><span style="color:black;">：</span><strong><span style="color:green;">drop index idxname</span></strong></span><span style="color:black;"><br />
</span><span style="color:blue;"><span>注：索引是不可更改的，想更改必须删除重新建。</span></span><span style="color:black;"><br />
<strong><span>9</span></strong></span><span><strong><span style="color:black;">、说明：创建视图</span></strong><span style="color:black;">：</span><span style="color:green;">create view viewname as select statement </span></span><span style="color:black;"><br />
</span><span><strong><span style="color:black;">删除视图</span></strong><span style="color:black;">：</span><span style="color:green;">drop view viewname</span></span><span style="color:black;"><br />
<strong><span>10</span></strong></span><strong><span style="color:black;"><span>、说明：几个简单的基本的<span>sql</span>语句</span><span><br />
</span></span><span style="color:green;"><span>选择：</span></span></strong><span style="color:blue;"><span>select * from table1 where </span></span><span style="color:blue;"><span>范围</span><span><br />
</span></span><strong><span style="color:green;"><span>插入：</span></span></strong><span><span style="color:#993366;">insert into table1(field1,field2) values(value1,value2)<br />
</span><strong><span style="color:green;">删除：</span></strong><span style="color:blue;">delete from table1 where </span><span style="color:blue;">范围</span></span><strong><span style="color:green;"><br />
</span><span style="color:green;"><span>更新</span></span></strong><span><span style="color:green;">：</span><span style="color:#993366;">update table1 set field1=value1 where </span></span><span style="color:#993366;"><span>范围</span><span><br />
</span></span><span><strong><span style="color:green;">查找</span></strong><span style="color:green;">：</span><span style="color:blue;">select * from table1 where field1 like ’%value1%’ ---like</span></span><span style="color:blue;"><span>的语法很精妙，查资料</span><span><span>!<br />
</span></span></span><span><strong><span style="color:green;">排序</span></strong><span style="color:green;">：</span></span><span><span style="color:#993366;">select * from table1 order by field1,field2 [desc]<br />
</span><strong><span style="color:green;">总数</span></strong><span style="color:green;">：</span></span><span><span style="color:blue;">select count as totalcount from table1<br />
</span><strong><span style="color:green;">求和</span></strong><span style="color:green;">：</span></span><span><span style="color:#993366;">select sum(field1) as sumvalue from table1<br />
</span><strong><span style="color:green;">平均</span></strong><span style="color:green;">：</span></span><span><span style="color:blue;">select avg(field1) as avgvalue from table1<br />
</span><strong><span style="color:green;">最大</span></strong><span style="color:green;">：</span></span><span><span style="color:#993366;">select max(field1) as maxvalue from table1<br />
</span><strong><span style="color:green;">最小</span></strong><span style="color:green;">：</span></span><span style="color:blue;"><span>select min(field1) as minvalue from table1<br />
</span></span><strong><span style="color:black;"><span>11</span></span><span style="color:black;"><span>、说明：几个高级查询运算词</span><span><br />
<span>A</span></span><span>： </span></span><span><span style="color:green;">UNION </span><span style="color:green;">运算符</span></span></strong><span><span style="color:black;"> <br />
</span><span style="color:blue;">UNION </span><span style="color:blue;">运算符通过组合其他两个结果表（例如<span> TABLE1 </span>和<span> TABLE2</span>）并消去表中任何重复行而派生出一个结果表。当<span> ALL </span>随<span> UNION </span>一起使用时（即<span> UNION ALL</span>），不消除重复行。两种情况下，派生表的每一行不是来自<span> TABLE1 </span>就是来自<span> TABLE2</span></span></span><span style="color:black;"><span>。</span><span><span> <br />
</span></span></span><strong><span style="color:green;"><span>B</span></span><span style="color:green;"><span>：<span> EXCEPT </span>运算符</span><span><span> <br />
</span></span></span><span style="color:black;"><span>EXCEPT</span></span></strong><span><span style="color:#ff99cc;"> </span><span style="color:#993366;">运算符通过包括所有在<span> TABLE1 </span>中但不在<span> TABLE2 </span>中的行并消除所有重复行而派生出一个结果表。当<span> ALL </span>随<span> EXCEPT </span>一起使用时<span> (EXCEPT ALL)</span>，不消除重复行。</span><span style="color:#333399;"> </span></span><span style="color:black;"><br />
</span><strong><span><span style="color:green;">C</span><span style="color:green;">：<span> INTERSECT </span></span></span><span style="color:black;"><span>运算符</span><span><br />
<span>INTERSECT</span></span></span></strong><span><span style="color:black;"> </span><span style="color:blue;">运算符通过只包括<span> TABLE1 </span>和<span> TABLE2 </span>中都有的行并消除所有重复行而派生出一个结果表。当 </span><strong><span style="color:black;">ALL</span></strong><span style="color:black;"> </span></span><span style="color:blue;"><span>随<span> INTERSECT </span>一起使用时<span> (INTERSECT ALL)</span>，不消除重复行。</span><span><span> <br />
</span></span></span><span><strong><span style="color:red;">注：</span></strong><span style="color:blue;">使用运算词的几个查询结果行必须是一致的</span></span><span style="color:black;"><span>。</span><span><span> <br />
<strong>12</strong></span></span><strong><span>、说明：使用外连接</span><span><span> <br />
</span></span></strong><span><span>A</span>、<strong><span>left </span>（<span>outer</span>）<span> join</span></strong>：</span><span><span> <br />
</span>左</span></span><span style="color:#993366;"><span>外连接（左连接）：结果集几包括连接表的匹配行，也包括左连接表的所有行。</span><span><span> <br />
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c<br />
</span></span></span><strong><span><span style="color:black;">B</span><span style="color:black;">：<span>right </span>（<span>outer</span>）<span> join: </span></span></span></strong><span style="color:black;"><br />
</span><span style="color:blue;"><span>右外连接<span>(</span>右连接<span>)</span>：结果集既包括连接表的匹配连接行，也包括右连接表的所有行。</span><span><span> <br />
</span></span></span><strong><span><span style="color:black;">C</span><span style="color:black;">：<span>full/cross </span>（<span>outer</span>）<span> join</span></span></span></strong><span style="color:black;"><span>：</span><span><span> <br />
</span></span></span><span style="color:#993300;"><span>全外连接：不仅包括符号连接表的匹配行，还包括两个连接表中的所有记录。</span></span><span style="color:black;"><br />
<strong><span>12</span></strong></span><strong><span style="color:black;"><span>、分组</span></span><span style="color:blue;"><span>:Group by:<br />
<span>&nbsp;</span><span>&nbsp; </span></span></span></strong><span style="color:blue;"><span>一张表，一旦分组 完成后，查询后只能得到组相关的信息。</span><span><br />
<span><span>&nbsp;&nbsp;&nbsp; </span></span></span></span><strong><span style="color:maroon;"><span>组相关的信息：</span></span></strong><span style="color:blue;"><span>（统计信息）<span> count,sum,max,min,avg <strong><span>&nbsp;</span></strong></span></span><strong><span>分组的标准</span><span><span>)<br />
<span>&nbsp; </span></span></span></strong></span><strong><span><span><span>&nbsp;&nbsp;</span></span>在<span style="color:red;">SQLServer</span>中分组时：不能以<span style="color:blue;">text</span><span>,<span style="color:blue;">ntext</span>,<span style="color:blue;">image</span></span>类型的字段作为分组依据</span><span style="color:blue;"><br />
<span><span>&nbsp;&nbsp; </span></span></span><span>在<span style="color:blue;">selecte</span><span style="color:red;">统计函数</span><span style="color:blue;">中的字段，不能和</span><span style="color:red;">普通</span><span style="color:blue;">的字段放在一起；</span></span></strong><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862920"></a><strong><span style="color:black;"><span>13</span></span><span style="color:black;"><span>、对数据库进行操作：</span><span><br />
<span><span>&nbsp;&nbsp; </span></span></span></span><span style="color:green;"><span>分离数据库</span></span></strong><span><span style="color:green;">：</span><strong><span style="color:black;"> sp_detach_db;</span><span style="color:green;"> </span><span style="color:green;">附加数据库</span></strong></span><span style="color:black;"><span>：<strong><span>sp_attach_db </span></strong>后接表明，附加需要完整的路径名</span><span><br />
<strong><span>14.</span></strong></span><strong><span>如何修改数据库的名称<span>:</span></span></strong></span><span style="color:blue;"><br />
<span>sp_renamedb 'old_name', 'new_name'</span></span><span style="color:blue;"><span> </span></span>
</p>
<p style="background:white;">
	<strong><span style="color:black;"><span>&nbsp;</span></span></strong>
</p>
<p style="background:white;text-align:center;" align="center">
	<a name="_Toc237862921"></a><strong><span style="font-size:15pt;color:red;"><span>二、提升</span></span></strong><strong><span style="font-size:15pt;color:red;"></span></strong>
</p>
<p style="background:white;">
	<a name="_Toc237862922"></a><strong><span style="color:black;"><span>1</span></span><span style="color:black;"><span>、说明：复制表<span>(</span>只复制结构<span>,</span>源表名：<span>a </span>新表名：<span>b) (Access</span>可用</span><span><span>)<br />
</span></span></span><span style="color:green;"><span>法一：</span></span></strong><span><span style="color:blue;">select * into b from a where 1&lt;&gt;1</span><span style="color:blue;">（</span><span style="color:#ff6600;">仅用于<span>SQlServer</span></span><span style="color:blue;">）</span></span><span style="color:green;"><br />
</span><strong><span style="color:green;"><span>法二：</span></span></strong><span style="color:blue;"><span>select top 0 * into b from a<br />
</span></span><strong><span style="color:black;"><span>2</span></span><span style="color:black;"><span>、说明：拷贝表<span>(</span>拷贝数据<span>,</span>源表名：<span>a </span>目标表名：<span>b) (Access</span>可用</span><span><span>)<br />
</span></span></span></strong><span style="color:blue;"><span>insert into b(a, b, c) select d,e,f from b;</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862923"></a><strong><span style="color:black;"><span>3</span></span><span style="color:black;"><span>、说明：跨数据库之间表的拷贝<span>(</span>具体数据使用绝对路径<span>) (Access</span>可用</span><span><span>)<br />
</span></span></span></strong><span style="color:blue;"><span>insert into b(a, b, c) select d,e,f from b in ‘</span></span><span style="color:blue;"><span>具体数据库<span>’ where </span>条件</span><span><br />
</span></span><span style="color:black;"><span>例子：<span>..from b in '"&amp;Server.MapPath(".")&amp;"\data.mdb" &amp;"' where..</span></span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862924"></a><strong><span style="color:black;"><span>4</span></span><span style="color:black;"><span>、说明：子查询<span>(</span>表名<span>1</span>：<span>a </span>表名<span>2</span>：</span><span><span>b)<br />
</span></span></span></strong><span><span style="color:blue;">select a,b,c from a where a IN (select d from b ) </span><span style="color:blue;">或者<span>: select a,b,c from a where a IN (1,2,3)</span></span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862925"></a><strong><span style="color:black;"><span>5</span></span><span style="color:black;"><span>、说明：显示文章、提交人和最后回复时间</span><span><br />
</span></span></strong><span style="color:blue;"><span>select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862926"></a><strong><span style="color:black;"><span>6</span></span><span style="color:black;"><span>、说明：外连接查询<span>(</span>表名<span>1</span>：<span>a </span>表名<span>2</span>：</span><span><span>b)<br />
</span></span></span></strong><span style="color:blue;"><span>select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862927"></a><strong><span style="color:green;"><span>7</span></span><span style="color:green;"><span>、说明：在线视图查询<span>(</span>表名<span>1</span>：</span><span><span>a )<br />
</span></span></span></strong><span style="color:blue;"><span>select * from (SELECT a,b,c FROM a) T where t.a &gt; 1;</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862928"></a><strong><span style="color:black;"><span>8</span></span><span style="color:black;"><span>、说明：<span>between</span>的用法<span>,between</span>限制查询数据范围时包括了边界值<span>,not between</span>不包括</span><span><br />
</span></span></strong><span><span style="color:blue;">select * from table1 where time between time1 and time2<br />
select a,b,c, from table1 where a not between </span><span style="color:blue;">数值<span>1 and </span>数值<span>2</span></span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862929"></a><strong><span style="color:black;"><span>9</span></span><span style="color:black;"><span>、说明：<span>in </span>的使用方法</span><span><br />
</span></span></strong><span><span style="color:blue;">select * from table1 where a [not] in (‘</span><span style="color:blue;">值</span></span><span><span><span><span style="color:blue;">1’</span></span></span><span><span style="color:blue;">,’</span><span style="color:blue;">值<span>2’</span><span>,’</span>值<span>4’</span><span>,’</span>值<span>6’</span><span>)</span></span></span><span style="color:blue;"></span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862930"></a><strong><span style="color:black;"><span>10</span></span><span style="color:black;"><span>、说明：两张关联表，删除主表中已经在副表中没有的信息</span><span><span> <br />
</span></span></span></strong><span style="color:blue;"><span>delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862931"></a><strong><span style="color:black;"><span>11</span></span><span style="color:black;"><span>、说明：四表联查问题：</span><span><br />
</span></span></strong><span><span style="color:blue;">select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where </span><span style="color:green;">.....</span></span><span style="color:green;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862932"></a><strong><span style="color:green;"><span>12</span></span><span style="color:green;"><span>、说明：日程安排提前五分钟提醒</span><span><span> <br />
</span></span></span></strong><span><span style="color:blue;">SQL: select * from </span><span style="color:blue;">日程安排<span> where datediff('minute',f</span>开始时间<span>,getdate())&gt;5</span></span></span><span style="color:blue;"></span>
</p>
<p>
	<a name="_Toc237862933"></a><strong><span style="font-size:12pt;color:green;"><span>13</span></span></strong><span><strong><span style="font-size:12pt;color:green;font-family:宋体;">、说明：一条</span></strong></span><span><strong><span style="font-size:12pt;color:green;"><span>sql </span></span></strong></span><span><strong><span style="font-size:12pt;color:green;font-family:宋体;">语句搞定数据库分页</span></strong></span><span><strong><span style="font-size:12pt;color:green;"><br />
</span></strong></span><span><span style="font-size:12pt;color:blue;"><span>select top 10 b.* from (select top 20 </span></span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">主键字段</span></span><span><span style="font-size:12pt;color:blue;"><span>,</span></span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">排序字段</span></span><span><span style="font-size:12pt;color:blue;"><span> from </span></span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">表名</span></span><span><span style="font-size:12pt;color:blue;"><span> order by </span></span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">排序字段</span></span><span><span style="font-size:12pt;color:blue;"><span> desc) a,</span></span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">表名</span></span><span><span style="font-size:12pt;color:blue;"><span> b where b.</span></span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">主键字段</span></span><span><span style="font-size:12pt;color:blue;"><span> = a.</span></span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">主键字段</span></span><span><span style="font-size:12pt;color:blue;"><span> order by a.</span></span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">排序字段</span></span><span><span style="font-size:12pt;color:blue;"><br />
</span></span><span><strong><span style="font-size:12pt;color:black;font-family:宋体;">具体实现：</span></strong></span><span><span style="font-size:12pt;color:blue;font-family:宋体;"><br />
</span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">关于数据库分页：</span></span><span style="font-size:12pt;color:blue;font-family:宋体;"></span>
</p>
<p>
	<span style="font-size:12pt;color:blue;font-family:宋体;"><span>&nbsp; </span>declare @start int,@end int </span>
</p>
<p>
	<span style="font-size:12pt;color:blue;font-family:宋体;"><span>&nbsp; </span>@sql<span>&nbsp; </span>nvarchar(600)</span>
</p>
<p>
	<span style="font-size:12pt;color:blue;font-family:宋体;"><span>&nbsp; </span>set @sql=</span><span style="font-size:12pt;color:red;font-family:宋体;">’select top’</span><span style="font-size:12pt;color:blue;font-family:宋体;">+</span><span style="font-size:12pt;color:red;font-family:宋体;">str</span><span style="font-size:12pt;color:blue;font-family:宋体;">(@end-@start+1)+</span><span style="font-size:12pt;color:red;font-family:宋体;">’+from T where rid not in(select top’</span><span style="font-size:12pt;color:blue;font-family:宋体;">+</span><span style="font-size:12pt;color:red;font-family:宋体;">str</span><span style="font-size:12pt;color:blue;font-family:宋体;">(@str-1)+</span><span style="font-size:12pt;color:red;font-family:宋体;">’Rid from T where Rid&gt;-1)’</span><span style="font-size:12pt;color:blue;font-family:宋体;"></span>
</p>
<p>
	<span style="font-size:12pt;color:blue;font-family:宋体;"><span>&nbsp; </span>exec sp_executesql @sql</span>
</p>
<p>
	<span style="font-size:12pt;color:blue;font-family:宋体;"><br />
</span><strong><span style="font-size:12pt;color:black;font-family:宋体;">注意：在</span></strong><strong><span style="font-size:12pt;color:red;font-family:宋体;">top</span></strong><strong><span style="font-size:12pt;color:black;font-family:宋体;">后不能直接跟一个变量，所以在实际应用中只有这样的进行特殊的处理。</span></strong><strong><span style="font-size:12pt;color:red;font-family:宋体;">Rid</span></strong><strong><span style="font-size:12pt;color:black;font-family:宋体;">为一个标识列，如果</span></strong><strong><span style="font-size:12pt;color:red;font-family:宋体;">top</span></strong><strong><span style="font-size:12pt;color:black;font-family:宋体;">后还有具体的字段，这样做是非常有好处的。因为这样可以避免</span></strong><strong><span style="font-size:12pt;color:red;font-family:宋体;"> top</span></strong><strong><span style="font-size:12pt;color:black;font-family:宋体;">的字段如果是逻辑索引的，查询的结果后实际表中的不一致（</span></strong><strong><span style="font-size:12pt;color:green;font-family:宋体;">逻辑索引中的数据有可能和数据表中的不一致，而查询时如果处在索引则首先查询索引</span></strong><strong><span style="font-size:12pt;color:black;font-family:宋体;">）</span></strong><strong><span style="font-size:12pt;color:red;font-family:宋体;"></span></strong>
</p>
<p style="background:white;">
	<a name="_Toc237862934"></a><strong><span style="color:green;"><span>14</span></span><span style="color:green;"><span>、说明：前<span>10</span>条记录</span><span><br />
</span></span></strong><span><span style="color:blue;">select top 10 * form table1 where </span><span style="color:blue;">范围</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862935"></a><strong><span style="color:green;"><span>15</span></span><span style="color:green;"><span>、说明：选择在每一组<span>b</span>值相同的数据中对应的<span>a</span>最大的记录的所有信息<span>(</span>类似这样的用法可以用于论坛每月排行榜<span>,</span>每月热销产品分析<span>,</span>按科目成绩排名<span>,</span>等等</span><span><span>.)<br />
</span></span></span></strong><span><span style="color:blue;">select</span><span style="color:black;"> a,b,c</span><span style="color:blue;"> from </span><span style="color:black;">tablename ta</span><span style="color:blue;"> where a=(select max(a) from tablename tb where tb.b=ta.b)</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862936"></a><strong><span><span style="color:green;">16</span><span style="color:green;">、说明：包括所有在 </span><span style="color:black;">TableA</span><span style="color:green;"> </span><span style="color:green;">中但不在 </span><span style="color:black;">TableB</span><span style="color:green;">和</span><span style="color:black;">TableC</span><span style="color:green;"> </span></span><span style="color:green;"><span>中的行并消除所有重复行而派生出一个结果表</span><span><br />
</span></span></strong><span style="color:blue;"><span>(select a from tableA ) except (select a from tableB) except (select a from tableC)</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862937"></a><strong><span style="color:green;"><span>17</span></span><span style="color:green;"><span>、说明：随机取出<span>10</span>条数据</span><span><br />
</span></span></strong><span><span style="color:blue;">select top 10 * from </span><span style="color:black;">tablename</span><span style="color:blue;"> order by <strong>newid()</strong></span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862938"></a><strong><span style="color:green;"><span>18</span></span><span style="color:green;"><span>、说明：随机选择记录</span><span><br />
</span></span></strong><span style="color:blue;"><span>select newid()</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862939"></a><strong><span style="color:green;"><span>19</span></span><span style="color:green;"><span>、说明：删除重复记录</span><span><br />
<span>1),</span></span></span></strong><span><span style="color:blue;">delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)<br />
</span><strong><span style="color:red;">2)</span></strong><span style="color:blue;">,select distinct * into temp from </span><span style="color:red;">tablename</span></span><span style="color:blue;"><br />
<span><span>&nbsp; </span>delete from </span></span><span style="color:red;"><span>tablename</span></span><span style="color:blue;"><br />
<span><span>&nbsp; </span>insert into </span></span><span style="color:red;"><span>tablename</span></span><span style="color:blue;"><span> select * from temp<br />
</span></span><strong><span style="color:green;"><span>评价： 这种操作牵连大量的数据的移动，这种做法不适合大容量但数据操作</span></span><span style="color:blue;"><br />
</span><span><span style="color:black;">3),</span><span style="color:black;">例如：在一个外部表中导入数据，由于某些原因第一次只导入了一部分，但很难判断具体位置，这样只有在下一次全部导入，这样也就产生好多重复的字段，怎样删除重复字段</span></span></strong><strong><span style="color:black;"></span></strong>
</p>
<p style="background:white;">
	<span style="color:blue;"><span>alter table </span></span><span><span style="color:red;">tablename<br />
</span><span style="color:green;">--</span></span><span style="color:green;"><span>添加一个自增列</span><span><br />
</span></span><span><span style="color:blue;">add<span>&nbsp; </span></span><span style="color:red;">column_b</span></span><span><span style="color:blue;"> int identity(1,1)<br />
<span>&nbsp;</span>delete from </span><span style="color:red;">tablename</span></span><span><span style="color:blue;"> where column_b not in(<br />
select </span><span style="color:red;">max(column_b</span><span style="color:blue;">)<span>&nbsp; </span>from </span><span style="color:red;">tablename</span><span style="color:blue;"> group by</span><span style="color:red;"> column1,column2,...</span></span><span><span style="color:blue;">)<br />
alter table </span><span style="color:red;">tablename</span><span style="color:blue;"> drop column </span><span style="color:red;">column_b</span><span style="color:blue;"></span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862940"></a><strong><span style="color:green;"><span>20</span></span><span style="color:green;"><span>、说明：列出数据库里所有的表名</span><span><br />
</span></span></strong><span><span style="color:blue;">select name from sysobjects where type='U' // U</span><span style="color:blue;">代表用户</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862941"></a><strong><span style="color:green;"><span>21</span></span><span style="color:green;"><span>、说明：列出表里的所有的列名</span><span><br />
</span></span></strong><span style="color:blue;"><span>select name from syscolumns where id=object_id('TableName')</span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862942"></a><strong><span style="color:green;"><span>22</span></span><span style="color:green;"><span>、说明：列示<span>type</span>、<span>vender</span>、<span>pcs</span>字段，以<span>type</span>字段排列，<span>case</span>可以方便地实现多重选择，类似<span>select </span>中的<span>case</span>。</span><span><br />
</span></span></strong><span style="color:blue;"><span>select
 type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when
 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) 
FROM tablename group by type<br />
</span></span><strong><span style="color:black;"><span>显示结果：</span><span><br />
</span></span><span style="color:#ff6600;"><span>type vender pcs<br />
</span></span></strong><span style="color:#ff6600;"><span>电脑</span><span><span> A 1<br />
</span>电脑</span><span><span> A 1<br />
</span>光盘</span><span><span> B 2<br />
</span>光盘</span><span><span> A 2<br />
</span>手机</span><span><span> B 3<br />
</span>手机<span> C 3</span></span></span><span style="color:#ff6600;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862943"></a><strong><span><span style="color:green;">23</span><span style="color:green;">、说明：初始化表<span>table1</span></span></span></strong><strong><span style="color:green;"></span></strong>
</p>
<p style="background:white;">
	<span style="color:blue;"><span>TRUNCATE TABLE table1</span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862944"></a><strong><span style="color:green;"><span>24</span></span><span style="color:green;"><span>、说明：选择从<span>10</span>到<span>15</span>的记录</span><span><br />
</span></span></strong><span><span style="color:blue;">select top 5 * from (select top 15 * from table order by id asc) table_</span><span style="color:blue;">别名<span> order by id desc</span></span></span><span style="color:blue;"></span>
</p>
<p style="background:white;text-align:center;" align="center">
	<a name="_Toc237862945"></a><strong><span style="font-size:18pt;color:red;font-family:华文隶书;">三、技巧</span></strong><strong><span style="font-size:18pt;color:red;font-family:华文隶书;"></span></strong>
</p>
<p style="background:white;">
	<a name="_Toc237862946"></a><strong><span><span style="color:green;">1</span><span style="color:green;">、<span>1=1</span>，<span>1=2</span>的使用，在<span>SQL</span>语句组合时用的较多</span></span></strong><strong><span style="color:green;"></span></strong>
</p>
<p style="background:white;">
	<strong><span><span style="color:blue;">“where 1=1” </span><span style="color:blue;">是表示选择全部<span>&nbsp;&nbsp;&nbsp; “where 1=2”</span>全部不选，</span></span></strong><span style="color:black;"><br />
</span><span style="color:black;"><span>如：</span><span><br />
</span></span><span style="color:maroon;"><span>if @strWhere !='' <br />
begin<br />
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere <br />
end<br />
else <br />
begin<br />
set @strSQL = 'select count(*) as Total from [' + @tblName + ']' <br />
end </span></span>
</p>
<p style="background:white;">
	<span><strong><span style="color:black;">我们可以直接写成</span></strong><span></span></span>
</p>
<p style="background:white;">
	<span style="color:black;"><span>错误！未找到目录项。</span></span><strong><span style="color:blue;"><br />
<span>set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 </span></span><span><span style="color:blue;">安定<span> '+ @strWhere </span></span><span style="color:green;">2</span></span><span style="color:green;"><span>、收缩数据库</span><span><br />
</span></span></strong><span style="color:black;"><span>--</span></span><span style="color:black;"><span>重建索引</span><span><br />
<span>DBCC REINDEX<br />
DBCC INDEXDEFRAG<br />
--</span></span><span>收缩数据和日志</span><span><br />
<span>DBCC SHRINKDB<br />
DBCC SHRINKFILE</span></span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862947"></a><strong><span style="color:green;"><span>3</span></span><span style="color:green;"><span>、压缩数据库</span><span><br />
</span></span></strong><span style="color:black;"><span>dbcc shrinkdatabase(dbname)</span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862948"></a><strong><span style="color:green;"><span>4</span></span><span style="color:green;"><span>、转移数据库给新用户以已存在用户权限</span><span><br />
</span></span></strong><span style="color:black;"><span>exec sp_change_users_login 'update_one','newname','oldname'<br />
go</span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862949"></a><strong><span style="color:green;"><span>5</span></span><span style="color:green;"><span>、检查备份集</span><span><br />
</span></span></strong><span style="color:black;"><span>RESTORE VERIFYONLY from disk='E:\dvbbs.bak'</span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862950"></a><strong><span style="color:green;"><span>6</span></span><span style="color:green;"><span>、修复数据库</span><span><br />
</span></span></strong><span style="color:black;"><span>ALTER DATABASE [dvbbs] SET SINGLE_USER<br />
GO<br />
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK<br />
GO<br />
ALTER DATABASE [dvbbs] SET MULTI_USER<br />
GO</span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862951"></a><strong><span style="color:green;"><span>7</span></span><span style="color:green;"><span>、日志清除</span><span><br />
</span></span></strong><span style="color:black;"><span>SET NOCOUNT ON<br />
DECLARE @LogicalFileName sysname,<br />
<span>&nbsp;</span>@MaxMinutes INT,<br />
<span>&nbsp;</span>@NewSize INT</span></span>
</p>
<p style="background:white;">
	<span style="color:black;"><br />
<span>USE tablename -- </span></span><span style="color:black;"><span>要操作的数据库名</span><span><br />
<span>SELECT <span>&nbsp;</span>@LogicalFileName = 'tablename_log', -- </span></span><span>日志文件名</span><span><br />
<span>@MaxMinutes = 10, -- Limit on time allowed to wrap log.<br />
<span>&nbsp;</span>@NewSize = 1 <span>&nbsp;</span>-- </span></span><span>你想设定的日志文件的大小<span>(M)</span></span></span>
</p>
<p style="background:white;">
	<span style="color:black;"><span>Setup / initialize<br />
DECLARE @OriginalSize int<br />
SELECT @OriginalSize = size <br />
<span>&nbsp;</span>FROM sysfiles<br />
<span>&nbsp;</span>WHERE name = @LogicalFileName<br />
SELECT 'Original Size of ' + db_name() + ' LOG is ' + <br />
<span>&nbsp;</span>CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' + <br />
<span>&nbsp;</span>CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'<br />
<span>&nbsp;</span>FROM sysfiles<br />
<span>&nbsp;</span>WHERE name = @LogicalFileName<br />
CREATE TABLE DummyTrans<br />
<span>&nbsp;</span>(DummyColumn char (8000) not null)</span></span>
</p>
<p style="background:white;">
	<span style="color:black;"><br />
<span>DECLARE @Counter&nbsp;&nbsp;&nbsp; INT,<br />
<span>&nbsp;</span>@StartTime DATETIME,<br />
<span>&nbsp;</span>@TruncLog&nbsp;&nbsp; VARCHAR(255)<br />
SELECT @StartTime = GETDATE(),<br />
<span>&nbsp;</span>@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'</span></span>
</p>
<p style="background:white;">
	<span style="color:black;"><span>DBCC SHRINKFILE (@LogicalFileName, @NewSize)<br />
EXEC (@TruncLog)<br />
-- Wrap the log if necessary.<br />
WHILE @MaxMinutes &gt; DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired<br />
<span>&nbsp;</span>AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)&nbsp;&nbsp;<br />
<span>&nbsp;</span>AND (@OriginalSize * 8 /1024) &gt; @NewSize&nbsp;&nbsp;<br />
<span>&nbsp;</span>BEGIN -- Outer loop.<br />
SELECT @Counter = 0<br />
<span>&nbsp;</span>WHILE&nbsp;&nbsp; ((@Counter &lt; @OriginalSize / 16) AND (@Counter &lt; 50000))<br />
<span>&nbsp;</span>BEGIN -- update<br />
<span>&nbsp;</span>INSERT DummyTrans VALUES ('Fill Log') DELETE DummyTrans<br />
<span>&nbsp;</span>SELECT @Counter = @Counter + 1<br />
<span>&nbsp;</span>END<br />
<span>&nbsp;</span>EXEC (@TruncLog)&nbsp;&nbsp;<br />
<span>&nbsp;</span>END<br />
SELECT 'Final Size of ' + db_name() + ' LOG is ' +<br />
<span>&nbsp;</span>CONVERT(VARCHAR(30),size) + ' 8K pages or ' + <br />
<span>&nbsp;</span>CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'<br />
<span>&nbsp;</span>FROM sysfiles <br />
<span>&nbsp;</span>WHERE name = @LogicalFileName<br />
DROP TABLE DummyTrans<br />
SET NOCOUNT OFF </span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862952"></a><strong><span style="color:green;"><span>8</span></span><span style="color:green;"><span>、说明：更改某个表</span><span><br />
</span></span></strong><span style="color:blue;"><span>exec sp_changeobjectowner 'tablename','dbo'</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862953"></a><strong><span><span style="color:green;">9</span><span style="color:green;">、存储更改全部表</span></span></strong><strong><span style="color:green;"></span></strong>
</p>
<p style="background:white;">
	<span style="color:black;"><span>CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch<br />
@OldOwner as NVARCHAR(128),<br />
@NewOwner as NVARCHAR(128)<br />
AS</span></span>
</p>
<p style="background:white;">
	<span style="color:black;"><span>DECLARE @Name&nbsp;&nbsp;&nbsp; as NVARCHAR(128)<br />
DECLARE @Owner&nbsp;&nbsp; as NVARCHAR(128)<br />
DECLARE @OwnerName&nbsp;&nbsp; as NVARCHAR(128)</span></span>
</p>
<p style="background:white;">
	<span style="color:black;"><span>DECLARE curObject CURSOR FOR <br />
select 'Name'&nbsp;&nbsp;&nbsp; = name,<br />
&nbsp;&nbsp; 'Owner'&nbsp;&nbsp;&nbsp; = user_name(uid)<br />
from sysobjects<br />
where user_name(uid)=@OldOwner<br />
order by name</span></span>
</p>
<p style="background:white;">
	<span style="color:black;"><span>OPEN&nbsp;&nbsp; curObject<br />
FETCH NEXT FROM curObject INTO @Name, @Owner<br />
WHILE(@@FETCH_STATUS=0)<br />
BEGIN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
if @Owner=@OldOwner <br />
begin<br />
&nbsp;&nbsp; set @OwnerName = @OldOwner + '.' + rtrim(@Name)<br />
&nbsp;&nbsp; exec sp_changeobjectowner @OwnerName, @NewOwner<br />
end<br />
-- select @name,@NewOwner,@OldOwner</span></span>
</p>
<p style="background:white;">
	<span style="color:black;"><span>FETCH NEXT FROM curObject INTO @Name, @Owner<br />
END</span></span>
</p>
<p style="background:white;">
	<span><span style="color:black;">close curObject<br />
deallocate curObject<br />
</span><span style="font-size:9pt;color:black;">GO</span></span>
</p>
<p>
	<span style="font-size:9pt;color:black;"><br />
</span><a name="_Toc237862954"></a><strong><span style="color:green;"><span>10</span></span><span style="color:green;"><span>、<span>SQL SERVER</span>中直接循环写入数据</span><span><br />
</span></span></strong><span><span style="font-size:14pt;color:blue;"><span>declare @i int<br />
set @i=1<br />
while @i&lt;30<br />
begin<br />
</span></span></span><span><span style="font-size:14pt;color:blue;font-family:'Courier New';">&nbsp;&nbsp;&nbsp;</span></span><span><span style="font-size:14pt;color:blue;"><span> insert into test (userid) values(@i)<br />
</span></span></span><span><span style="font-size:14pt;color:blue;font-family:'Courier New';">&nbsp;&nbsp;&nbsp;</span></span><span><span><span style="font-size:14pt;color:blue;"> set @i=@i+1<br />
end<br />
</span></span><span><strong><span style="font-size:12pt;color:black;">案例</span></strong></span></span><span><strong><span style="font-size:9pt;color:black;"><span>：</span><span><br />
</span></span></strong></span><span><span><strong><span style="color:black;">有如下表，要求就裱中所有沒有及格的成績，在每次增長<span>0.1</span>的基礎上，使他們剛好及格<span>:</span></span></strong></span><span></span><span></span></span>
</p>
<p>
	<span><span><span>&nbsp;&nbsp;&nbsp; </span><span style="color:maroon;">Name<span>&nbsp;&nbsp;&nbsp;&nbsp; </span>score</span></span></span>
</p>
<p>
	<span><span><span>&nbsp;&nbsp;&nbsp; </span><span style="color:green;">Zhangshan</span><span>&nbsp;&nbsp; </span><span style="color:teal;">80</span></span></span>
</p>
<p>
	<span><span><span>&nbsp;&nbsp;&nbsp; </span><span style="color:green;">Lishi </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:teal;">59</span></span></span>
</p>
<p>
	<span><span><span>&nbsp;&nbsp;&nbsp; </span><span style="color:green;">Wangwu </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:teal;">50</span></span></span>
</p>
<p>
	<span><span><span>&nbsp;&nbsp;&nbsp; </span><span style="color:green;">Songquan</span><span>&nbsp;&nbsp;&nbsp; </span><span style="color:teal;">69</span></span></span>
</p>
<p>
	<span><strong><span style="color:blue;">while((select </span></strong><strong><span style="color:red;">min</span></strong><strong><span style="color:blue;">(score) from tb_table)&lt;</span></strong><strong><span style="color:black;">60</span></strong><strong><span style="color:blue;">)</span></strong></span>
</p>
<p>
	<strong><span style="color:blue;"><span>begin</span></span></strong>
</p>
<p>
	<span><strong><span style="color:blue;">update tb_table set score </span></strong><strong><span style="color:black;">=</span></strong><strong><span style="color:blue;">score*</span></strong><strong><span style="color:black;">1.01</span></strong><strong><span style="color:blue;"> </span></strong></span>
</p>
<p>
	<span><strong><span style="color:blue;">where score</span></strong><strong><span style="color:black;">&lt;60</span></strong><strong><span style="color:blue;"></span></strong></span>
</p>
<p>
	<span><strong><span style="color:blue;">if<span>&nbsp; </span>(select </span></strong><strong><span style="color:red;">min</span></strong><strong><span style="color:blue;">(score) from tb_table)</span></strong><strong><span style="color:black;">&gt;60</span></strong><strong><span style="color:blue;"></span></strong></span>
</p>
<p>
	<strong><span style="color:blue;"><span><span>&nbsp; </span>break</span></span></strong>
</p>
<p>
	<strong><span style="color:blue;"><span><span>&nbsp;</span>else</span></span></strong>
</p>
<p>
	<strong><span style="color:blue;"><span><span>&nbsp;&nbsp;&nbsp; </span>continue</span></span></strong>
</p>
<p>
	<strong><span style="color:blue;"><span>end</span></span></strong>
</p>
<p style="background:white;">
	<span style="color:black;"><span>&nbsp;</span></span>
</p>
<p style="background:white;text-align:center;" align="center">
	<a name="_Toc237862955"></a><strong><span style="font-size:18pt;color:red;font-family:华文隶书;">数据开发<span>-</span>经典</span></strong><strong><span style="font-size:18pt;color:red;font-family:华文隶书;"></span></strong>
</p>
<p style="background:white;">
	<span style="font-size:9pt;color:black;"><br />
</span><a name="_Toc237862956"></a><strong><span><span style="color:black;">1.</span><span style="color:black;">按姓氏笔画排序<span>:</span></span></span></strong><span style="color:blue;"><br />
<span>Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as //</span></span><span style="color:blue;"><span>从少到多</span></span><span></span><span style="font-size:9pt;color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862957"></a><strong><span><span style="color:black;">2.</span><span style="color:black;">数据库加密<span>:</span></span></span></strong><span><strong><span style="font-size:9pt;color:black;"><br />
</span></strong><span style="color:blue;"><span>select encrypt('</span></span><span style="color:blue;"><span>原始密码</span><span><span>')<br />
select pwdencrypt('</span>原始密码</span><span><span>')<br />
select pwdcompare('</span>原始密码<span>','</span>加密后密码<span>') = 1--</span>相同；否则不相同<span> encrypt('</span>原始密码</span><span><span>')<br />
select pwdencrypt('</span>原始密码</span><span><span>')<br />
select pwdcompare('</span>原始密码<span>','</span>加密后密码<span>') = 1--</span>相同；否则不相同</span></span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862958"></a><strong><span style="color:black;"><span>3.</span></span><span style="color:black;"><span>取回表中字段</span><span><span>:<br />
</span></span></span></strong><span><span style="color:blue;">declare @list varchar(1000),<br />
@sql nvarchar(1000) <br />
select @list=@list+</span><span style="color:red;">','</span><span style="color:blue;">+b.name from sysobjects a,syscolumns b where a.id=b.id and a.name=</span><span style="color:red;">'</span></span><span style="color:red;"><span>表</span><span><span>A'<br />
</span></span></span><span><span style="color:blue;">set @sql=</span><span style="color:red;">'select '</span><span style="color:blue;">+right(@list,len(@list)-1)+</span><span style="color:red;">' from </span><span style="color:red;">表<span>A</span></span></span><span style="color:blue;"><span>' <br />
exec (@sql)</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862959"></a><strong><span style="color:black;"><span>4.</span></span><span style="color:black;"><span>查看硬盘分区</span><span><span>:<br />
</span></span></span><span style="color:blue;"><span>EXEC master..xp_fixeddrives</span></span></strong><strong><span style="color:blue;"></span></strong>
</p>
<p style="background:white;">
	<a name="_Toc237862960"></a><strong><span style="color:black;"><span>5.</span></span><span style="color:black;"><span>比较<span>A,B</span>表是否相等</span><span><span>:<br />
</span></span></span></strong><span style="color:blue;"><span>if (select checksum_agg(binary_checksum(*)) from A)<br />
&nbsp;&nbsp;&nbsp;&nbsp; =<br />
&nbsp;&nbsp;&nbsp; (select checksum_agg(binary_checksum(*)) from B)<br />
print '</span></span><span style="color:blue;"><span>相等</span><span><span>'<br />
else<br />
print '</span>不相等<span>'</span></span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862961"></a><strong><span style="color:black;"><span>6.</span></span><span style="color:black;"><span>杀掉所有的事件探察器进程</span><span><span>:<br />
</span></span></span></strong><span style="color:blue;"><span>DECLARE hcforeach CURSOR GLOBAL FOR SELECT 'kill '+RTRIM(spid) FROM master.dbo.sysprocesses<br />
WHERE program_name IN('SQL profiler',N'SQL </span></span><span style="color:blue;"><span>事件探查器</span><span><span>')<br />
EXEC sp_msforeach_worker '?</span></span></span><span><span><span style="font-size:9pt;color:blue;">'</span></span><span style="color:blue;"></span></span>
</p>
<p>
	<a name="_Toc237862962"></a><strong><span style="font-size:12pt;color:black;"><span>7.</span></span></strong><span><strong><span style="font-size:12pt;color:black;font-family:宋体;">记录搜索</span></strong></span><span><strong><span style="font-size:12pt;color:black;"><span>:<br />
</span></span></strong></span><span><strong><span style="font-size:12pt;color:blue;font-family:宋体;">开头到</span></strong></span><span><strong><span style="font-size:12pt;color:blue;"><span>N</span></span></strong></span><span><strong><span style="font-size:12pt;color:blue;font-family:宋体;">条记录</span></strong></span><span><strong><span style="font-size:12pt;color:blue;"><br />
</span></strong></span><span><span style="font-size:12pt;color:blue;"><span>Select Top N * From </span></span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">表</span></span><span><span style="font-size:12pt;color:blue;"><br />
</span></span><span><span><span><span style="font-size:9pt;color:blue;">-------------------------------<br />
</span></span><span><strong><span style="font-size:12pt;color:blue;">N</span></strong></span></span><span><strong><span style="font-size:12pt;color:blue;font-family:宋体;">到</span></strong></span><span><strong><span style="font-size:12pt;color:blue;"><span>M</span></span></strong></span><span><strong><span style="font-size:12pt;color:blue;font-family:宋体;">条记录</span></strong></span><span><strong><span style="font-size:12pt;color:blue;"><span>(</span></span></strong></span><span><strong><span style="font-size:12pt;color:blue;font-family:宋体;">要有主索引</span></strong></span></span><span><span><strong><span style="font-size:12pt;color:blue;">ID)<br />
</span></strong></span><span><span style="font-size:12pt;color:blue;">Select Top M-N * From </span></span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">表</span></span><span><span style="font-size:12pt;color:blue;"><span> Where ID in (Select Top M ID From </span></span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">表</span></span><span><span style="font-size:12pt;color:blue;"><span>) Order by ID&nbsp;&nbsp; Desc<br />
----------------------------------<br />
<strong>N</strong></span></span></span><span><strong><span style="font-size:12pt;color:blue;font-family:宋体;">到结尾记录</span></strong></span><span><strong><span style="font-size:12pt;color:blue;"><br />
</span></strong></span><span><span style="font-size:12pt;color:blue;"><span>Select Top N * From </span></span></span><span><span style="font-size:12pt;color:blue;font-family:宋体;">表</span></span><span><span style="font-size:12pt;color:blue;"><span> Order by ID Desc<br />
</span></span></span><span><strong><span style="font-size:12pt;color:green;font-family:宋体;">案例</span><span style="color:green;"><br />
</span></strong></span><span><strong><span style="color:black;font-family:宋体;">例如<span>1</span>：一张表有一万多条记录，表的第一个字段<span> RecID </span>是自增长字段， 写一个<span>SQL</span>语句， 找出表的第</span></strong></span><span><strong><span style="color:red;font-family:宋体;">31</span></strong></span><span><strong><span style="color:black;font-family:宋体;">到第</span></strong></span><span><strong><span style="color:red;font-family:宋体;">40</span></strong></span><span><strong><span style="color:black;font-family:宋体;">个记录。</span></strong></span><span></span><span style="color:black;font-family:宋体;"></span>
</p>
<p>
	<span style="color:blue;font-family:宋体;"><span>&nbsp;</span>select top 10 recid from A where recid not<span>&nbsp; </span>in(select top 30 recid from A)</span>
</p>
<p>
	<span style="color:blue;font-family:宋体;">分析：如果这样写会产生某些问题，如果<span>recid</span>在表中存在逻辑索引。<span></span></span>
</p>
<p>
	<span style="color:blue;font-family:宋体;"><span>&nbsp;&nbsp;&nbsp; </span></span><span style="color:black;font-family:宋体;">select top 10 recid from A where</span><span style="color:black;font-family:宋体;">……是从索引中查找，而后面的</span><span style="color:blue;font-family:宋体;">select top 30 recid from A</span><span style="color:black;font-family:宋体;">则在数据表中查找，这样由于索引中的顺序有可能和数据表中的不一致，这样就导致查询到的不是本来的欲得到的数据。<span></span></span>
</p>
<p>
	<strong><span style="color:black;font-family:宋体;">解决方案<span></span></span></strong>
</p>
<p style="text-indent:-18pt;text-align:left;" align="left">
	<strong><span style="color:black;font-family:宋体;"><span>1，<span> </span></span></span></strong><strong><span style="color:black;font-family:宋体;">用<span>order by </span></span></strong><span style="color:blue;font-family:宋体;">select top 30 recid from A order by ricid </span><strong><span style="color:black;font-family:宋体;">如果该字段不是自增长，就会出现问题<span></span></span></strong>
</p>
<p style="text-indent:-18pt;text-align:left;" align="left">
	<strong><span style="color:green;"><span><span>2，<span><span> </span></span></span></span></span></strong><strong><span style="color:black;font-family:宋体;">在那个子查询中也加条件：</span></strong><span><span>select top 30 recid from A where recid&gt;-1<strong><span style="color:green;"></span></strong></span></span>
</p>
<p style="text-align:left;" align="left">
	<strong><span style="color:black;font-family:宋体;">例</span><span style="color:black;"><span>2</span></span></strong><strong><span style="color:black;font-family:宋体;">：查询表中的最后以条记录，并不知道这个表共有多少数据</span><span style="color:black;"><span>,</span></span></strong><strong><span style="color:black;font-family:宋体;">以及表结构。</span><span style="color:black;"><br />
</span><span><span style="color:blue;">set </span><span style="color:black;">@s</span><span style="color:blue;"> = </span><span style="color:red;">'select top 1 * from T<span>&nbsp;&nbsp; </span>where pid not in (select top '</span><span style="color:blue;"> +</span><span style="color:fuchsia;"> str</span><span style="color:blue;">(</span><span style="color:black;">@count-1</span><span style="color:blue;">) + </span><span style="color:red;">' pid<span>&nbsp; </span>from <span>&nbsp;</span>T)'</span></span></strong>
</p>
<p style="text-align:left;" align="left">
	<strong><span><span style="color:blue;">print </span><span style="color:black;">@s</span><span style="color:blue;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>exec<span>&nbsp; </span></span><span style="color:fuchsia;">sp_executesql</span><span style="color:blue;"><span>&nbsp; </span></span><span style="color:black;">@s</span><span style="color:blue;"></span></span></strong>
</p>
<p style="background:white;">
	<a name="_Toc237862963"></a><strong><span><span style="color:black;">9</span><span style="color:black;">：获取当前数据库中的所有用户表</span></span></strong><span style="color:black;"><br />
</span><span style="color:blue;"><span>select Name from sysobjects where xtype='u' and status&gt;=0</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862964"></a><strong><span style="color:black;"><span>10</span></span><span style="color:black;"><span>：获取某一个表的所有字段</span><span><br />
</span></span></strong><span><span style="color:blue;">select name from </span><span style="color:green;">syscolumns</span><span style="color:blue;"> where id=</span><span style="color:red;">object_id</span><span style="color:blue;">('</span><span style="color:blue;">表名<span>')</span></span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<span><span style="color:blue;">select name from </span><span style="color:green;">syscolumns</span><span style="color:blue;"> where id in (select id from </span><span style="color:green;">sysobjects</span><span style="color:blue;"> where type = 'u' and name = '</span><span style="color:blue;">表名<span>')</span></span></span>
</p>
<p style="background:white;">
	<span style="color:green;"><span>两种方式的效果相同<span></span></span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862965"></a><strong><span><span style="color:black;">11</span><span style="color:black;">：查看与某一个表相关的视图、存储过程、函数</span></span></strong><span><strong><span style="font-size:9pt;color:black;"><br />
</span></strong><span><span style="color:blue;">select a.* from </span><span style="color:green;">sysobjects</span><span style="color:blue;"> a, </span><span style="color:green;">syscomments</span><span style="color:blue;"> b where a.id = b.id and b.text like '%</span><span style="color:blue;">表名<span>%'</span></span></span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862966"></a><strong><span style="color:black;"><span>12</span></span><span style="color:black;"><span>：查看当前数据库中所有存储过程</span><span><br />
</span></span></strong><span><span style="color:blue;">select name as </span><span style="color:blue;">存储过程名称<span> from </span></span><span style="color:green;">sysobjects</span><span style="color:blue;"> where xtype='P'</span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862967"></a><strong><span><span style="color:black;">13</span><span style="color:black;">：查询用户创建的所有数据库</span></span></strong><span><span style="font-size:9pt;color:black;"><br />
</span><span><span style="color:blue;">select * from master..</span><span style="color:green;">sysdatabases</span><span style="color:blue;"> D where sid not in(select sid from master..</span><span style="color:green;">syslogins</span></span><span style="color:blue;"><span> where name='sa')<br />
</span></span><span style="color:blue;"><span>或者</span><span><br />
<span>select dbid, name AS DB_NAME from master..s</span></span></span><span><span style="color:green;">ysdatabases</span><span style="color:blue;"> where sid &lt;&gt; 0x01</span></span></span><span style="color:blue;"></span>
</p>
<p style="background:white;">
	<a name="_Toc237862968"></a><strong><span style="color:black;"><span>14</span></span><span style="color:black;"><span>：查询某一个表的字段和数据类型</span><span><br />
</span></span></strong><span><span><span style="font-size:10.5pt;color:blue;">select column_name,data_type from information_schema.columns<br />
where table_name = '</span></span><span><span style="font-size:10.5pt;color:blue;">表名<span>'</span></span></span><span style="font-size:10.5pt;color:blue;"> </span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862969"></a><strong><span style="font-size:10.5pt;color:black;"><span>15</span></span></strong><span><span><strong><span style="font-size:10.5pt;color:black;">：不同服务器数据库之间的数据操作</span></strong></span><strong><span style="font-size:10.5pt;color:black;"></span></strong></span>
</p>
<p style="background:white;">
	<span><strong><span style="font-size:10.5pt;color:green;">--</span></strong><strong><span style="font-size:10.5pt;color:green;">创建链接服务器<span> </span></span></strong></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">exec sp_addlinkedserver<span>&nbsp;&nbsp; </span>'ITSV ', ' ', 'SQLOLEDB ', '</span><span style="font-size:10.5pt;color:blue;">远程服务器名或<span>ip</span>地址<span> ' </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">exec sp_addlinkedsrvlogin<span>&nbsp; </span>'ITSV ', 'false ',null, '</span><span style="font-size:10.5pt;color:blue;">用户名<span> ', '</span>密码<span> ' </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:red;">--</span><span style="font-size:10.5pt;color:red;">查询示例<span> </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">select * from ITSV.</span><span style="font-size:10.5pt;color:blue;">数据库名<span>.dbo.</span>表名<span> </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:red;">--</span><span style="font-size:10.5pt;color:red;">导入示例<span> </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">select * into </span><span style="font-size:10.5pt;color:blue;">表<span> from ITSV.</span>数据库名<span>.dbo.</span>表名<span> </span></span></span>
</p>
<p style="background:white;">
	<span><strong><span style="font-size:10.5pt;color:green;">--</span></strong><strong><span style="font-size:10.5pt;color:green;">以后不再使用时删除链接服务器<span> </span></span></strong></span>
</p>
<p style="background:white;">
	<span style="font-size:10.5pt;color:blue;"><span>exec sp_dropserver<span>&nbsp; </span>'ITSV ', 'droplogins ' </span></span>
</p>
<p style="background:white;">
	<strong><span style="font-size:10.5pt;color:green;"><span>&nbsp;</span></span></strong>
</p>
<p style="background:white;">
	<span><strong><span style="font-size:10.5pt;color:green;">--</span></strong><strong><span style="font-size:10.5pt;color:green;">连接远程<span>/</span>局域网数据</span></strong><span style="font-size:10.5pt;color:blue;">(openrowset/openquery/opendatasource) </span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">--1</span><span style="font-size:10.5pt;color:blue;">、<span>openrowset </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:red;">--</span><span style="font-size:10.5pt;color:red;">查询示例<span> </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">select * from openrowset( 'SQLOLEDB ', 'sql</span><span style="font-size:10.5pt;color:blue;">服务器名<span> '; '</span>用户名<span> '; '</span>密码<span> ',</span>数据库名<span>.dbo.</span>表名<span>) </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:red;">--</span><span style="font-size:10.5pt;color:red;">生成本地表<span> </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">select * into </span><span style="font-size:10.5pt;color:blue;">表<span> from openrowset( 'SQLOLEDB ', 'sql</span>服务器名<span> '; '</span>用户名<span> '; '</span>密码<span> ',</span>数据库名<span>.dbo.</span>表名<span>) </span></span></span>
</p>
<p style="background:white;">
	<span style="font-size:10.5pt;color:blue;"><span>&nbsp;</span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:red;">--</span><span style="font-size:10.5pt;color:red;">把本地表导入远程表<span> </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">insert openrowset( 'SQLOLEDB ', 'sql</span><span style="font-size:10.5pt;color:blue;">服务器名<span> '; '</span>用户名<span> '; '</span>密码<span> ',</span>数据库名<span>.dbo.</span>表名<span>) </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">select *from </span><span style="font-size:10.5pt;color:blue;">本地表<span> </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:red;">--</span><span style="font-size:10.5pt;color:red;">更新本地表<span> </span></span></span>
</p>
<p style="background:white;">
	<span style="font-size:10.5pt;color:blue;"><span>update b </span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">set b.</span><span style="font-size:10.5pt;color:blue;">列<span>A=a.</span>列<span>A </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;"><span>&nbsp;</span>from openrowset( 'SQLOLEDB ', 'sql</span><span style="font-size:10.5pt;color:blue;">服务器名<span> '; '</span>用户名<span> '; '</span>密码<span> ',</span>数据库名<span>.dbo.</span>表名<span>)as a inner join </span>本地表<span> b </span></span></span>
</p>
<p style="background:white;">
	<span style="font-size:10.5pt;color:blue;"><span>on a.column1=b.column1 </span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">--openquery</span><span style="font-size:10.5pt;color:blue;">用法需要创建一个连接<span> </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">-</span><span style="font-size:10.5pt;color:red;">-</span><span style="font-size:10.5pt;color:red;">首先创建一个连接创建链接服务器 </span><span style="font-size:10.5pt;color:blue;"></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">exec sp_addlinkedserver<span>&nbsp;&nbsp; </span>'ITSV ', ' ', 'SQLOLEDB ', '</span><span style="font-size:10.5pt;color:blue;">远程服务器名或<span>ip</span>地址<span> ' </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">--</span><span style="font-size:10.5pt;color:blue;">查询<span> </span></span></span>
</p>
<p style="background:white;">
	<span style="font-size:10.5pt;color:blue;"><span>select * </span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">FROM openquery(ITSV,<span>&nbsp; </span>'SELECT *<span>&nbsp; </span>FROM </span><span style="font-size:10.5pt;color:blue;">数据库<span>.dbo.</span>表名<span> ') </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:red;">--</span><span style="font-size:10.5pt;color:red;">把本地表导入远程表<span> </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">insert openquery(ITSV,<span>&nbsp; </span>'SELECT *<span>&nbsp; </span>FROM </span><span style="font-size:10.5pt;color:blue;">数据库<span>.dbo.</span>表名<span> ') </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">select * from </span><span style="font-size:10.5pt;color:blue;">本地表<span> </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:red;">--</span><span style="font-size:10.5pt;color:red;">更新本地表<span> </span></span></span>
</p>
<p style="background:white;">
	<span style="font-size:10.5pt;color:blue;"><span>update b </span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">set b.</span><span style="font-size:10.5pt;color:blue;">列<span>B=a.</span>列<span>B </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">FROM openquery(ITSV,<span>&nbsp; </span>'SELECT * FROM </span><span style="font-size:10.5pt;color:blue;">数据库<span>.dbo.</span>表名<span> ') as a<span>&nbsp; </span></span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">inner join </span><span style="font-size:10.5pt;color:blue;">本地表<span> b on a.</span>列<span>A=b.</span>列<span>A </span></span></span>
</p>
<p style="background:white;">
	<span style="font-size:10.5pt;color:blue;"><span>&nbsp;</span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:green;">--3</span><span style="font-size:10.5pt;color:green;">、<span>opendatasource/openrowset </span></span></span>
</p>
<p style="background:white;">
	<span style="font-size:10.5pt;color:blue;"><span>SELECT<span>&nbsp;&nbsp; </span>* </span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">FROM<span>&nbsp;&nbsp; </span>opendatasource( 'SQLOLEDB ',<span>&nbsp; </span>'Data Source=ip/ServerName;User ID=</span><span style="font-size:10.5pt;color:blue;">登陆名<span>;Password=</span>密码<span> ' ).test.dbo.roy_ta </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:green;">--</span><span style="font-size:10.5pt;color:green;">把本地表导入远程表<span> </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">insert opendatasource( 'SQLOLEDB ',<span>&nbsp; </span>'Data Source=ip/ServerName;User ID=</span><span style="font-size:10.5pt;color:blue;">登陆名<span>;Password=</span>密码<span> ').</span>数据库<span>.dbo.</span>表名<span> </span></span></span>
</p>
<p style="background:white;">
	<span><span style="font-size:10.5pt;color:blue;">select * from </span><span style="font-size:10.5pt;color:blue;">本地表<span><span>&nbsp; </span></span></span></span>
</p>
<p style="background:white;text-align:center;" align="center">
	<a name="_Toc237862970"></a><strong><span style="font-weight:normal;font-size:18pt;color:red;font-family:宋体;">SQL Server</span></strong><span><strong><span style="font-weight:normal;font-size:18pt;color:red;font-family:宋体;">基本函数</span></strong></span><span></span><strong><span style="font-size:18pt;color:red;"></span></strong>
</p>
<p style="background:white;">
	<span><span style="font-size:9pt;color:black;">SQL Server</span><span style="font-size:9pt;color:black;">基本函数</span></span>
</p>
<p style="background:white;">
	<a name="_Toc237862971"></a><strong><span><span style="color:black;">1.</span><span style="color:black;">字符串函数 </span></span></strong><span><span><span style="font-size:9pt;color:black;">长度与分析用</span></span><span style="font-size:9pt;color:black;"> </span></span>
</p>
<p style="background:white;">
	<span><strong><span style="font-size:14pt;color:fuchsia;">1,datalength</span></strong><span style="color:fuchsia;">(</span><span style="color:black;">Char_expr) </span><span style="color:black;">返回字符串包含字符数<span>,</span>但不包含后面的空格</span></span><span style="font-size:9pt;color:black;"><br />
</span><span><strong><span style="font-size:14pt;color:fuchsia;">2,substring</span></strong><span style="color:black;">(expression,start,length) </span><span style="color:black;">取子串，字符串的下标是从“</span><span style="color:red;">1</span><span style="color:black;">”</span><span style="color:black;">，<span>start</span>为起始位置，<span>length</span>为字符串长度，实际应用中以</span><span style="color:red;">len(expression)</span><span style="color:black;">取得其长度</span></span><span style="font-size:9pt;color:black;"><br />
</span><span><strong><span style="font-size:14pt;color:fuchsia;">3,right</span></strong><span style="color:black;">(char_expr,int_expr) </span><span style="color:black;">返回字符串右边第<span>int_expr</span>个字符，还用</span><strong><span style="color:fuchsia;">left</span></strong></span><span style="color:black;"><span>于之相反</span><span><br />
</span></span><span><strong><span style="font-size:14pt;color:fuchsia;">4,isnull</span><span>( </span></strong><em><span>check</span></em><strong><span>_</span></strong><em><span>expression </span></em><strong><span>,</span></strong><span> <em>replacement_value </em><strong>)</strong></span><span style="color:black;">如果<span>check_expression</span>為空，則返回<span>replacement_value</span>的值，不為空，就返回<span>check_expression</span>字符操作类 </span><span style="font-size:9pt;color:black;"></span></span>
</p>
<p style="background:white;">
	<span><strong><span>5,Sp_addtype</span></strong><span style="font-size:9pt;"> </span></span><span style="color:navy;"><span>自定義數據類型</span><span><br />
</span></span><span><span style="font-size:9pt;color:navy;">例如：</span><span>EXEC sp_addtype birthday, datetime, 'NULL'</span></span>
</p>
<pre><strong><span style="color:red;"><span>6,set nocount {on|off}</span></span></strong></pre>
<pre><span>使返回的结果中不包含有关受<span> Transact-SQL </span>语句影响的行数的信息。如果存储过程中包含的一些语句并不返回许多实际的数据，则该设置由于大量减少了网络流量，因此可显著提高性能。<span>SET NOCOUNT </span>设置是在执行或运行时设置，而不是在分析时设置。</span></pre>
<pre><span><span>SET NOCOUNT </span>为<span> ON </span>时，不返回计数（表示受<span> Transact-SQL </span>语句影响的行数）。</span><span> <span>SET NOCOUNT </span></span><span>为<span> OFF </span>时，返回计数</span></pre>
<pre><a name="_Toc237862972"></a><strong><span style="font-size:18pt;color:red;"><span>常识</span></span></strong><strong><span style="font-size:18pt;color:red;"></span></strong></pre>
<pre><strong><span style="font-size:18pt;color:red;"><span>&nbsp;</span></span></strong></pre>
<pre><span><strong><span style="font-size:10.5pt;color:red;">在<span>SQL</span>查询中：</span></strong><strong><span style="font-size:10.5pt;color:blue;">from</span></strong><span style="font-size:10.5pt;color:black;">后最多可以跟多少张表或视图：</span><strong><span style="font-size:10.5pt;color:blue;">256</span></strong><span style="font-size:10.5pt;color:blue;"></span></span></pre>
<pre><span><strong><span style="font-size:10.5pt;color:black;">在</span></strong><strong><span style="font-size:10.5pt;color:blue;">SQL</span></strong><strong><span style="font-size:10.5pt;color:black;">语句中出现 </span></strong><strong><span style="font-size:10.5pt;color:blue;">Order by</span></strong><strong><span style="font-size:10.5pt;color:black;">,</span></strong><strong><span style="font-size:10.5pt;color:black;">查询时，</span></strong><strong><span style="font-size:10.5pt;color:red;">先排序，后取<span></span></span></strong></span></pre>
<pre><span><strong><span style="font-size:10.5pt;color:black;">在</span></strong><strong><span style="font-size:10.5pt;color:blue;">SQL</span></strong><strong><span style="font-size:10.5pt;color:black;">中，一个字段的最大容量是</span></strong><strong><span style="font-size:10.5pt;color:red;">8000</span></strong><strong><span style="font-size:10.5pt;color:black;">，而对于</span></strong><strong><span style="font-size:10.5pt;color:red;">nvarchar(4000)</span></strong><strong><span style="font-size:10.5pt;color:black;">,</span></strong><strong><span style="font-size:10.5pt;color:black;">由于</span></strong><strong><span style="font-size:10.5pt;color:red;">nvarchar</span></strong><strong><span style="font-size:10.5pt;color:black;">是<span>Unicode</span>码。<span><span>&nbsp; </span></span></span></strong></span></pre>
<pre><strong><span style="font-size:10.5pt;color:black;"><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong></pre>
<pre><a name="_Toc237862973"></a><strong><span style="font-size:14pt;color:black;"><span>SQLServer2000</span></span></strong><span><span><strong><span style="font-size:14pt;color:black;">同步复制技术实现步骤</span></strong></span><strong><span style="font-size:14pt;color:black;"></span></strong></span></pre>
<pre><a name="_Toc237862974"></a><span style="font-size:10.5pt;color:black;"><span>一、 预备工作</span></span><span style="font-size:10.5pt;color:black;"></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">1.</span><span style="font-size:10.5pt;color:black;">发布服务器<span>,</span>订阅服务器都创建一个同名的<span>windows</span>用户<span>,</span>并设置相同的密码<span>,</span>做为发布快照文件夹的有效访问用户<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">管理工具<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">计算机管理<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">用户和组<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">右键用户<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">新建用户<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">建立一个隶属于<span>administrator</span>组的登陆<span>windows</span>的用户（<span>SynUser</span>）<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">2.</span><span style="font-size:10.5pt;color:black;">在发布服务器上<span>,</span>新建一个共享目录<span>,</span>做为发布的快照文件的存放目录<span>,</span>操作<span>:</span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>我的电脑<span>--D:\ </span>新建一个目录<span>,</span>名为<span>: PUB</span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">右键这个新建的目录<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">属性<span>--</span>共享<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">选择<span>"</span>共享该文件夹<span>"</span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">通过<span>"</span>权限<span>"</span>按纽来设置具体的用户权限<span>,</span>保证第一步中创建的用户<span>(SynUser) </span>具有对该文件夹的所有权限<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">确定<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">3.</span><span style="font-size:10.5pt;color:black;">设置<span>SQL</span>代理<span>(SQLSERVERAGENT)</span>服务的启动用户<span>(</span>发布<span>/</span>订阅服务器均做此设置<span>)</span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>开始<span>--</span>程序<span>--</span>管理工具<span>--</span>服务<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">右键<span>SQLSERVERAGENT</span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">属性<span>--</span>登陆<span>--</span>选择<span>"</span>此账户<span>"</span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">输入或者选择第一步中创建的<span>windows</span>登录用户名（<span>SynUser</span>）<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--"</span><span style="font-size:10.5pt;color:black;">密码<span>"</span>中输入该用户的密码<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">4.</span><span style="font-size:10.5pt;color:black;">设置<span>SQL Server</span>身份验证模式<span>,</span>解决连接时的权限问题<span>(</span>发布<span>/</span>订阅服务器均做此设置<span>)</span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>企业管理器<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">右键<span>SQL</span>实例<span>--</span>属性<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">安全性<span>--</span>身份验证<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">选择<span>"SQL Server </span>和<span> Windows"</span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">确定<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">5.</span><span style="font-size:10.5pt;color:black;">在发布服务器和订阅服务器上互相注册<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>企业管理器<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">右键<span>SQL Server</span>组<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">新建<span>SQL Server</span>注册<span>...</span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">下一步<span>--</span>可用的服务器中<span>,</span>输入你要注册的远程服务器名<span> --</span>添加<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">下一步<span>--</span>连接使用<span>,</span>选择第二个<span>"SQL Server</span>身份验证<span>"</span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">下一步<span>--</span>输入用户名和密码（<span>SynUser</span>）<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">下一步<span>--</span>选择<span>SQL Server</span>组<span>,</span>也可以创建一个新组<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">下一步<span>--</span>完成<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">6.</span><span style="font-size:10.5pt;color:black;">对于只能用<span>IP,</span>不能用计算机名的<span>,</span>为其注册服务器别名（此步在实施中没用到）<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;"> (</span><span style="font-size:10.5pt;color:black;">在连接端配置<span>,</span>比如<span>,</span>在订阅服务器上配置的话<span>,</span>服务器名称中输入的是发布服务器的<span>IP)</span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>开始<span>--</span>程序<span>--Microsoft SQL Server--</span>客户端网络实用工具<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">别名<span>--</span>添加<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">网络库选择<span>"tcp/ip"--</span>服务器别名输入<span>SQL</span>服务器名<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">连接参数<span>--</span>服务器名称中输入<span>SQL</span>服务器<span>ip</span>地址<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">如果你修改了<span>SQL</span>的端口<span>,</span>取消选择<span>"</span>动态决定端口<span>",</span>并输入对应的端口号<span></span></span></span></pre>
<pre><a name="_Toc237862975"></a><span style="font-size:10.5pt;color:black;"><span>二、 正式配置</span></span><span style="font-size:10.5pt;color:black;"></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">1</span><span style="font-size:10.5pt;color:black;">、配置发布服务器<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>打开企业管理器，在发布服务器（<span>B</span>、<span>C</span>、<span>D</span>）上执行以下步骤<span>:</span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(1) </span><span style="font-size:10.5pt;color:black;">从<span>[</span>工具<span>]</span>下拉菜单的<span>[</span>复制<span>]</span>子菜单中选择<span>[</span>配置发布、订阅服务器和分发<span>]</span>出现配置发布和分发向导<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(2) [</span><span style="font-size:10.5pt;color:black;">下一步<span>] </span>选择分发服务器 可以选择把发布服务器自己作为分发服务器或者其他<span>sql</span>的服务器（选择自己）<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(3) [</span><span style="font-size:10.5pt;color:black;">下一步<span>] </span>设置快照文件夹<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>采用默认<span>\\servername\Pub</span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(4) [</span><span style="font-size:10.5pt;color:black;">下一步<span>] </span>自定义配置<span> </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>可以选择<span>:</span>是<span>,</span>让我设置分发数据库属性启用发布服务器或设置发布设置<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>否<span>,</span>使用下列默认设置（推荐）<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(5) [</span><span style="font-size:10.5pt;color:black;">下一步<span>] </span>设置分发数据库名称和位置 采用默认值<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(6) [</span><span style="font-size:10.5pt;color:black;">下一步<span>] </span>启用发布服务器 选择作为发布的服务器<span></span></span></span></pre>
<pre><span><span style="color:black;">(<span>7</span>) [</span><span style="color:black;">下一步<span>] </span>选择需要发布的数据库和发布类型<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(8) [</span><span style="font-size:10.5pt;color:black;">下一步<span>] </span>选择注册订阅服务器<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(9) [</span><span style="font-size:10.5pt;color:black;">下一步<span>] </span>完成配置<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">2</span><span style="font-size:10.5pt;color:black;">、创建出版物<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>发布服务器<span>B</span>、<span>C</span>、<span>D</span>上<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(1)</span><span style="font-size:10.5pt;color:black;">从<span>[</span>工具<span>]</span>菜单的<span>[</span>复制<span>]</span>子菜单中选择<span>[</span>创建和管理发布<span>]</span>命令<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(2)</span><span style="font-size:10.5pt;color:black;">选择要创建出版物的数据库，然后单击<span>[</span>创建发布<span>]</span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(3)</span><span style="font-size:10.5pt;color:black;">在<span>[</span>创建发布向导<span>]</span>的提示对话框中单击<span>[</span>下一步<span>]</span>系统就会弹出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布<span>(</span>其他两个大家可以去看看帮助<span>)</span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(4)</span><span style="font-size:10.5pt;color:black;">单击<span>[</span>下一步<span>]</span>系统要求指定可以订阅该发布的数据库服务器类型<span>,</span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">SQLSERVER</span><span style="font-size:10.5pt;color:black;">允许在不同的数据库如<span> orACLE</span>或<span>ACCESS</span>之间进行数据复制。<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>但是在这里我们选择运行<span>"SQL SERVER 2000"</span>的数据库服务器<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(5)</span><span style="font-size:10.5pt;color:black;">单击<span>[</span>下一步<span>]</span>系统就弹出一个定义文章的对话框也就是选择要出版的表<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>注意<span>: </span>如果前面选择了事务发布 则再这一步中只能选择带有主键的表<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(6)</span><span style="font-size:10.5pt;color:black;">选择发布名称和描述<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(7)</span><span style="font-size:10.5pt;color:black;">自定义发布属性 向导提供的选择<span>:</span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>是 我将自定义数据筛选<span>,</span>启用匿名订阅和或其他自定义属性<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>否 根据指定方式创建发布 （建议采用自定义的方式）<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(8)[</span><span style="font-size:10.5pt;color:black;">下一步<span>] </span>选择筛选发布的方式<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(9)[</span><span style="font-size:10.5pt;color:black;">下一步<span>] </span>可以选择是否允许匿名订阅<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">1)</span><span style="font-size:10.5pt;color:black;">如果选择署名订阅<span>,</span>则需要在发布服务器上添加订阅服务器<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>方法<span>: [</span>工具<span>]-&gt;[</span>复制<span>]-&gt;[</span>配置发布、订阅服务器和分发的属性<span>]-&gt;[</span>订阅服务器<span>] </span>中添加<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>否则在订阅服务器上请求订阅时会出现的提示<span>:</span>改发布不允许匿名订阅<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>如果仍然需要匿名订阅则用以下解决办法<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">[</span><span style="font-size:10.5pt;color:black;">企业管理器<span>]-&gt;[</span>复制<span>]-&gt;[</span>发布内容<span>]-&gt;[</span>属性<span>]-&gt;[</span>订阅选项<span>] </span>选择允许匿名请求订阅<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">2)</span><span style="font-size:10.5pt;color:black;">如果选择匿名订阅<span>,</span>则配置订阅服务器时不会出现以上提示<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(10)[</span><span style="font-size:10.5pt;color:black;">下一步<span>] </span>设置快照 代理程序调度<span></span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">(11)[</span><span style="font-size:10.5pt;color:black;">下一步<span>] </span>完成配置<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>有数据<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">srv1.</span><span style="font-size:10.5pt;color:black;">库名<span>..author</span>有字段<span>:id,name,phone, </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">srv2.</span><span style="font-size:10.5pt;color:black;">库名<span>..author</span>有字段<span>:id,name,telphone,adress </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>要求：<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">srv1.</span><span style="font-size:10.5pt;color:black;">库名<span>..author</span>增加记录则<span>srv1.</span>库名<span>..author</span>记录增加<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">srv1.</span><span style="font-size:10.5pt;color:black;">库名<span>..author</span>的<span>phone</span>字段更新，则<span>srv1.</span>库名<span>..author</span>对应字段<span>telphone</span>更新<span> </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>--*/ </span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">大致的处理步骤<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--1.</span><span style="font-size:10.5pt;color:black;">在<span> srv1 </span>上创建连接服务器<span>,</span>以便在<span> srv1 </span>中操作<span> srv2,</span>实现同步<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">exec sp_addlinkedserver 'srv2','','SQLOLEDB','srv2</span><span style="font-size:10.5pt;color:black;">的<span>sql</span>实例名或<span>ip' </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">exec sp_addlinkedsrvlogin 'srv2','false',null,'</span><span style="font-size:10.5pt;color:black;">用户名<span>','</span>密码<span>' </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>go</span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--2.</span><span style="font-size:10.5pt;color:black;">在<span> srv1 </span>和<span> srv2 </span>这两台电脑中<span>,</span>启动<span> msdtc(</span>分布式事务处理服务<span>),</span>并且设置为自动启动<span></span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>。我的电脑<span>--</span>控制面板<span>--</span>管理工具<span>--</span>服务<span>--</span>右键<span> Distributed Transaction Coordinator--</span>属性<span>--</span>启动<span>--</span>并将启动类型设置为自动启动<span> </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>go </span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">然后创建一个作业定时调用上面的同步处理存储过程就行了<span> </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>企业管理器<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">管理<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--SQL Server</span><span style="font-size:10.5pt;color:black;">代理<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">右键作业<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">新建作业<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--"</span><span style="font-size:10.5pt;color:black;">常规<span>"</span>项中输入作业名称<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--"</span><span style="font-size:10.5pt;color:black;">步骤<span>"</span>项<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">新建<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--"</span><span style="font-size:10.5pt;color:black;">步骤名<span>"</span>中输入步骤名<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--"</span><span style="font-size:10.5pt;color:black;">类型<span>"</span>中选择<span>"Transact-SQL </span>脚本<span>(TSQL)" </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--"</span><span style="font-size:10.5pt;color:black;">数据库<span>"</span>选择执行命令的数据库<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--"</span><span style="font-size:10.5pt;color:black;">命令<span>"</span>中输入要执行的语句<span>: exec p_process </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">确定<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--"</span><span style="font-size:10.5pt;color:black;">调度<span>"</span>项<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">新建调度<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--"</span><span style="font-size:10.5pt;color:black;">名称<span>"</span>中输入调度名称<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--"</span><span style="font-size:10.5pt;color:black;">调度类型<span>"</span>中选择你的作业执行安排<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">如果选择<span>"</span>反复出现<span>" </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">点<span>"</span>更改<span>"</span>来设置你的时间安排<span> </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>然后将<span>SQL Agent</span>服务启动<span>,</span>并设置为自动启动<span>,</span>否则你的作业不会被执行<span> </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>设置方法<span>: </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>我的电脑<span>--</span>控制面板<span>--</span>管理工具<span>--</span>服务<span>--</span>右键<span> SQLSERVERAGENT--</span>属性<span>--</span>启动类型<span>--</span>选择<span>"</span>自动启动<span>"--</span>确定<span>. </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--3.</span><span style="font-size:10.5pt;color:black;">实现同步处理的方法<span>2,</span>定时同步<span> </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">在<span>srv1</span>中创建如下的同步处理存储过程<span> </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>create proc p_process </span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>as </span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">更新修改过的数据<span> </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>update b set name=i.name,telphone=i.telphone </span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">from srv2.</span><span style="font-size:10.5pt;color:black;">库名<span>.dbo.author b,author i </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>where b.id=i.id and</span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>(b.name &lt;&gt; i.name or b.telphone &lt;&gt; i.telphone) </span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">插入新增的数据<span> </span></span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">insert srv2.</span><span style="font-size:10.5pt;color:black;">库名<span>.dbo.author(id,name,telphone) </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>select id,name,telphone from author i </span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>where not exists( </span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">select * from srv2.</span><span style="font-size:10.5pt;color:black;">库名<span>.dbo.author where id=i.id) </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>&nbsp;</span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">--</span><span style="font-size:10.5pt;color:black;">删除已经删除的数据<span>(</span>如果需要的话<span>) </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>delete b </span></span></pre>
<pre><span><span style="font-size:10.5pt;color:black;">from srv2.</span><span style="font-size:10.5pt;color:black;">库名<span>.dbo.author b </span></span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>where not exists( </span></span></pre>
<pre><span style="font-size:10.5pt;color:black;"><span>select * from author where id=b.id)</span></span></pre>
<pre><span><span style="color:blue;">go</span></span></pre>
<br />]]></description>
			<link>http://www.ax.net.cn/mssql/</link>
			<category domain="http://www.ax.net.cn/category/5/">程序</category>
			<category domain="http://www.ax.net.cn/category/8/">php</category>
			<category domain="http://www.ax.net.cn/tag/sqlser/">sqlser</category>
			<category domain="http://www.ax.net.cn/tag/mssql/">mssql</category>
			<category domain="http://www.ax.net.cn/tag/sql/">sql</category>
			<pubDate>Wed, 09 May 2012 22:30:57 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/395/</link>
			<guid>http://www.ax.net.cn/archives/395/</guid>
			<title>设置延长ssh自动断开时间</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : SSH Server一般会根据设定的设计自动断开SSH连接，这就是为什么一定时间不操作SSH，SSH会自动断开的原因。按以下步骤可以延长自动断开的时间。以centos5.3为例：<br />
编辑配置文件<br />
nano /etc/ssh/sshd_config<br />
添加两个参数<br />
ClientAliveInterval 20<br />
ClientAliveCountMax 300<br />
<span id="more-442"></span>按以上的配置的含义就是 SSH每20秒向客户端发送一次心跳 ，连续发送300次没有收到客户端道应答，则断开客户端。系统默认是ClientAliveInterval为15，ClientAliveCountMax 为3，所以SSH会在45秒之后断开。<br />
保存设置并重载配置文件<br />
/etc/init.d/sshd restart<br />]]></description>
			<link>http://www.ax.net.cn/archives/395/</link>
			<category domain="http://www.ax.net.cn/category/10/">系统</category>
			<category domain="http://www.ax.net.cn/tag/centos/">centos</category>
			<category domain="http://www.ax.net.cn/tag/ssh/">ssh</category>
			<category domain="http://www.ax.net.cn/tag/%E6%9C%8D%E5%8A%A1%E5%99%A8/">服务器</category>
			<pubDate>Wed, 28 Mar 2012 18:19:23 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/iftop/</link>
			<guid>http://www.ax.net.cn/iftop/</guid>
			<title>Linux流量监控工具 - iftop (最全面的iftop教程)</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p>
	在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量，监控TCP/IP连接等，则可以使用iftop。
</p>
<h2>
	一、iftop是什么？
</h2>
<p>
	iftop是类似于top的实时流量监控工具。
</p>
<p>
	官方网站：<a href="http://www.ex-parrot.com/%7Epdw/iftop/" target="_blank">http://www.ex-parrot.com/~pdw/iftop/</a>
</p>
<h2>
	二、iftop有什么用？
</h2>
<p>
	iftop可以用来监控网卡的实时流量（可以指定网段）、反向解析IP、显示端口信息等，详细的将会在后面的使用参数中说明。<span id="more-1399"></span>
</p>
<h2>
	三、安装iftop
</h2>
<h3>
	<strong>安装方法1、</strong>编译安装
</h3>
<p>
	如果采用编译安装可以到<a href="http://www.ex-parrot.com/%7Epdw/iftop/" target="_blank">iftop官网</a>下载最新的源码包。
</p>
<p>
	安装前需要已经安装好基本的编译所需的环境，比如make、gcc、autoconf等。安装iftop还需要安装libpcap和libcurses。
</p>
<p>
	<strong>CentOS上安装所需依赖包：</strong>
</p>
<p>
	yum install flex byacc&nbsp; libpcap ncurses ncurses-devel libpcap-devel
</p>
<p>
	<strong>Debian上安装所需依赖包：</strong>
</p>
<p>
	apt-get install flex byacc&nbsp; libpcap0.8 libncurses5
</p>
<p>
	下载iftop
</p>
<blockquote>
	<p>
		wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
	</p>
	<p>
		tar zxvf iftop-0.17.tar.gz
	</p>
	<p>
		cd iftop-0.17
	</p>
	<p>
		./configure
	</p>
	<p>
		make &amp;&amp; make install
	</p>
</blockquote>
<h3>
	安装方法2：(懒人办法，最简单)
</h3>
<p>
	直接省略上面的步骤
</p>
<p>
	CentOS系统：
</p>
<p>
	yum install flex byacc&nbsp; libpcap ncurses ncurses-devel
</p>
<p>
	wget ftp://fr2.rpmfind.net/linux/dag/redhat/el5/en/i386/dag/RPMS/iftop-0.17-1.el5.rf.i386.rpm
</p>
<p>
	rpm -ivh iftop-0.17-1.el5.rf.i386.rpm
</p>
<p>
	Debian系统 运行：apt-get install iftop
</p>
<h2>
	四、运行iftop
</h2>
<p>
	直接运行： iftop
</p>
<p>
	效果如下图：
</p>
<p>
	<img class="alignnone size-full wp-image-1407" title="iftop-interface" src="http://www.vpser.net/uploads/2010/07/iftop-interface.jpg" alt="" height="341" width="646" />
</p>
<h2>
	五、相关参数及说明
</h2>
<h3>
	1、iftop界面相关说明
</h3>
<p>
	界面上面显示的是类似刻度尺的刻度范围，为显示流量图形的长条作标尺用的。
</p>
<p>
	中间的&lt;= =&gt;这两个左右箭头，表示的是流量的方向。
</p>
<p>
	TX：发送流量<br />
RX：接收流量<br />
TOTAL：总流量<br />
Cumm：运行iftop到目前时间的总流量<br />
peak：流量峰值<br />
rates：分别表示过去 2s 10s 40s 的平均流量
</p>
<h3>
	2、iftop相关参数
</h3>
<h3>
	常用的参数
</h3>
<p>
	-i设定监测的网卡，如：# iftop -i eth1
</p>
<p>
	-B 以bytes为单位显示流量(默认是bits)，如：# iftop -B
</p>
<p>
	-n使host信息默认直接都显示IP，如：# iftop -n
</p>
<p>
	-N使端口信息默认直接都显示端口号，如: # iftop -N
</p>
<p>
	-F显示特定网段的进出流量，如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
</p>
<p>
	-h（display this message），帮助，显示参数信息
</p>
<p>
	-p使用这个参数后，中间的列表显示的本地主机信息，出现了本机以外的IP信息;
</p>
<p>
	-b使流量图形条默认就显示;
</p>
<p>
	-f这个暂时还不太会用，过滤计算包用的;
</p>
<p>
	-P使host信息及端口信息默认就都显示;
</p>
<p>
	-m设置界面最上边的刻度的最大值，刻度分五个大段显示，例：# iftop -m 100M
</p>
<h3>
	进入iftop画面后的一些操作命令(注意大小写)
</h3>
<p>
	按h切换是否显示帮助;
</p>
<p>
	按n切换显示本机的IP或主机名;
</p>
<p>
	按s切换是否显示本机的host信息;
</p>
<p>
	按d切换是否显示远端目标主机的host信息;
</p>
<p>
	按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;
</p>
<p>
	按N切换显示端口号或端口服务名称;
</p>
<p>
	按S切换是否显示本机的端口信息;
</p>
<p>
	按D切换是否显示远端目标主机的端口信息;
</p>
<p>
	按p切换是否显示端口信息;
</p>
<p>
	按P切换暂停/继续显示;
</p>
<p>
	按b切换是否显示平均流量图形条;
</p>
<p>
	按B切换计算2秒或10秒或40秒内的平均流量;
</p>
<p>
	按T切换是否显示每个连接的总流量;
</p>
<p>
	按l打开屏幕过滤功能，输入要过滤的字符，比如ip,按回车后，屏幕就只显示这个IP相关的流量信息;
</p>
<p>
	按L切换显示画面上边的刻度;刻度不同，流量图形条会有变化;
</p>
<p>
	按j或按k可以向上或向下滚动屏幕显示的连接记录;
</p>
<p>
	按1或2或3可以根据右侧显示的三列流量数据进行排序;
</p>
<p>
	按&lt;根据左边的本机名或IP排序;
</p>
<p>
	按&gt;根据远端目标主机的主机名或IP排序;
</p>
<p>
	按o切换是否固定只显示当前的连接;
</p>
<p>
	按f可以编辑过滤代码，这是翻译过来的说法，我还没用过这个！
</p>
<p>
	按!可以使用shell命令，这个没用过！没搞明白啥命令在这好用呢！
</p>
<p>
	按q退出监控。
</p>
<h2>
	六、常见问题
</h2>
<p>
	1、make: yacc: Command not found<br />
make: *** [grammar.c] Error 127
</p>
<p>
	解决方法：apt-get install byacc&nbsp;&nbsp; /&nbsp;&nbsp; yum install byacc
</p>
<p>
	2、configure: error: Curses! Foiled again!<br />
(Can't find a curses library supporting mvchgat.)<br />
Consider installing ncurses.
</p>
<p>
	解决方法：apt-get install libncurses5-dev&nbsp; / &nbsp;&nbsp; yum&nbsp; install ncurses-devel
</p>
<br />]]></description>
			<link>http://www.ax.net.cn/iftop/</link>
			<category domain="http://www.ax.net.cn/category/10/">系统</category>
			<category domain="http://www.ax.net.cn/tag/iftop/">iftop</category>
			<pubDate>Mon, 19 Mar 2012 11:32:44 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/393/</link>
			<guid>http://www.ax.net.cn/archives/393/</guid>
			<title>PHP从URL取出域名的方法及IE6下div高度问题</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p>手册提供了parse_url()函数可以返回URL的组成部分，所以，要得到域名就用</p>
<p>$url = &quot;<a href="http://hi.baidu.com/tdweb/ihome/myblog">http://www.ax.net.cn/?action=show&amp;id=392</a>;</p>
<p>$url = parse_url($url);</p>
<p>echo $url['host'];</p>
<p>&nbsp;</p>
<p>即使设定了height和line-height ，DIV的高度还是不能小于20，那么一定是忘记写font-size:0;了</p>]]></description>
			<link>http://www.ax.net.cn/archives/393/</link>
			<category domain="http://www.ax.net.cn/category/8/">php</category>
			<category domain="http://www.ax.net.cn/tag/ie6/">ie6</category>
			<category domain="http://www.ax.net.cn/tag/domain/">domain</category>
			<category domain="http://www.ax.net.cn/tag/url/">url</category>
			<category domain="http://www.ax.net.cn/tag/div/">div</category>
			<category domain="http://www.ax.net.cn/tag/php/">php</category>
			<pubDate>Tue, 21 Sep 2010 17:52:52 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/392/</link>
			<guid>http://www.ax.net.cn/archives/392/</guid>
			<title>读取远程文件的类和屏蔽指定IP的类</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p><a href="http://www.ax.net.cn/attachment.php?id=28" title="router-2010-07-15.tar.gz - 大小:22.15 KB - 下载次数:1" target="_blank">router-2010-07-15.tar.gz</a><br />
读取远程文件.小偷类。<br />
http://u.115.com/file/f13a3b81e2<br />
<br />
<a href="http://www.ax.net.cn/attachment.php?id=29" title="firewall-protection-2010-07-19.tar.gz - 大小:4.39 KB - 下载次数:1" target="_blank">firewall-protection-2010-07-19.tar.gz</a><br />
使用XML格式作数据文档，屏蔽文档内的指定IP地址</p>
<p>http://u.115.com/file/f1dde36ee6</p>]]></description>
			<link>http://www.ax.net.cn/archives/392/</link>
			<category domain="http://www.ax.net.cn/category/8/">php</category>
			<category domain="http://www.ax.net.cn/tag/%E5%B0%8F%E5%81%B7%E7%B1%BB/">小偷类</category>
			<category domain="http://www.ax.net.cn/tag/%E5%B1%8F%E8%94%BD/">屏蔽</category>
			<category domain="http://www.ax.net.cn/tag/%E8%BF%9C%E7%A8%8B/">远程</category>
			<category domain="http://www.ax.net.cn/tag/%E8%AF%BB%E5%8F%96/">读取</category>
			<pubDate>Sat, 31 Jul 2010 09:10:01 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/391/</link>
			<guid>http://www.ax.net.cn/archives/391/</guid>
			<title>两个不错的PHP类</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p><a href="http://www.ax.net.cn/attachment.php?id=27" title="panels-treeview-2010-07-19.tar.gz - 大小:17.98 KB - 下载次数:6" target="_blank">panels-treeview-2010-07-19.tar.gz</a></p>
<p>用来生成HTML和JS的树形目录。</p>
<p><a href="http://u.115.com/file/f1bae1cd0">http://u.115.com/file/f1bae1cd0</a></p>
<p>&nbsp;</p>
<p><a href="http://www.ax.net.cn/attachment.php?id=26" title="lightweight-mvc-2010-07-16.tar.gz - 大小:1.96 KB - 下载次数:8" target="_blank">lightweight-mvc-2010-07-16.tar.gz</a></p>
<p>一个轻量的MVC框架。</p>
<p><a href="http://u.115.com/file/f19549b12e">http://u.115.com/file/f19549b12e</a></p>]]></description>
			<link>http://www.ax.net.cn/archives/391/</link>
			<category domain="http://www.ax.net.cn/category/8/">php</category>
			<category domain="http://www.ax.net.cn/tag/treeview/">treeview</category>
			<category domain="http://www.ax.net.cn/tag/mvc/">mvc</category>
			<pubDate>Thu, 29 Jul 2010 21:54:29 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/390/</link>
			<guid>http://www.ax.net.cn/archives/390/</guid>
			<title>忙了几个月了</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p>忙了几个月用Thinkphp开发了个带群组活动的分类信息网站。英文的地址就不公布了。</p>]]></description>
			<link>http://www.ax.net.cn/archives/390/</link>
			<category domain="http://www.ax.net.cn/category/14/">生活</category>
			<category domain="http://www.ax.net.cn/tag/cityguide/">cityguide</category>
			<category domain="http://www.ax.net.cn/tag/classifieds/">classifieds</category>
			<pubDate>Thu, 29 Jul 2010 21:35:32 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/389/</link>
			<guid>http://www.ax.net.cn/archives/389/</guid>
			<title>simplemodal — jquery弹出窗体插件的一些应用</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p>先上官方地址：<a href="http://www.ericmmartin.com/projects/simplemodal/" style="color: rgb(174, 50, 255) ! important; text-decoration: none;">http://www.ericmmartin.com/projects/simplemodal/</a><br />
<br />
<br />
用它之前先引入jquery</p>
<div class="codeText">
<div class="codeHead">XML/HTML代码</div>
<ol start="1" class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">script</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">'text/javascript'</span><span>&nbsp;</span><span class="attribute">src</span><span>=</span><span class="attribute-value">'js/jquery.simplemodal.js'</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span><span>&nbsp; <br />
    </span></span></li>
</ol>
</div>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>$(document).ready(</span><span class="keyword">function</span><span>&nbsp;()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">'a.add_post'</span><span>).click(</span><span class="keyword">function</span><span>&nbsp;(e)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.preventDefault();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">'#basic-modal-content'</span><span>).modal();</span><span class="comment">//显示这一块</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;</span></li>
    <li class=""><span>});&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>API</p>
<p>现在来看下其API <font color="#4c4c4c"><br />
</font></p>
<p>appendTo  ：将弹出框添加到的父容器，参数为css选择器<font color="#4c4c4c"><br />
</font></p>
<p>opacity ：透明度<font color="#4c4c4c"><br />
</font></p>
<p>overlayId ：遮罩层id<font color="#4c4c4c"><br />
</font></p>
<p>overlayCss ：{Object}定义遮罩层样式<font color="#4c4c4c"><br />
</font></p>
<p>containerId ：弹出窗体容器id<font color="#4c4c4c"><br />
</font></p>
<p>containerCss ：定义容器的样式<font color="#4c4c4c"><br />
</font></p>
<p>dataId ：内容层id<font color="#4c4c4c"><br />
</font></p>
<p>containerCss ：内容层的样式<font color="#4c4c4c"><br />
</font></p>
<p>minHeight ：最小高度<font color="#4c4c4c"><br />
</font></p>
<p>minWidth ：最小宽度<font color="#4c4c4c"><br />
</font></p>
<p>maxHeight ：最大高度<font color="#4c4c4c"><br />
</font></p>
<p>maxWidth ：最大宽度<font color="#4c4c4c"><br />
</font></p>
<p>autoResize：是否自适应大小<font color="#4c4c4c"><br />
</font></p>
<p>zIndex ：弹出层的z-index<font color="#4c4c4c"><br />
</font></p>
<p>close ：是否允许关闭<font color="#4c4c4c"><br />
</font></p>
<p>closeHTML ：自定义关闭按钮<font color="#4c4c4c"><br />
</font></p>
<p>closeClass ：关闭层样式<font color="#4c4c4c"><br />
</font></p>
<p>overlayClose ：点击遮罩层是否关闭弹出窗体<font color="#4c4c4c"><br />
</font></p>
<p>position ：数组 [top, left] 自定义弹出窗体位置<font color="#4c4c4c"><br />
</font></p>
<p>onOpen ：弹出窗体打开时候的回调函数<font color="#4c4c4c"><br />
</font></p>
<p>onShow ：弹出窗体显示时候的回调函数<font color="#4c4c4c"><br />
</font></p>
<p><font color="#4c4c4c">onClose ：弹出窗体关闭时候的回调函数</font></p>
<p>最后 $.modal.close(); 关闭弹出窗体</p>
<p>&nbsp;</p>]]></description>
			<link>http://www.ax.net.cn/archives/389/</link>
			<category domain="http://www.ax.net.cn/category/5/">程序</category>
			<category domain="http://www.ax.net.cn/tag/simplemodal/">simplemodal</category>
			<category domain="http://www.ax.net.cn/tag/jquery/">jquery</category>
			<pubDate>Tue, 08 Jun 2010 15:41:55 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/388/</link>
			<guid>http://www.ax.net.cn/archives/388/</guid>
			<title>Godaddy主机优惠码</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p><strong>1.Godaddy主机优惠码（通用）<br />
<br />
</strong>优惠券: <strong><font color="blue">cjchost20</font></strong> <br />
购买所有主机产品优惠20%.&nbsp;&nbsp;（独立主机例外）<br />
有效期至: 2008年9月20号<br />
<br />
优惠券: <strong>cjcophst20</strong><br />
购买Unlimited Hosting 方案特殊优惠码&lt;1年方案 $9.99/月,  2-年方案$6.29/月,3年方案$4.79/月&gt;<br />
<br />
优惠券: <strong><font color="blue">cjcshare20</font></strong> <br />
购买所有主机产品优惠20%.&nbsp;&nbsp;（仅虚拟主机适用）<br />
有效期: 无限制<br />
<br />
优惠券：<font color="blue"><strong>cjcbusb03</strong></font><br />
购买所有商业解决方案和主机节省20%<br />
有效期：已失效<br />
<br />
优惠券：<strong><font color="blue">cjc20off75</font></strong>&nbsp;&nbsp;<br />
购买75美元及以上可以优惠20美元<br />
有效期至: 2008年9月20号<br />
<br />
优惠券：<strong><font color="blue">cjc20hun</font></strong>&nbsp;&nbsp;<br />
购买100美元及以上可以优惠20美元<br />
有效期: 无限制<br />
<br />
优惠码: <strong><font color="blue">cjctenoff</font></strong><br />
购买50美元及以上商品使用此优惠码可以优惠10美元<br />
有效期：无限制<br />
<br />
优惠码: <strong><font color="blue">cjcsave</font></strong><br />
购买30美元及以上商品使用此优惠码可以优惠 5 美元<br />
有效期：无限制<br />
<br />
优惠码：<strong><font color="blue">cjcdeal</font></strong> <br />
购买75美元以上优惠15%<br />
<br />
<br />
优惠码:<font color="blue"><strong>cjcdollar</strong></font><br />
优惠一美元，域名续费和org域名注册除外。<br />
<br />
<br />
优惠码: <font color="blue"><strong>cjcfat75</strong></font><br />
消费75美金或以上者，优惠15%。<br />
<br />
优惠码:<font color="blue"><strong>cjc4Udom</strong></font><br />
COM域名注册 $7.49 <br />
<br />
优惠码: <strong>cjc4U75</strong><br />
消费75美金或以上者，优惠15%。<br />
<br />
<br />
<strong>2.Godaddy域名注册优惠码<br />
</strong><br />
<strong><font color="red">最新com优惠码</font><br />
</strong><font color="red">优惠码</font>: <font color="blue"><strong><font color="blue">cjc689b009</font> </strong></font><br />
<font color="red">说明</font>: $7.07 .COM 注册 <br />
<font color="red">有效期</font>: 2010-06-30<br />
<br />
优惠码: <strong><font color="blue">cjc695dom&nbsp;&nbsp;</font></strong> <font color="blue"><strong>cjc749dom</strong></font>&nbsp; &nbsp;<br />
说明: $7.49 .COM 注册 <br />
有效期: N/A<br />
<br />
优惠码: <strong><font color="blue">cjctld749 </font></strong><br />
说明: $7.49 .NET 注册 <br />
有效期: N/A<br />
<br />
优惠码: <strong><font color="blue">cjctld749 </font></strong><br />
说明: $7.49 .ORG 注册 <br />
有效期: N/A<br />
<br />
Godaddy免费隐私保护优惠码：<strong><font color="blue">cjcPRIVATE</font></strong><br />
说明：注册域名可以获得免费的隐私保护，因为多个优惠码不能通用，只能用原价注册才行。<br />
有效期：已经失效<br />
<br />
<strong>3. </strong><font color="blue"><strong>SSL证书12.99美元每年优惠地址，点击下面的链 接进入查看</strong></font><strong>：</strong><br />
<br />
<a target="_blank" href="http://godaddy.idcspy.com/godaddy-coupon/ssl%20">购买ssl优惠地址</a><br />
<br />
<br />
<br />
<strong>4.Godaddy VPS 独立主机优惠码。</strong>购买地址：Godaddy.com<br />
<br />
<strong>cjcvps20</strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;购买VPS优惠20%<br />
<strong>cjcded20 </strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;购买独立主机优惠20%<br />
<br />
<strong>5.Godaddy SSL购买优惠码</strong><br />
<strong>cjcssl12t2 </strong>节省50% 在ssl购买时<br />
<a target="_blank" href="http://bbs.idcspy.com/thread-7687-1-1.html"><font color="red"><font size="4"><br />
</font></font></a></p>]]></description>
			<link>http://www.ax.net.cn/archives/388/</link>
			<category domain="http://www.ax.net.cn/category/5/">程序</category>
			<pubDate>Mon, 07 Jun 2010 09:27:34 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/387/</link>
			<guid>http://www.ax.net.cn/archives/387/</guid>
			<title>用会zendstudio5.5</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p>公司配了个AMD的机器，慢得死。zned for eclipse系列的一打开复杂点的代码就提示内存溢出，反反复复，周而复始，我郁闷。</p>
<p>用会了zendstudio5.5</p>
<p>安装完Zend  studio运行后发现就显示的应用程序页面是空白的，什么都没有，在Zend.com上找了一下，发现有两种解决方法，我用的方法是里边讲的第一种 bin/ZDE中加入一行代码，在1693加入 <br />
options=&quot;$options  -Dawt.toolkit=sun.awt.motif.MToolkit&quot;也就是debugOut前面。其他的方法可以参考这篇文章： <br />
http://www.zend.com/support/knowledgebase.php?kbid=241</p>
<p>&nbsp;</p>
<p>解决中文界面全部是方块的问题：</p>
<p>第一步：</p>
<p>把C盘系统字库的中文字体simsun.ttc（宋体）  复制过来改名为：LucidaSansRegular.ttf，覆盖到/usr/local/Zend/ZendStudio/jre/lib /fonts/LucidaSansRegular.ttf</p>
<p>第二步（可以不设置）：</p>
<p>vi ZDE/config_5.5/desktop_options.xml</p>
<p>把? ? ? ? ? ? ? ? &lt;customized_property ID=&rdquo;desktop.language&rdquo;&gt;</p>
<p>&lt;locale language=&rdquo;en&rdquo; country=&rdquo;&quot; variant=&rdquo;&quot;/&gt;</p>
<p>&lt;/customized_property&gt;</p>
<p>改成</p>
<p>&lt;customized_property ID=&rdquo;desktop.language&rdquo;&gt;</p>
<p>&lt;locale language=&rdquo;cn&rdquo; country=&rdquo;&quot; variant=&rdquo;&quot;/&gt;</p>
<p>&lt;/customized_property&gt;</p>
<p>最好再把</p>
<p>&lt;customized_property ID=&rdquo;browser.commandLine&rdquo;&gt;</p>
<p>&lt;string value=&rdquo;M&hellip;&rdquo;/&gt;? ?? ?//这里有点忘记了总之浏览器改为firefox</p>
<p>&lt;/customized_property&gt;</p>]]></description>
			<link>http://www.ax.net.cn/archives/387/</link>
			<category domain="http://www.ax.net.cn/category/10/">系统</category>
			<category domain="http://www.ax.net.cn/tag/zend/">zend</category>
			<pubDate>Sat, 05 Jun 2010 15:31:56 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/386/</link>
			<guid>http://www.ax.net.cn/archives/386/</guid>
			<title>浅谈:国内软件公司为何无法做大做强?</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p><strong>纵览,国内比较大的软件公司(以下统一简称&quot;国软&quot;),清一色都是做政府项目的(他们能做大的原因我就不用说了吧),真正能做大的 国软又有几家呢?更何况 开源企业，这是为什么呢?</strong><br />
今天风吹就给大家简单分析下:</p>
<p>1.&quot;作坊&quot;式管理<br />
<br />
&quot;作坊&quot;往往是效率最高的,  国软几乎都是从作坊走过来的,但把作坊式的管理模式套用到一个不断壮大的公司中显然是不行的.组织架构到达一定程度后就必然要进行分工的细化,依靠作坊式 的&quot;暴力开发&quot;是行不通的.<br />
<br />
2.&quot;法制社会&quot;<br />
<br />
上班必须打卡,迟到要扣钱,还一次比一次多,加班没有加班费,反正算下来就是,只有扣钱的项目,没有加钱的项目.比起外企,人家上班不打卡,迟到不扣钱, 加班有加班费,这样宽松点的环境不好吗?<br />
<br />
3. 自身自灭<br />
<br />
国软一般没有师徒制,有的话也只是形式上的,公司基本没人管你,你也不用去管别人,新进的员工,不管会不会,先丢个东西给你做,自己研究,不懂的 google去.这也是为什么国软喜欢招有经验的人,因为没经验的人熬不住,跑了几个以后,国软就不招了.<br />
<br />
4. 销售-开发-维护脱节<br />
<br />
这点是非常严重的,会直接导致项目流产的.国软的典型的做法是,销售为了业绩,在没有调研的情况下就签了合同  (这里主要是指项目型的,产品型的一般可以控制),而且合同的范围也非常模糊,可大可小,接下来就是调研人员上场,调研后发现,10w块钱的合同,调研出 来了100w的需求,接下来就是和客户扯皮,最后直接导致项目流产,甚至打上官司.项目或产品上线后,维护人员对系统不了解(一方面是没有文档,另外一方 面维护人员一般没有参与到开发中),接下来往往就会发生两种情况:<br />
<br />
a.维护人员在不了解系统的情况下擅自修改,结果导致系统越改问题 越多.<br />
<br />
b.维护人员一不做二不休,所有客户反馈的问题全部打回给开发人员,于是开发人员就生不如死,在做别的项目的同时还要维护以前的项目,结果就是导致几个项 目都失败.<br />
<br />
5.缺乏规划<br />
<br />
今天要用这个,明天想用那个(笔者就经历了公司在半年的时间内对框架进行了两次大的变动,导致开发人员都必须重新学习框架)产品也接,项目也接,大的也 接,小的也接.今天领导说往左走,明天说往右走,也不能怪领导,他也没经验,我们就是他的DEMO.公司没有一个明确的目标,要做成什么样,只是一味的提 出做大做强,但是没有规划出如何做大做强.(和我的标题一样哦)<br />
<br />
6.三无-无需求,无设计,无测试.<br />
<br />
a.没有文档是国软的通病,曾几何时,产品经理丢过来的那一句话:&quot; 喂,**,给我做一个**模块来&quot;,然后开发人员就开始埋头苦写了.<br />
<br />
b.当然如果你天资聪慧,可以轻易理解出产品经理的意思,那有没有设计都无所谓了,但是,当有一天别人要维护你的程序的时候问题就出现了,没有文档,代码 又那么天马行空,怎么维护?改了这个地方,又影响了那个地方...<br />
<br />
c.其实程序员都懂得测试的意义,可以工时安排的那么紧,哪来的时间测试?测试又没有算工时.所以几乎所有的程序员的做法就是,直接丢给用户测试<br />
<br />
这时候有人肯定要问:那项目经理呢?他不是可以测试吗?请记住这是国软,刚才写代码的那个人就是项目经理,还是售前,还是设计人员,还是维护,还是... 归结还是成本问题,在外资软件公司中,做文档的工时是比做开发的工时更多的,国软为了节省成本,这块当然要  CUT掉了.不必去追去文档有多么详细多么美观,需要做的就是找到一个平衡点,一份适合自己的文档.<br />
<br />
7.员工都是&quot;十项全能&quot;<br />
<br />
在国软里面的员工各个都是十项全能(笔者就是一个鲜明的例子,从系统调研分析设计,到进度管理,开发,测试,验收,实施,维护,甚至拉给客户拉网线都需要 我去.)直接导致的结果就是这些员工每过多久就直接出来自己开公司了...嘿嘿又一家作坊诞生了...这样做对员工个人其实是有好处的,但是对于企业本上 来说是没有好处的,并不是说员工成立了作坊,成为了你的竞争对手,而是让员工各个都是十项全能的结果就是<br />
<br />
a.员工都是&quot;十项全不 能&quot;.<br />
<br />
b.员工一旦离职,他手头的项目必定流产.<br />
<br />
c.对公司的发展是不利的(细化分工).<br />
<br />
8.莫不关心<br />
<br />
老板并不知道员工在做什么,员工也不知道老板在做什么.上级很少去关心下级的工作,更别说去关心下级的生活,一个东西丢给你,一个月后交差,中间不管你任 何事情,交不了差就唯你是问.下级也不知道能为上级分担什么,只有等着上级分配任务.甚至还有些老板都不不知道员工的名字,在这样的国软的,每个人都是孤 立的,又怎么能做大做强呢?<br />
<br />
9.企业文化<br />
<br />
所谓十年树木,百年树人.国软的企业文化表面功夫算是做的很好的了,什么&quot;为客户创造价值&quot;,&quot;做最好的行业解决方案&quot;,&quot;软件公司的最大资源就是人才&quot; 等等,要多华丽有多华丽,重复体现了&quot;口号文化&quot;.真正做到企业文化又有多少呢?有多少仅仅是为了做给客户看的呢?<br />
<br />
10.盲目跟风<br />
<br />
很多国软看到人家外企软件公司最近在搞什么推进活动,就跟风,效仿外企做,可是无法领悟精髓,纯粹只是在模仿.(外企集体笑:&quot;一直被模仿,从未被超 越&quot;)做完了也不知道这么做的意义,劳民伤财.<br />
<br />
11.缺乏&quot;执行力&quot;<br />
<br />
国软的通病,就是&quot;执行力&quot;,国软的学习劲头很足,今天提出要完善测试标准,明天提出要每周写工作报告,可是又有哪些东西能真正的去执行呢?<br />
<br />
导致这个问题的主要原因有两个:<br />
<br />
a.提出来的东西到底有没必要做,还是只是应付领导走个过场.<br />
<br />
b.谁来跟踪这些东西?员工写了工作报告,领导没有去查看,去反馈,员 工觉得写的也没意义,自然不会继续执行下去.<br />
<br />
12.管理混乱<br />
<br />
没有划分清楚员工的归属组织,员工并不明确他的上级领导是谁,导致有的员工处于游离状态,有的是员工又是多个领导,不懂要听谁的,有些人忙的要死,有些人 又闲的要命,最后搞的最痛苦的就是员工,导致员工离职.<br />
<br />
13.缺乏团队精神<br />
<br />
为什么会缺乏团队精神呢?并不是国软没有这方面的概念,国软也很希望培养员工的团队观念 和精神,<br />
<br />
无奈因为国软,一般都是一个人负责一个或者多个项目,连团队都没有,何来的团队精神?<br />
<br />
14.无法做到补 足<br />
<br />
一个项目一旦中途有人辞职,这个项目就会流产.一个员工一旦辞职,会有N个项目没人维护.A组的员工无法胜任B组的工作,归根结底就是组织上根本没有考虑 过组织变动对项目的影响,没有提前培养人员.<br />
<br />
15.一成不变和随心所欲<br />
<br />
有两类人一种是把前辈的东西COPY过来,不作任何修改,因为他深信,前辈的一定是对的,还有一类是不管前人怎么做的,一律不要,全凭自己的&quot;经验&quot;,随 心所欲,天马行空的进行自主研发,造成的结果就是错的还是错的,乱的更乱了.<br />
<br />
16.人才育成<br />
<br />
成本,还是成本,培养一个人要多少成 本?这就是国软做不大的原因,永远只能停留在&quot;作坊&quot;的原因.<br />
<br />
17.向心力.<br />
<br />
老板做的是事业,员工做的是事情, 这是国软员工的一致观点.<br />
<br />
18.恶性循环<br />
<br />
a.人员力量不足 -&gt; 接不了项目 -&gt; 收入少 -&gt; 人员流失.<br />
<br />
b.人员力量不足 -&gt; 强行接项目 -&gt; 亏本 -&gt; 破产.<br />
<br />
最后 我想说一句的是:成也国软,败也国软.<br />
<br />
说的不对的地方请大家指出,或者补充下没说到的地方.</p>]]></description>
			<link>http://www.ax.net.cn/archives/386/</link>
			<category domain="http://www.ax.net.cn/category/9/">兵法商法</category>
			<pubDate>Wed, 05 May 2010 09:42:38 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/385/</link>
			<guid>http://www.ax.net.cn/archives/385/</guid>
			<title>心浮气躁</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p>现在的人都心浮气躁。</p>
<p>一和他说东西，就想动手试试，不是坏事，可是总得明白要动手做什么吧；</p>
<p>几分钟前动手做的东西你再问他为什么这么做，他就在那反正反正一大堆，毫无原则、立场和理性可言；</p>
<p>写个文档要求按文档做页面，最终做的自己都不知道是什么，能交差么；</p>
<p>浮躁在于要表现价值或能力。</p>]]></description>
			<link>http://www.ax.net.cn/archives/385/</link>
			<category domain="http://www.ax.net.cn/category/2/">价值</category>
			<category domain="http://www.ax.net.cn/tag/%E6%B5%AE%E8%BA%81/">浮躁</category>
			<pubDate>Mon, 26 Apr 2010 15:12:25 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/384/</link>
			<guid>http://www.ax.net.cn/archives/384/</guid>
			<title>Web 设计与开发终极资源大全（下）</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p>Web 技术突飞猛进，Web 设计与开发者们可以选择的工具越来越多，Web 开发者的技巧不再只限于 HTML 和    服务器端编程，还需要精通各种第三方资源，这些第三方资源有时候比你的项目更复杂，更专业，你无法自己实现一切，借助一些 Web    API，你可以很方便地将大量优秀的第三方资源集成到自己的站点。本文是第二部分。</p>
<h3 class="subtitle">3. APIs</h3>
<p>以下 API 可以将很多现成的功能集成到你的站点：</p>
<ul>
    <li><a href="http://aws.amazon.com/alexatopsites/" title="Alexa Top Sites" target="new" rel="bookmark">Alexa Top Sites</a><br />
    这个 API 按 Alexa 排名返回网站列表</li>
    <li><a href="http://code.google.com/p/bitly-api/wiki/ApiDocumentation" title="bit.ly API" target="new" rel="bookmark">bit.ly API</a><br />
    bit.ly URL 缩短 API</li>
    <li><a href="http://www.blinksale.com/api" title="Blinksale API" target="new" rel="bookmark">Blinksale API</a><br />
    访问 Blinksale 数据。</li>
    <li><a href="http://foxrate.org/" title="FoXRate" target="new" rel="bookmark">FoXRate</a><br />
    货币汇率转换 API</li>
    <li><a href="http://developer.ebay.com/common/api/" title="eBay API" target="new" rel="bookmark">eBay API</a><br />
    eBay 的 API，可以向 eBay 提交货品。</li>
    <li><a href="http://apiwiki.twitter.com/" title="eBay API" target="new" rel="bookmark">Twitter API</a><br />
    Twitter API，用来访问 Twitter 数据，包括用户状态和信息。</li>
</ul>
<h3 class="subtitle">4.  IP 定位</h3>
<p>用户来自什么地方。</p>
<ul>
    <li><a href="http://www.opencrypt.com/ip-location.php" title="IP Location API" target="new" rel="bookmark">OpenCrypt IP  Location API</a><br />
    根据 IP 探测用户来自哪个国家</li>
    <p><img alt="" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p24.gif" /></p>
    <li><a href="http://www.phpclasses.org/browse/package/5680.html" title="IP  Details" target="new" rel="bookmark">IP Details</a><br />
    一个 PHP 类库，根据 IP 地址获取用户地理位置</li>
    <li><a href="http://software77.net/geo-ip/" title="GEO-IP" target="new" rel="bookmark">GEO-IP</a><br />
    IP 到国家对应数据库</li>
</ul>
<h3 class="subtitle">5.  图表</h3>
<ul>
    <li><a href="http://www.amcharts.com/" title="amCharts" target="new" rel="bookmark">amCharts</a><br />
    基于 Flash，支持 3D 图表</li>
    <p><img alt="" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p25.gif" /></p>
    <li><a href="http://www.fusioncharts.com/" title="FusionCharts" target="new" rel="bookmark">FusionCharts</a><br />
    漂亮的 3D 图表</li>
    <p><img alt="" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p26.gif" /></p>
    <li><a href="http://www.maani.us/xml_charts/index.php?menu=upgrade" title="XML/SWF Charts" target="new" rel="bookmark">XML/SWF Charts</a><br />
    可高度定制的 Flash 图表工具</li>
    <li><a href="http://www.jfree.org/jfreechart/" title="JFreeChart" target="new" rel="bookmark">JFreeChart</a><br />
    基于 Java 的免费图表工具</li>
    <li><a href="http://pchart.sourceforge.net/index.php" title="pChart" target="new" rel="bookmark">pChart</a><br />
    基于 PHP</li>
</ul>
<h3 class="subtitle">6. 地图</h3>
<ul>
    <li><a href="http://www.ammap.com/" title="amMaps" target="new" rel="bookmark">amMap</a><br />
    交互式地图工具，支持下钻式挖掘</li>
    <p><img alt="" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p27.gif" /></p>
    <li><a href="http://code.google.com/apis/chart/" title="Google Charts API" target="new" rel="bookmark">Google Charts API</a><br />
    来自 Google 地图工具，只是支持的地图尺寸有限</li>
    <p><img alt="" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p27.gif" /></p>
    <li><a href="http://www.flashmaps.com/" title="Flashmaps" target="new" rel="bookmark">Flashmaps</a><br />
    多个基于 Flash 的地图工具</li>
</ul>
<h3 class="subtitle">7. 音频播放器</h3>
<ul>
    <li><a href="http://musicplayer.sourceforge.net/" title="XSPF Web Music Player" target="new" rel="bookmark">XSPF Web Music Player</a><br />
    基于 Flash 的开源音频播放器</li>
    <p><img alt="" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p29.gif" /></p>
    <li><a href="http://www.flashmp3player.org/" title="Flash MP3 Player" target="new" rel="bookmark">Flash MP3 Player</a><br />
    免费 PHP + Flash MP3 播放器</li>
    <p><img alt="" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p30.gif" /></p>
    <li><a href="http://components.developers4web.com/mp3-flash-player" title="TSPlayer" target="new" rel="bookmark">TSPlayer</a><br />
    基于 Flash，支持换皮肤</li>
    <li><a href="http://www.e-phonic.com/mp3player/" title="E-Phonic MP3 Player" target="new" rel="bookmark">E-Phonic MP3 Player</a><br />
    轻量级 MP3 播放器，支持换肤，支持实时视效</li>
</ul>
<h3 class="subtitle">8. 视频播放器</h3>
<ul>
    <li><a href="http://www.osflv.com/" title="OS FLV" target="new" rel="bookmark">OS FLV</a><br />
    开源 Flash 视频播放器</li>
    <p><img alt="" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p31.gif" /></p>
    <li><a href="http://flowplayer.org/" title="Flowplayer" target="new" rel="bookmark">Flowplayer</a><br />
    很好用，高度可定制。</li>
    <p><img alt="" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p32.gif" /></p>
    <li><a href="http://www.longtailvideo.com/players/jw-flv-player/" title="JW  FLV Media Player" target="new" rel="bookmark">JW FLV Media Player</a><br />
    强大的 Flash 视频播放器</li>
    <li><a href="http://flvplayer.com/" title="FLV Player" target="new" rel="bookmark">FLV Player</a><br />
    漂亮的 FLV 播放器</li>
</ul>
<h3 class="subtitle">9. 视频转换</h3>
<ul>
    <li><a href="http://www.opencrypt.com/video-conversion.php" title="OpenCrypt  Video Conversion API" target="new" rel="bookmark">OpenCrypt Video  Conversion API</a><br />
    强大的视频转换 API，可生成 FLV 视频</li>
    <li><a href="http://heywatch.com/page/home" title="Hey!Watch" target="new" rel="bookmark">Hey!Watch</a><br />
    一个在线视频编码平台</li>
    <li><a href="http://vixy.net/" title="Online FLV Converter" target="new" rel="bookmark">Online FLV  Converter</a><br />
    在线 FLV 视频转换</li>
    <li><a href="http://www.travistidwell.com/flashvideo_api" title="FlashVideo  Module API" target="new" rel="bookmark">FlashVideo Module API</a><br />
    面向 Drupal 社区的 Flash 视频编码 API</li>
</ul>
<h3 class="subtitle">10. 所见即所得编辑器</h3>
<ul>
    <li><a href="http://tinymce.moxiecode.com/" title="TinyMCE" target="new" rel="bookmark">TinyMCE</a><br />
    一个轻量的，基于 JavaScript 的所见即所得编辑器</li>
    <p><img alt="" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p33.gif" /></p>
    <li><a href="http://trac.xinha.org/" title="XINHA" target="new" rel="bookmark">XINHA</a><br />
    功能完整的开源 WYSIWYG 编辑器</li>
    <p><img alt="" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p34.gif" /></p>
    <li><a href="http://nicedit.com/" title="NicEdit" target="new" rel="bookmark">NicEdit</a><br />
    一个简单的轻量级 WYSIWYG 编辑器</li>
    <li><a href="http://www.openwebware.com/" title="openWYSIWYG" target="new" rel="bookmark">openWYSIWYG</a><br />
    开源，跨浏览器 WYSIWYG 编辑器</li>
    <li><a href="http://ckeditor.com/" title="CKEditor" target="new" rel="bookmark">CKEditor</a><br />
    设计出众，功能丰富的 WYSIWYG 编辑器</li>
</ul>
<p>本文国际来源：<a href="http://www.noupe.com/tools/100-essential-web-development-tools.html">http://www.noupe.com/tools/100-essential-web-development-tools.html</a></p>]]></description>
			<link>http://www.ax.net.cn/archives/384/</link>
			<category domain="http://www.ax.net.cn/category/16/">JS</category>
			<category domain="http://www.ax.net.cn/tag/%E8%B5%84%E6%BA%90%E5%A4%A7%E5%85%A8/">资源大全</category>
			<category domain="http://www.ax.net.cn/tag/web/">web</category>
			<pubDate>Sat, 24 Apr 2010 11:48:13 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/383/</link>
			<guid>http://www.ax.net.cn/archives/383/</guid>
			<title>Web 设计与开发终极资源大全（上）</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p>Web 技术突飞猛进，Web 设计与开发者们可以选择的工具越来越多，Web 开发者的技巧不再只限于 HTML 和 服务器端编程，还需要精通各种第三方资源，这些第三方资源有时候比你的项目更复杂，更专业，你无法自己实现一切，借助一些 Web API，你可以很方便地将大量优秀的第三方资源集成到自己的站点。本文全面搜集 Web 开发中可能用到的各种第三方资源。</p>
<h3 class="subtitle">1. 函数与类库</h3>
<h4><span style="text-decoration: underline;">A. CAPTCHA</span></h4>
<p>CAPTCHA 用来防止恶意表单发布，以下 CAPTCHA  系统可以轻松集成到你的程序中：</p>
<p><a target="new" href="http://recaptcha.net/">reCAPTCHA</a></p>
<p>这是目前最流行的 CAPTCHA 机制，该机制同时是一个古籍数字化工程的一部分，用户在验证的同时，也帮助辨认一些不够清晰的估计扫描。reCAPTCHA 还有一个 <a target="new" href="http://search.cpan.org/dist/Captcha-reCAPTCHA/lib/Captcha/reCAPTCHA.pm">Perl 模块</a> 实现该功能。</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p1.gif" alt="" /></p>
<p><a target="new" href="http://www.phpcaptcha.org/">Securimage</a></p>
<p>这个一个免费的，开源 PHP CAPTCHA 脚本。</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p2.gif" alt="" /></p>
<p><a target="new" href="http://www.puremango.co.uk/2005/04/php_captcha_script_113/">freeCap</a></p>
<p>基于 GPL 协议的 CAPTCHA 脚本</p>
<p><a target="new" href="http://www.phpclasses.org/browse/package/1569.html">HN CAPTCHA</a></p>
<p>PHP CAPTCHA 脚本，基于 LGPL 协议</p>
<h4><span style="text-decoration: underline;">B. 日期处理</span></h4>
<p>日期操作并不轻松，尽管 PHP 和 Perl 内置了大量此类函数，但未必满足你的需要，以下是几个很好用的日期函数：</p>
<ul>
    <li><a target="new" href="http://pear.php.net/package/Date">PEAR Date</a><br />
    通用 PHP 日期类库</li>
    <li><a target="new" href="http://www.phpclasses.org/browse/package/1649.html">Date Class</a><br />
    PHP 类库，计算及其增减与日期差异</li>
    <li><a target="new" href="http://www.phpbuilder.com/columns/akent20000610.php3">Date manipulation in  PHP</a><br />
    PHPBuilder.com 上的一个教程，讲解如何进行日期处理</li>
    <li><a target="new" href="http://search.cpan.org/dist/Date-Calc/lib/Date/Calc.pod">Date::Calc  Perl Module</a><br />
    Perl模块，用于格列高利历法的日期计算</li>
</ul>
<h4><span style="text-decoration: underline;">C. 图形处理</span></h4>
<p>图片缩放，添加水印等：</p>
<ul>
    <li><a target="new" href="http://www.phpclasses.org/browse/package/3294.html">Image Manipulation Class</a><br />
    在 PHP 中缩放，反转，旋转图片</li>
    <li><a target="new" href="http://phpthumb.gxdlabs.com/">PHP Thumbnailer</a><br />
    一个轻量级图片缩略图工具</li>
    <li><a target="new" href="http://uk.php.net/manual/en/book.image.php">PHP GD</a><br />
    一个强大的图片处理类库</li>
    <li><a target="new" href="http://search.cpan.org/dist/GD/">Perl GD</a><br />
    Perl 图片处理模块</li>
</ul>
<h4><span style="text-decoration: underline;">D. 表单验证</span></h4>
<p>表单验证不仅保证用户填写的准确，还可以防止攻击：</p>
<ul>
    <li><a target="new" href="http://www.phpclasses.org/browse/package/1698.html">validaForms</a><br />
    一个 PHP 表单验证类库</li>
    <li><a target="new" href="http://www.phpclasses.org/browse/package/3632.html">User Input  Validation Class</a><br />
    一个 PHP 表单验证基础库</li>
    <li><a target="new" href="http://www.finalwebsites.com/snippets.php?id=15">Validate Form Fields  Script</a><br />
    另一个 PHP 表单验证基础库</li>
    <li><a target="new" href="http://search.cpan.org/%7Eshlomif/WWW-Form-1.18/lib/WWW/FieldValidator.pm">WWW::FieldValidator</a><br />
    一个简单的 Perl 表单验证模块</li>
</ul>
<h4><span style="text-decoration: underline;">E. 密码验证</span></h4>
<p>验证密码的复杂度</p>
<ul>
    <li><a target="new" href="http://rumkin.com/tools/password/passchk.php">Strength Test</a><br />
    一个 PHP 密码强度验证函数</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p3.gif" alt="" /></p>
    <li><a target="new" href="http://www.phpclasses.org/browse/package/2966.html">Password Checker</a><br />
    一个 PHP 类，用来验证密码强度</li>
    <li><a target="new" href="http://search.cpan.org/%7Echisel/Data-Password-Check-0.08/lib/Data/Password/Check.pm">Data::Password::Check </a><br />
    Perl 模块，用来验证密码强度</li>
</ul>
<h3 class="subtitle">2. Ajax 与 JavaScript</h3>
<h4><span style="text-decoration: underline;">A. 自动输入建议</span></h4>
<p>最早最成熟的自动输入建议应该是 Google 搜索条。</p>
<ul>
    <li><a target="new" href="http://devthought.com/blog/projects-news/2008/01/textboxlist-meets-autocompletion/">Facebook-Style  Autosuggest</a><br />
    Facebook 风格的自动输入建议</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p4.gif" alt="" /></p>
    <li><a target="new" href="http://www.brandspankingnew.net/specials/ajax_autosuggest/ajax_autosuggest_autocomplete.html">Autosuggest / Autocomplete with Ajax</a><br />
    基于 XML 和 JSON 数据源的自动输入建议工具</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p5.gif" alt="" /></p>
    <li><a target="new" href="http://wiki.github.com/madrobby/scriptaculous/ajax-autocompleter">Ajax.Autocompleter</a><br />
    基于 script.aculo.us 的输入自动完成工具</li>
    <li><a target="new" href="http://labs.adobe.com/technologies/spry/articles/data_api/apis/autosuggest.html">Adobe  Labs Spry Auto Suggest</a><br />
    由 Adobe 实验室提供的自动输入建议工具</li>
    <li><a target="new" href="http://mattberseth.com/blog/2007/12/creating_a_google_suggest_styl.html">Google  Suggest Style Filter</a><br />
    Google Suggest 风格的自动输入建议</li>
</ul>
<h4><span style="text-decoration: underline;">B. 日历</span></h4>
<p>在输入日期的地方，使用非常直观的日历面板</p>
<ul>
    <li><a target="new" href="http://dev.base86.com/scripts/vista-like_ajax_calendar_version_2.html">Vista-Like  Ajax Calendar</a><br />
    基于 Mootools，Vista 风格</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p6.gif" alt="" /></p>
    <li><a target="new" href="http://www.dhtmlgoodies.com/index.html?page=calendarScripts">JS  Calendar in DHTML Suite</a><br />
    基于 JavaScript ，支持多日历连接</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p7.gif" alt="" /></p>
    <li><a target="new" href="http://www.opencrypt.com/blog.php?a=29">AJAX Calendar with PHP and  MySQL</a><br />
    一个开源的 AJAX 日历控件</li>
    <li><a target="new" href="http://www.bmgadg.com/super_ajax_calendar.php">Super AJAX Calendar</a><br />
    一个基于 PHP 和 MySQL 的日历控件</li>
    <li><a target="new" href="http://www.dhtmlx.com/docs/products/dhtmlxScheduler/">dhtmlxScheduler</a><br />
    一个强大的事务日历</li>
</ul>
<h4>C. 滑动条</h4>
<p>滑动条可以更直观地进行数值的输入和选择</p>
<ul>
    <li><a target="new" href="http://www.filamentgroup.com/lab/developing_an_accessible_slider/">Accessible Slider</a><br />
    一个设计出众的滑动条控件</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p8.gif" alt="" /></p>
    <li><a target="new" href="http://www.phatfusion.net/slider/">Phatfusion Slider</a><br />
    一个基于 AJAX 的滑动条</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p9.gif" alt="" /></p>
    <li><a target="new" href="http://www.mathertel.de/AJAXEngine/S03_AJAXControls/ConnectionsTestPage.aspx">AJAXEngine  Sliders</a><br />
    AJAXEngine 项目中的滑动条</li>
    <li><a target="new" href="http://roshanbh.com.np/2008/01/slider-using-php-ajax-and-javascript.html">Slider Using PHP, Ajax And Javascript</a><br />
    一个简单实用的 AJAX 滑动条</li>
    <li><a target="new" href="http://webfx.eae.net/dhtml/slider/slider.html">WebFX Slider</a><br />
    基于 Apache 软件许可 2.0 的滑动条控件</li>
</ul>
<h4>D. 表格</h4>
<p>Ajax 表格，支持排序等功能</p>
<ul>
    <li><a target="new" href="http://www.extjs.com/playpen/ext-2.0/examples/grid/grid3.html">Grid3</a><br />
    作为 Ext JS 库一部分的表格控件</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p10.gif" alt="" /></p>
    <li><a target="new" href="http://dhtmlx.com/docs/products/dhtmlxGrid/">dhtmlxGrid</a><br />
    支持列排序和搜索</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p11.gif" alt="" /></p>
    <li><a target="new" href="http://www.frequency-decoder.com/2006/09/16/unobtrusive-table-sort-script-revisited">Unobtrusive  Table Sort Script</a><br />
    支持多列排序</li>
    <li><a target="new" href="http://www.opencrypt.com/blog.php?a=22">AJAX Data  Listings Engine</a><br />
    基于 PHP 和 MySQL</li>
    <li><a target="new" href="http://www.millstream.com.au/upload/code/tablekit/">TableKit</a><br />
    基于 Prototype JavaScript 框架</li>
</ul>
<h4>E. 可拖动内容</h4>
<p>Ajax-based draggable  content features can be very useful when used appropriately. Such tools  enable users to reorganize a page to suit their needs, and can also  serve as a basis for an interactive feature like a shopping basket.</p>
<ul>
    <li><a target="new" href="http://www.dhtmlgoodies.com/index.html?page=dragDrop">Draggable  Content Scripts</a><br />
    dhtmlgoodies.com 推出多种可拖放内容脚本，以及图片裁剪工具</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p12.gif" alt="" /></p>
    <li><a target="new" href="http://www.twinhelix.com/javascript/dragresize/">DragResize</a><br />
    支持尺寸修改功能</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p13.gif" alt="" /></p>
    <li><a target="new" href="http://tool-man.org/examples/sorting.html">Drag &amp; Drop Sortable  Lists</a><br />
    位置可调列表控件</li>
    <li><a target="new" href="http://wiki.github.com/madrobby/scriptaculous/draggable">Scriptaculous  Draggable</a><br />
    script.aculo.us 框架的一部分</li>
</ul>
<h4><span style="text-decoration: underline;">F. 图片放大</span></h4>
<p>类似 JavaScript 灯箱的图片放大显示控件</p>
<ul>
    <li><a target="new" href="http://highslide.com/">Highslide JS</a><br />
    在 Modal 窗口显示放大尺寸的图片</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p14.gif" alt="" /></p>
    <li><a target="new" href="http://cabel.name/2008/02/fancyzoom-10.html">FancyZoom</a><br />
    图片缩放显示</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p15.gif" alt="" /></p>
    <li><a target="new" href="http://valid.tjp.hu/tjpzoom/">TJPzoom 3</a><br />
    图片放大工具</li>
    <li><a target="new" href="http://www.xul.fr/ajax/ajax-image-gallery.html">Ajax Script To Scale  Images</a><br />
    显示缩略图的放大尺寸版</li>
</ul>
<h4><span style="text-decoration: underline;">G. 相册和幻灯</span></h4>
<p>用相册或幻灯方式显示系列图片</p>
<ul>
    <li><a target="new" href="http://minishowcase.net/">minishowcase</a><br />
    基于 AJAX 和 JSON 的相册控件</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p16.gif" alt="" /></p>
    <li><a target="new" href="http://www.leigeber.com/2008/12/javascript-slideshow/">Animated  JavaScript Slideshow</a><br />
    轻量级 JavaScript 图片幻灯效果，支持运动字幕</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p17.gif" alt="" /></p>
    <li><a target="new" href="http://sonspring.com/journal/hoverbox-image-gallery">Hoverbox  Image Gallery</a><br />
    简单的相册，鼠标在缩略图上移动时显示原图</li>
    <li><a target="new" href="http://slideshow.triptracker.net/">TripTracker</a><br />
    以幻灯方式显示图片</li>
    <li><a target="new" href="http://www.agilegallery.com/ajax-photo-gallery.html">Agile Gallery (Ajax  Version)</a><br />
    AJAX 相册工具</li>
</ul>
<h4><span style="text-decoration: underline;">H. 打分工具</span></h4>
<p>非常直观的打分控件</p>
<ul>
    <li><a target="new" href="http://www.nickstakenburg.com/projects/starbox/">Starbox</a><br />
    基于 Prototype JavaScript 框架</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p18.gif" alt="" /></p>
    <li><a target="new" href="http://masugadesign.com/the-lab/scripts/unobtrusive-ajax-star-rating-bar/">Unobtrusive  AJAX Star Rating Bar</a><br />
    基于 PHP 和 AJAX</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p19.gif" alt="" /></p>
    <li><a target="new" href="http://www.yvoschaap.com/index.php/weblog/css_star_rater_ajax_version/">CSS:  Star Rater Ajax Version</a><br />
    基于 AJAX</li>
</ul>
<h4><span style="text-decoration: underline;">I. 取色板</span></h4>
<p>用于取色</p>
<ul>
    <li><a target="new" href="http://jscolor.com/">jscolor</a><br />
    简单的弹出式取色板</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p20.gif" alt="" /></p>
    <li><a target="new" href="http://www.nogray.com/color_picker.php">JavaScript Color Picker</a><br />
    支持 RGB，HSL，以及16进制图片色值</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p21.gif" alt="" /></p>
    <li><a target="new" href="http://www.softcomplex.com/products/tigra_color_picker/demo1.html">Tigra Color  Picker</a><br />
    非常简单的取色板</li>
    <li><a target="new" href="http://johndyer.name/post/2007/09/26/PhotoShop-like-JavaScript-Color-Picker.aspx">Photoshop-like JavaScript Color Picker</a><br />
    支持色调和饱和度选项</li>
    <li><a target="new" href="http://www.eyecon.ro/colorpicker/">ColorPicker &ndash; jQuery Plugin</a><br />
    基于 jQuery</li>
    <li><a target="new" href="http://nofunc.org/DHTML_Color_Picker/">DHTML Color Picker</a><br />
    基于 DHTML</li>
</ul>
<h4><span style="text-decoration: underline;">J. 进度条</span></h4>
<ul>
    <li><a target="new" href="http://www.bram.us/projects/js_bramus/jsprogressbarhandler/">jsProgressBarHandler</a><br />
    非常灵活</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p22.gif" alt="" /></p>
    <li><a target="new" href="http://thecodecentral.com/2008/01/17/a-yui-loading-panel-widget">YUI Loading  Panel Widget</a><br />
    非常漂亮.</li>
    <p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-18/web_dev_resource_p23.gif" alt="" /></p>
    <li><a target="new" href="http://www.webappers.com/2007/07/31/webappers-simple-ajax-progress-bar-with-css/">Simple Javascript Progress Bar with CSS</a><br />
    简单实用.</li>
    <li><a target="new" href="http://www.uploadify.com/">Uploadify</a><br />
    基于 jQuery.</li>
</ul>
<p>本文国际来源：<a href="http://www.noupe.com/tools/100-essential-web-development-tools.html">http://www.noupe.com/tools/100-essential-web-development-tools.html</a></p>]]></description>
			<link>http://www.ax.net.cn/archives/383/</link>
			<category domain="http://www.ax.net.cn/category/16/">JS</category>
			<category domain="http://www.ax.net.cn/tag/%E8%B5%84%E6%BA%90%E5%A4%A7%E5%85%A8/">资源大全</category>
			<category domain="http://www.ax.net.cn/tag/web/">web</category>
			<pubDate>Sat, 24 Apr 2010 11:43:46 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/382/</link>
			<guid>http://www.ax.net.cn/archives/382/</guid>
			<title>jQuery 表格工具集</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p>本文搜集了大量 jQuery 表格插件，帮助 Web 设计者更好地驾御 HTML 表格，你可以对表格进行横向和竖向排序，设置固定表头，对表格进行搜索，对大表格进行分页，对表格进行滚动，拖放操作等等。这些插件很多都包含详细的教程。</p>
<h2 class="subtitle">jQuery 表格插件</h2>
<p><a href="http://flexigrid.info/">Flexigrid &ndash; Web 2.0 Javscript Grid for  jQuery</a> - 可变列宽，自动适应表头宽度，可通过 Ajax 连接 XML 数据源，类似 Ext Grid，但基于 jQuery 因此更轻量小巧。</p>
<p><a href="http://flexigrid.info/"><img alt="" class="article" src="http://media.smashingmagazine.com/cdn_noupe/wp-content/uploads/2010/04/jquerytables_01.jpg" /></a></p>
<p><a href="http://www.chromaloop.com/posts/chromatable-jquery-plugin">Chromatable  JQuery Plugin</a> - 固定表头，可滚动内容区，内容区滚动的时候表头位置保持不变。</p>
<p><a href="http://www.chromaloop.com/posts/chromatable-jquery-plugin"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_02.jpg" /></a></p>
<p><a href="http://www.reconstrukt.com/ingrid/">Ingrid,  the jQuery Datagrid</a> - 在 HTML 表格上加入列宽调整，分页，排序，行列式样等功能（<a href="http://www.reconstrukt.com/ingrid/src/example1.html">演示</a>）。</p>
<p><a href="http://www.reconstrukt.com/ingrid/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_03.jpg" /></a></p>
<p><a href="http://www.hanpau.com/index.php?page=jqtreetable">JQTreeTable</a> - 在表格中加入树形结构</p>
<p><a href="http://www.hanpau.com/index.php?page=jqtreetable"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_04.jpg" /></a></p>
<p><a href="http://www.webtoolkit.info/scrollable-html-table.html">Scrollable  HTML table</a> - 将普通 HTML 表格变为可滚动状态。将表头部分放入 THEAD 区，内容部分放入 TBODY 区，脚注部分放入 TFOOT 区域，引用 webtoolkit.scrollabletable.js 文件，然后在每个表格后面创建 ScrollableTable() 对象即可（<a href="http://www.webtoolkit.info/demo/scrollable-html-table">演示</a>）。</p>
<p><a href="http://www.webtoolkit.info/scrollable-html-table.html"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_05.jpg" /></a></p>
<p><a href="http://www.sprymedia.co.uk/article/KeyTable">KeyTable</a> - 象 Excel 那样，在单元格之间巡游，可以现场编辑。</p>
<p><a href="http://www.sprymedia.co.uk/article/KeyTable"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_06.jpg" /></a></p>
<p><a href="http://blog.rebeccamurphey.com/2007/12/17/graph-table-data-jquery-flot/">graphTable</a> - 借助 <a href="http://code.google.com/p/flot/">flot</a> 将 HTML 表格中的内容变成图形（<a href="http://www.rebeccamurphey.com/jquery/graphTable/table.html">演示</a>）。</p>
<p><a href="http://blog.rebeccamurphey.com/2007/12/17/graph-table-data-jquery-flot/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_07.jpg" /></a></p>
<p><a href="http://www.datatables.net/">DataTables</a> - 非常强大的 jQuery 表格插件，可变宽页码浏览，现场过滤。多列排序，自动探测数据类型，智能列宽，可从几乎任何数据源获取数据。</p>
<p><a href="http://www.datatables.net/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_08.jpg" /></a></p>
<p><a href="http://www.trirand.com/blog/">jqGrid  Plugin</a> - 基于 Ajax 的 jQuery 表格插件，可以 Ajax 方式从服务器端获取数据填充进来（<a href="http://trirand.com/blog/jqgrid/jqgrid.html">演示</a>）。</p>
<p><a href="http://www.trirand.com/blog/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_09.jpg" /></a></p>
<p><a href="http://www.filamentgroup.com/lab/jquery_visualize_plugin_accessible_charts_graphs_from_tables_html5_canvas/">Visualize:  Accessible Charts &amp; Graphs from Table Elements</a> - 从 HTML 表格收集数据，并借助 HTML5 Canvas 对象转换为图表。</p>
<p><a href="http://www.filamentgroup.com/lab/jquery_visualize_plugin_accessible_charts_graphs_from_tables_html5_canvas/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_10.jpg" /></a></p>
<p><a href="http://boriscy.github.com/grider/">Grider</a> - 一个简单的 jQuery 插件，可以对 HTML 表格进行计算，平均，累加，最大值，最小值等。</p>
<p><a href="http://boriscy.github.com/grider/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_11.jpg" /></a></p>
<h2 class="subtitle">表格功能增强</h2>
<p><a href="http://www.isocra.com/2008/02/table-drag-and-drop-jquery-plugin/">Table  Drag and Drop</a> - 通过拖放，对表格中的数据重新排列，可以设置禁止拖放的行。</p>
<p><a href="http://www.isocra.com/2008/02/table-drag-and-drop-jquery-plugin/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_12.jpg" /></a></p>
<p><a href="http://plugins.jquery.com/project/tablePagination">Table  Pagination</a> - 在表格下方自动生成分页导航。</p>
<p><a href="http://plugins.jquery.com/project/tablePagination"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_13.jpg" /></a></p>
<p><a href="http://pure-essence.net/2008/02/26/jquery-plugin-tablerowcheckboxtoggle/">tableRowCheckboxToggle</a> - 可根据 class name 对表格的行自动 check on/off</p>
<p><a href="http://pure-essence.net/2008/02/26/jquery-plugin-tablerowcheckboxtoggle/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_14.jpg" /></a></p>
<p><a href="http://plugins.jquery.com/project/bstablecrosshair">BS Table  Crosshair Plugin</a> - 鼠标在表格上移动时，所经过的单元格自动交叉加亮</p>
<p><a href="http://plugins.jquery.com/project/bstablecrosshair"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_15.jpg" /></a></p>
<p><a href="http://code.google.com/p/jqtable2csv/">jqtable2csv</a> - 将 HTML 表格转换为 SVG 字符串。</p>
<p><a href="http://franca.exofire.net/jq/colorize">Colorize</a> - 自动对表格间隔行使用不同背景颜色</p>
<p><a href="http://franca.exofire.net/jq/colorize"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_16.jpg" /></a></p>
<p><a href="http://www.jankoatwarpspeed.com/post/2009/07/20/Expand-table-rows-with-jQuery-jExpand-plugin.aspx">jExpand</a> - 一个非常轻量的 jQuery 插件，可以展开/关闭表格单元格，使表格可以容纳更多内容。</p>
<p><a href="http://www.jankoatwarpspeed.com/post/2009/07/20/Expand-table-rows-with-jQuery-jExpand-plugin.aspx"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_17.jpg" /></a></p>
<p><a href="http://p.sohei.org/jquery-plugins/columnhover/">columnHover</a> - 鼠标经过时，可以整列加亮，甚至支持 colspans 和 rowspans</p>
<p><a href="http://p.sohei.org/jquery-plugins/columnhover/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_18.jpg" /></a></p>
<p><a href="http://www.jnathanson.com/blog/client/jquery/heatcolor/index.cfm">HeatColor</a> - 根据规则，或自动对表格中的值进行分析，对不同范围的值按不同颜色区分。</p>
<p><a href="http://www.jnathanson.com/blog/client/jquery/heatcolor/index.cfm"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_19.jpg" /></a></p>
<p><a href="http://fixedheadertable.mmalek.com/">Fixed  Header Table</a> - 固定表头可滚动表格</p>
<p><a href="http://fixedheadertable.mmalek.com/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_20.jpg" /></a></p>
<h2 class="subtitle">表格搜索，筛选</h2>
<p><a href="http://ideamill.synaptrixgroup.com/?page_id=16">tableFilter</a> - 给表格添加简单的筛选功能。</p>
<p><a href="http://ideamill.synaptrixgroup.com/?page_id=16"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_21.jpg" /></a></p>
<p><a href="http://gregweber.info/projects/uitablefilter">uiTableFilter</a> - 根据条件筛选（隐藏）表格行</p>
<p><a href="http://gregweber.info/projects/uitablefilter"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_22.jpg" /></a></p>
<p><a href="http://tablesorter.com/docs/">Tablesorter  2.0</a> - 将普通的，拥有 THEAD 和 TBODY 标签的表格转换为可排序表格，可以分析多种数据，支持多列排序。</p>
<p><a href="http://tablesorter.com/docs/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_23.jpg" /></a></p>
<p><a href="http://www.picnet.com.au/picnet_table_filter.html">PicNet Table  Filter</a> - 实时的，Google 式筛选功能</p>
<p><a href="http://www.picnet.com.au/picnet_table_filter.html"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_24.jpg" /></a></p>
<p><a href="http://tinysort.sjeiti.com/">jQuery  tinysort</a> - 排序</p>
<p><a href="http://tinysort.sjeiti.com/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_25.jpg" /></a></p>
<p><a href="http://www.digitalinferno.net/blog/jquery-plugin-livefilter-1-1/">LiveFilter  1.1</a> - 非常轻量的表格筛选插件，部署非常简单。</p>
<p><a href="http://www.digitalinferno.net/blog/jquery-plugin-livefilter-1-1/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_26.jpg" /></a></p>
<p><a href="http://code.google.com/p/jqtablesearch/">jQtablesearch</a> - 快速搜索，非常快</p>
<p><a href="http://code.google.com/p/jqtablesearch/"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_27.jpg" /></a></p>
<p><a href="http://github.com/riklomas/quicksearch">Quicksearch</a> - 简单的搜索功能</p>
<h2 class="subtitle">jQuery 现场编辑</h2>
<p><a href="http://dev.iceburg.net/jquery/tableEditor/demo.php">TableEditor &ndash;  Flexible in place editing of TableSorter</a> - 现场编辑表格内容，用户可以插入 Ajax 机制回存数据</p>
<p><a href="http://dev.iceburg.net/jquery/tableEditor/demo.php"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_28.jpg" /></a></p>
<p><a href="http://sites.google.com/a/zoqui.com/www/jgrideditor">jGridEditor</a> - 现场编辑，可配置 Ajax 回存数据</p>
<p><a href="http://sites.google.com/a/zoqui.com/www/jgrideditor"><img alt="" class="article" src="http://218.16.124.218/i-host/jquery-table/jquerytables_29.jpg" /></a></p>
<p>本材料原始来源：Nope <a href="http://www.noupe.com/javascript/jquery-html-table-toolbox.html">jQuery HTML Table Toolbox</a> (原文作者:<em>Paul Andrew</em>)</p>]]></description>
			<link>http://www.ax.net.cn/archives/382/</link>
			<category domain="http://www.ax.net.cn/category/16/">JS</category>
			<category domain="http://www.ax.net.cn/tag/jquery/">jquery</category>
			<category domain="http://www.ax.net.cn/tag/%E8%A1%A8%E6%A0%BC/">表格</category>
			<pubDate>Sat, 24 Apr 2010 11:40:12 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/381/</link>
			<guid>http://www.ax.net.cn/archives/381/</guid>
			<title>ubuntu 9.10 编译安装 Wesnoth1.8</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p>Wesnoth1.8 （韦诺之战1.8）新近发布，作为linux下的一款可玩性比较高的游戏我当然想尝尝鲜啦。下面是它的编译方法。</p>
<p>&nbsp;</p>
<p>构建环境</p>
<pre class="code bash"><span class="kw2">sudo</span> <span class="kw2">apt-get</span> update <span class="sy0">&amp;&amp;</span> <span class="kw2">sudo</span> <span class="kw2">apt-get</span> upgrade<br /><span class="kw2">sudo</span> <span class="kw2">apt-get</span> <span class="kw2">install</span> build-essential scons <br /><span class="kw2">sudo</span> <span class="kw2">apt-get</span> <span class="kw2">install</span> libboost1.40-all-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev <span class="kw2">gettext</span> python2.6-dev libx11-dev libfribidi-dev libpango1.0-dev liblua5.1-0-dev<br /><br />到这里下载 http://www.wesnoth.org/wiki/Download <br />wesnoth-1.8.tar.bz2 文件<br /><br /><span class="kw3">cd</span> ~<span class="sy0">/</span>down<br /><span class="kw2">tar</span> jxfv wesnoth-1.8.tar.bz2<br /><span class="kw3">cd</span> wesnoth-<span class="nu0">1.8</span><br />scons<br /><span class="kw2">sudo</span> scons <span class="kw2">install</span></pre>]]></description>
			<link>http://www.ax.net.cn/archives/381/</link>
			<category domain="http://www.ax.net.cn/category/10/">系统</category>
			<category domain="http://www.ax.net.cn/tag/%E7%BC%96%E8%AF%91/">编译</category>
			<category domain="http://www.ax.net.cn/tag/wesnoth/">wesnoth</category>
			<category domain="http://www.ax.net.cn/tag/%E9%9F%A6%E8%AF%BA%E4%B9%8B%E6%88%98/">韦诺之战</category>
			<category domain="http://www.ax.net.cn/tag/ubuntu/">ubuntu</category>
			<pubDate>Mon, 19 Apr 2010 12:51:29 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/380/</link>
			<guid>http://www.ax.net.cn/archives/380/</guid>
			<title>10 个最酷的 Linux 单行命令</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : sudo !!

以 root 帐户执行上一条命令。

python -m SimpleHTTPServer

利用 Python 搭建一个简单的 Web 服务器，可通过 http://$HOSTNAME:8000 访问。

:w !sudo tee %

在 Vim 中无需权限保存编辑的文件。

cd -

更改到上一次访问的目录。

^foo^bar

将上一条命令中的 foo 替换为 bar，并执行。

cp filename{,.bak}

快速备份或复制文件。

mtr google.com

traceroute + ping。

!whatever:p

搜索命令历史，但不执行。

$ssh-copy-id user@host

将 ssh keys 复制到 user@host 以启用无密码 SSH 登录。

ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg

把 Linux 桌面录制为视频。]]></description>
			<link>http://www.ax.net.cn/archives/380/</link>
			<category domain="http://www.ax.net.cn/category/10/">系统</category>
			<category domain="http://www.ax.net.cn/tag/%E5%91%BD%E4%BB%A4/">命令</category>
			<category domain="http://www.ax.net.cn/tag/linux/">linux</category>
			<pubDate>Fri, 09 Apr 2010 18:08:41 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/379/</link>
			<guid>http://www.ax.net.cn/archives/379/</guid>
			<title>让PHP断点续传[下载]</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <div class="codeText">
<div class="codeHead">PHP代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="vars">$fname</span><span>&nbsp;=&nbsp;</span><span class="string">'./MMLDZG.mp3'</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="vars">$fp</span><span>&nbsp;=&nbsp;</span><span class="func">fopen</span><span>(</span><span class="vars">$fname</span><span>,</span><span class="string">'rb'</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="vars">$fsize</span><span>&nbsp;=&nbsp;</span><span class="func">filesize</span><span>(</span><span class="vars">$fname</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">if</span><span>&nbsp;(isset(</span><span class="vars">$_SERVER</span><span>[</span><span class="string">'HTTP_RANGE'</span><span>])&nbsp;&amp;&amp;&nbsp;(</span><span class="vars">$_SERVER</span><span>[</span><span class="string">'HTTP_RANGE'</span><span>]&nbsp;!=&nbsp;</span><span class="string">&quot;&quot;</span><span>)&nbsp;&amp;&amp;&nbsp;preg_match(</span><span class="string">&quot;/^bytes=([0-9]+)-$/i&quot;</span><span>,&nbsp;</span><span class="vars">$_SERVER</span><span>[</span><span class="string">'HTTP_RANGE'</span><span>],&nbsp;</span><span class="vars">$match</span><span>)&nbsp;&amp;&amp;&nbsp;(</span><span class="vars">$match</span><span>[1]&nbsp;&lt;&nbsp;</span><span class="vars">$fsize</span><span>))&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$start</span><span>&nbsp;=&nbsp;</span><span class="vars">$match</span><span>[1];&nbsp;}&nbsp;</span><span class="keyword">else</span><span>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="vars">$start</span><span>&nbsp;=&nbsp;0;&nbsp;}&nbsp;@header(</span><span class="string">&quot;Cache-control:&nbsp;public&quot;</span><span>);&nbsp;@header(</span><span class="string">&quot;Pragma:&nbsp;public&quot;</span><span>);&nbsp;</span><span class="keyword">if</span><span>&nbsp;(</span><span class="vars">$star</span><span>--&gt;&nbsp;0)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">fseek</span><span>(</span><span class="vars">$fp</span><span>,&nbsp;</span><span class="vars">$start</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;Header(<span class="string">&quot;HTTP/1.1&nbsp;206&nbsp;Partial&nbsp;Content&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;Header(<span class="string">&quot;Content-Length:&nbsp;&quot;</span><span>&nbsp;.&nbsp;(</span><span class="vars">$fsize</span><span>&nbsp;-&nbsp;</span><span class="vars">$start</span><span>));&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;Header(<span class="string">&quot;Content-Ranges:&nbsp;bytes&quot;</span><span>&nbsp;.&nbsp;</span><span class="vars">$start</span><span>&nbsp;.&nbsp;</span><span class="string">&quot;-&quot;</span><span>&nbsp;.&nbsp;(</span><span class="vars">$fsize</span><span>&nbsp;-&nbsp;1)&nbsp;.&nbsp;</span><span class="string">&quot;/&quot;</span><span>&nbsp;.&nbsp;</span><span class="vars">$fsize</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;<span class="keyword">else</span><span>&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;header(<span class="string">&quot;Content-Length:&nbsp;$fsize&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;Header(<span class="string">&quot;Accept-Ranges:&nbsp;bytes&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>@header(<span class="string">&quot;Content-Type:&nbsp;application/octet-stream&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span>@header(<span class="string">&quot;Content-Disposition:&nbsp;attachment;filename=mmdld.mp3&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="func">fpassthru</span><span>(</span><span class="vars">$fp</span><span>);&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;</p>
<p>fpassthru() 函数输出文件指针处的所有剩余数据。</p>
<p>该函数将给定的文件指针从当前的位置读取到 EOF，并把结果写到输出缓冲区。</p>
<p>引用：http://www.c1991.com/article/197.html</p>]]></description>
			<link>http://www.ax.net.cn/archives/379/</link>
			<category domain="http://www.ax.net.cn/category/8/">php</category>
			<category domain="http://www.ax.net.cn/tag/%E7%BB%AD%E4%BC%A0/">续传</category>
			<category domain="http://www.ax.net.cn/tag/php/">php</category>
			<pubDate>Fri, 02 Apr 2010 10:04:28 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/378/</link>
			<guid>http://www.ax.net.cn/archives/378/</guid>
			<title>ubuntu下编译nginx0.8.34时的ssl问题</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p>ubuntu下编译nginx0.8.34时的ssl问题<br />
在ubuntu9.10下编译nginx0.8.34时的总是提示ssl模块找不到的问题。可是我的openssl明明装了呀。</p>
<p>折腾了有一会了，发现有libssl-dev这个开发库，安装后一试，果然问题解决。</p>]]></description>
			<link>http://www.ax.net.cn/archives/378/</link>
			<category domain="http://www.ax.net.cn/category/10/">系统</category>
			<category domain="http://www.ax.net.cn/tag/libssl/">libssl</category>
			<pubDate>Wed, 24 Mar 2010 12:54:08 +0000</pubDate>
		</item>
		<item>
			<link>http://www.ax.net.cn/archives/377/</link>
			<guid>http://www.ax.net.cn/archives/377/</guid>
			<title>2008年写的数字大学网站策划</title>
			<author>(admin)</author>
			<description><![CDATA[朝闻道的“爱学”日志 ( http://www.ax.net.cn/ ) : <p align="left"><strong><font size="4">数字大学</font></strong> <br />
实现目标： <br />
1.为数字中国内的项目招商提供点评以及指导合作伙伴经营项目； <br />
2.吸收管理研究者，普及管理知识，为储备人才作准备； <br />
3.对失败案例作分析，以便寻求成功的新路子； <br />
4.提高自身管理能力，让自身管理团队具有市场敏感性、协作敏感性； <br />
5.完善自身管理体制，制定出有自身管理特色的管理体系，使其成为真正的特有行业缔造者； <br />
6.普及自身行业在新管理中的重要性，增加自身市场地位； <br />
7.成为健全的管理文档资料库； <br />
8.为管理咨询、管理培训行业服务。 <br />
<br />
基本任务： <br />
数字大学应充分体现数字中国的新行业特性，从介绍数字中国各项服务的现实意义出发，使内部员工不会迷失方向，外部观望者对其充满希望。同时数字大学也应该充分与周边行业结合，以便让他人过渡并接受数字中国服务； <br />
数字中国应该有准备作为持续长期发展的企业、行业，它的服务周期由它的服务使命决定，将会超过一代人甚至几代人的生命周期，那么就得从现在开始做好储备人才的工作。由于数字中国的特殊性（新媒体、新销售渠道、新体验、新服务、新行业），数字大学应该组织研究结合了数字中国的新管理学，只有新管理学的精英才能成为数字中国将来的管理人员； <br />
数字中国就像大章鱼，终端机则像大章鱼的每个触须，在数字中国向其它行业扩展的时候势必会遇到或多或少的阻力，那么部分失利也就不可避免。数字大学建立供研究讨论平台，使各个领域的管理者均能各抒己见。案例分析也是猎头（寻找有能力的管理者）、企业（寻找自己企业的千里马）、管理者（博览众家之长与挑战自我）最喜欢来的地方； <br />
管理最忌闭门造车。数字中国如此，其它行业更是如此。数字大学应建立各行业能反应管理动向的文章、专题、书籍资料库，使其成为真正的管理指南车，让管理者具有市场敏感性、协作敏感性； <br />
管理不应该脱离社会现状。从管理热潮兴起开始，管理一致是少部分人的专利。数字大学要想将数字中国带来的新管理普及开，应该紧密与教育培训合作，同时让其更接近大学课程； <br />
<br />
谁是数字大学的客户： <br />
要让数字中国朝着规划的方向前进，数字中国的所有员工就得充分明白自己该怎么做才能算是为数字中国的发展付出了努力。数字大学的第一类客户应该就是数字中国的内部员工； <br />
数字中国正式推出后，外界第一想法就是了解数字中国、为其所用，那么这些人就是数字大学的第二类客户； <br />
并不是任何人都能有效利用数字中国服务使之为其带来便利，对由数字中国衍生出的新管理的追求者就是数字大学的第三类客户； <br />
新事物的诞生往往都是默默无闻的，没有人会关注一个看来和自己毫不相干的事物。数字大学提供行业内能反应管理动向资料势必能吸引第四类客户，因为迄今为止还没有这类网站； <br />
第四类客户是没有忠诚度的，因为他们看不到自身在网站中的位置与角色，他们只是路过看看而已。通过案例分析、点评，让他们有所贡献，会使他们扎根成为第五类客户； <br />
三、四、五类用户将贯穿各个行业，包括教育培训。 <br />
<br />
设立服务项目： <br />
1. 数字时代：介绍数字中国的各项已经公布的服务特色、现实意义、发展远景； <br />
2. 电子商务：介绍数字中国与电子商务的关系，使数字中国成为影响管理决策的重要因素； <br />
3. 数字咨询：发放能反应各行业管理动态的咨询； <br />
4. 数字管理：以往管理结合数字中国的一些基本思路、案例探讨； <br />
5. 数字学院：咨询、培训、合作类信息。&nbsp;<br />
<br />
数字大学网站服务栏目 <br />
根据上文提及的八项实现目标现将数字大学网站服务栏目规划如下： <br />
<br />
1. 数字时代：介绍数字中国的各项已经公布的服务特色、现实意义、发展远景；（新闻形式发布，理想状态为维基模式） <br />
a) 数字生活 介绍数字中国提供服务如何改善生活； <br />
b) 数字信息 介绍各行业如何利用网络获取有效信息； <br />
c) 数字娱乐 介绍如果通过数字中国的服务与朋友一起娱乐； <br />
d) 数字教育 介绍网络上的一些常用名词、以及信息获取方式； <br />
e) 数字交友 介绍如何通过数字中国结交朋友； <br />
f) 数字购物 介绍通过数字中国购物的方便之处。 <br />
2. 电子商务：介绍数字中国与电子商务的关系，使数字中国成为影响管理决策的重要因素；（以新闻加评论形式发布） <br />
a) 数字与营销 介绍互联网与市场营销的关系； <br />
b) 电子商务 介绍如何将数字中国融入管理成为电子商务； <br />
c) 电子商务与控制 <br />
d) 电子商务与协调 <br />
e) 电子商务与报告 <br />
f) 电子商务与创新 <br />
g) 电子商务与计划 <br />
h) 电子商务与人事 <br />
i) 电子商务与企业家 <br />
j) 电子商务论文 <br />
3. 数字咨询：发放能反应各行业管理动态的咨询；（以新闻加评论形式发布） <br />
a) 常规动态 发布企业正常管理动态； <br />
b) 风险行为 发布企业危机预警信息； <br />
c) 年度报告 对关注企业发布周期性年度报告，以后管理动向； <br />
4. 数字管理：以往管理结合数字中国的一些基本思路、案例探讨；（以讨论组的模块形式发布） <br />
a) 成功案例分析 <br />
b) 典型案例分析 <br />
c) 电子商务案例点评 <br />
5. 数字学院：咨询、培训、合作类信息。（以BLOG与专题形式发布） <br />
a) 管理问答 <br />
b) 培训方BLOG <br />
c) 招生咨询</p>]]></description>
			<link>http://www.ax.net.cn/archives/377/</link>
			<category domain="http://www.ax.net.cn/category/1/">人生</category>
			<category domain="http://www.ax.net.cn/tag/%E7%BD%91%E7%AB%99%E7%AD%96%E5%88%92/">网站策划</category>
			<category domain="http://www.ax.net.cn/tag/%E6%95%B0%E5%AD%97%E5%A4%A7%E5%AD%A6/">数字大学</category>
			<pubDate>Mon, 22 Mar 2010 22:44:03 +0000</pubDate>
		</item>
	</channel>
</rss>

