<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_禹过天晴</title><subtitle type="text">积小胜为大胜，以空间换时间</subtitle><id>http://feed.cnblogs.com/blog/u/8917/rss</id><updated>2011-12-27T13:56:01Z</updated><author><name>禹过天晴</name><uri>http://www.cnblogs.com/spymaster/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/spymaster/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/8917/rss"/><entry><id>http://www.cnblogs.com/spymaster/archive/2011/12/27/2304025.html</id><title type="text">(转)什么叫年终奖?</title><summary type="text">节选自己 http://money.msn.com.cn/joblife/20111227/16321347264.shtml 从前有只羊，每天干8小时的活。有一天主人告诉它：多干活有奖励。于是羊每天干10小时。此后主人开始把它身上的羊毛剪下三分之一。年底了，主人给它织了件毛衣，然后告诉它：“诺，这是你的奖励，明年继续努力！”</summary><published>2011-12-27T13:56:00Z</published><updated>2011-12-27T13:56:00Z</updated><author><name>禹过天晴</name><uri>http://www.cnblogs.com/spymaster/</uri></author><link rel="alternate" href="http://www.cnblogs.com/spymaster/archive/2011/12/27/2304025.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/spymaster/archive/2011/12/27/2304025.html"/><content type="html">&lt;p&gt;节选自己 &lt;a href="http://money.msn.com.cn/joblife/20111227/16321347264.shtml"&gt;http://money.msn.com.cn/joblife/20111227/16321347264.shtml&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;从前有只羊，每天干8小时的活。有一天主人告诉它：多干活有奖励。于是羊每天干10小时。此后主人开始把它身上的羊毛剪下三分之一。年底了，主人给它织了件毛衣，然后告诉它：&amp;#8220;诺，这是你的奖励，明年继续努力！&amp;#8221;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/spymaster/aggbug/2304025.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/spymaster/archive/2011/12/27/2304025.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/spymaster/archive/2011/12/13/2285543.html</id><title type="text">(原)产品化：架构、过程管理</title><summary type="text">背景：1、产品化是我们坚定不移的目标！ 2、产品化是我日常工作的一部份。</summary><published>2011-12-13T00:53:00Z</published><updated>2011-12-13T00:53:00Z</updated><author><name>禹过天晴</name><uri>http://www.cnblogs.com/spymaster/</uri></author><link rel="alternate" href="http://www.cnblogs.com/spymaster/archive/2011/12/13/2285543.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/spymaster/archive/2011/12/13/2285543.html"/><content type="html">&lt;p&gt;&lt;strong&gt;背景：1、产品化是我们坚定不移的目标！&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2、产品化是我日常工作的一部份。&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片1.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片2.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片3.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片4.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片5.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片6.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片7.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片8.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片9.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片10.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片11.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片12.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片13.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片14.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/产品化：架构、过程管理/幻灯片15.JPG" width="960" longdesc="" height="720" /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/spymaster/aggbug/2285543.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/spymaster/archive/2011/12/13/2285543.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/spymaster/archive/2011/12/12/2285229.html</id><title type="text">(学)管理联考为什么要考论证有效性分析和论评文？陈君华</title><summary type="text">管理联考为什么要考论证有效性分析和论评文？陈君华主要原因在于管理的本质在于通过他人以更好地完成组织的任务。而要通过他人，就必须要通过沟通。所以，管理的本质 就是沟通。而沟通的表现形式无非就是“听”和“说”。论证有效性分析主要考我们“听”，也即理解和回应别人的话的能力。论说文则主要考我们“说”，也即说服别人接受我们的思想和观点的能力。可见，这两篇作文考试旨在通过测试我们的沟通能力来推断我们的管理潜质，因此，它是有深意的。</summary><published>2011-12-12T11:44:00Z</published><updated>2011-12-12T11:44:00Z</updated><author><name>禹过天晴</name><uri>http://www.cnblogs.com/spymaster/</uri></author><link rel="alternate" href="http://www.cnblogs.com/spymaster/archive/2011/12/12/2285229.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/spymaster/archive/2011/12/12/2285229.html"/><content type="html">&lt;p&gt;管理联考为什么要考论证有效性分析和论评文？陈君华&lt;/p&gt;&#xD;
&lt;p&gt;主要原因在于管理的本质在于通过他人以更好地完成组织的任务。而要通过他人，就必须要通过沟通。所以，管理的本质 就是沟通。而沟通的表现形式无非就是&amp;#8220;听&amp;#8221;和&amp;#8220;说&amp;#8221;。论证有效性分析主要考我们&amp;#8220;听&amp;#8221;，也即理解和回应别人的话的能力。论说文则主要考我们&amp;#8220;说&amp;#8221;，也即说服别人接受我们的思想和观点的能力。可见，这两篇作文考试旨在通过测试我们的沟通能力来推断我们的管理潜质，因此，它是有深意的。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/spymaster/aggbug/2285229.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/spymaster/archive/2011/12/12/2285229.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/spymaster/archive/2011/12/04/2275685.html</id><title type="text">ABM视频播放密码</title><summary type="text">/Files/spymaster/key.rar</summary><published>2011-12-04T11:06:00Z</published><updated>2011-12-04T11:06:00Z</updated><author><name>禹过天晴</name><uri>http://www.cnblogs.com/spymaster/</uri></author><link rel="alternate" href="http://www.cnblogs.com/spymaster/archive/2011/12/04/2275685.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/spymaster/archive/2011/12/04/2275685.html"/><content type="html">该文被密码保护。</content></entry><entry><id>http://www.cnblogs.com/spymaster/archive/2011/10/14/2211221.html</id><title type="text">(转)qiushibaike</title><summary type="text">今天从母上那里听到一则远房亲戚的八卦，顿时觉得琼瑶阿姨落后了有木有！一帘幽梦弱爆了有木有！小说原来还是不能超越生活啊有木有！ 本八卦虽经三姑六婆加工润色，但基本符合事实，如有雷同……纯属悲剧！ 开八！ 话说LZ有一远方表姐，从小到大就是LZ的梦魇有木有！她就是大人口中那个“别人家小孩”！从小聪明漂亮学习优异乖巧听话帮忙家事不乱花钱毕业后找到一高薪职业步步高升26岁和青梅竹马的初恋男友结婚！简直就是“别人家小孩”的完美诠释有木有！作为她年龄差不太大的同性亲戚，楼主表示鸭梨很大很大！ 但姐姐在28岁那年离婚了，当时母上对这事还讳莫如深来着，今天我算知道原因了…… 其实这则八卦没那姐姐什么事，但由于</summary><published>2011-10-14T02:20:00Z</published><updated>2011-10-14T02:20:00Z</updated><author><name>禹过天晴</name><uri>http://www.cnblogs.com/spymaster/</uri></author><link rel="alternate" href="http://www.cnblogs.com/spymaster/archive/2011/10/14/2211221.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/spymaster/archive/2011/10/14/2211221.html"/><content type="html">该文被密码保护。</content></entry><entry><id>http://www.cnblogs.com/spymaster/archive/2011/09/18/2180346.html</id><title type="text">(转)Oracle、SQL Server下MD5+Base64密码加密实现</title><summary type="text">转自:http://blog.csdn.net/lele5000/article/details/6704247写在前面：MD5和Base64的函数实现并不是本文的重点，重点是在实现过程中遇到的字符集转换的麻烦最近由于工作需要，要将BIEE与公司现有的ERP系统做集成，使用外部表的方式。现有系统基于.Net平台，数据库为SQL Server 2008 R2，用户密码采用先算MD5在转Base64的方式存于数据库中。代码逻辑如下view plaincopy to clipboardprint?byte[]byteString=null;MD5md5=MD5.Create();byteString</summary><published>2011-09-18T05:03:00Z</published><updated>2011-09-18T05:03:00Z</updated><author><name>禹过天晴</name><uri>http://www.cnblogs.com/spymaster/</uri></author><link rel="alternate" href="http://www.cnblogs.com/spymaster/archive/2011/09/18/2180346.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/spymaster/archive/2011/09/18/2180346.html"/><content type="html">&lt;p&gt;转自:&lt;a href="http://blog.csdn.net/lele5000/article/details/6704247"&gt;http://blog.csdn.net/lele5000/article/details/6704247&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;写在前面：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #3333ff"&gt;MD5和Base64的函数实现并不是本文的重点，重点是在实现过程中遇到的字符集转换的麻烦&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;最近由于工作需要，要将BIEE与公司现有的ERP系统做集成，使用外部表的方式。&lt;/p&gt;&#xD;
&lt;p&gt;现有系统基于.Net平台，数据库为SQL Server 2008 R2，用户密码采用先算MD5在转Base64的方式存于数据库中。&lt;/p&gt;&#xD;
&lt;p&gt;代码逻辑如下&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&lt;a  title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;view plain&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="copy to clipboard" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;copy to clipboard&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;print&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;?&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li &gt;&lt;span &gt;byte&lt;/span&gt;&lt;span&gt;[]&amp;nbsp;byteString&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;null&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;MD5&amp;nbsp;md5&amp;nbsp;=&amp;nbsp;MD5.Create();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;byteString&amp;nbsp;=&amp;nbsp;md5.ComputeHash(Encoding.Unicode.GetBytes(Str));&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;md5.Clear();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;string&lt;/span&gt;&lt;span&gt;&amp;nbsp;NewStr&amp;nbsp;=&amp;nbsp;Convert.ToBase64String(byteString);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;textarea style="display: none"  readOnly name="code"&gt;byte[] byteString = null;&#xD;
MD5 md5 = MD5.Create();&#xD;
byteString = md5.ComputeHash(Encoding.Unicode.GetBytes(Str));&#xD;
md5.Clear();&#xD;
string NewStr = Convert.ToBase64String(byteString);&#xD;
&lt;/textarea&gt; &#xD;
&lt;p&gt;&lt;br /&gt;Encoding.Unicode.GetBytes(Str)这句为最关键的部分，其作用是把Str转换成了Unicode字节数组，正是这里给整个工作带来了困难！因为本人不懂C#，所以不知道C#里的Unicode是使用的UTF16LE(小头)，而非常见的UTF16BE(大头)。SQL Server 里的Nvachr应该也是采用的是UTF16LE，而Oracle里的NVarchar2则是采用的UTF16BE，正是因为这点导致MD5出来的值串不一致！&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;对于qaz123三者的输出值分别为：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Oracle:&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&lt;a  title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;view plain&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="copy to clipboard" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;copy to clipboard&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;print&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;?&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li &gt;&lt;span&gt;SQL&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;select&lt;/span&gt;&lt;span&gt;&amp;nbsp;utl_raw.cast_to_varchar2(utl_encode.base64_encode(GET_MD5(&lt;/span&gt;&lt;span &gt;'qaz123'&lt;/span&gt;&lt;span&gt;)))&amp;nbsp;&lt;/span&gt;&lt;span &gt;from&lt;/span&gt;&lt;span&gt;&amp;nbsp;dual;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;UTL_RAW.CAST_TO_VARCHAR2(UTL_E&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;-------------------------------------------------------------------------------- &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;NPhcqA7DU9MFK4otOXOgxQ==&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;textarea style="display: none"  readOnly name="code"&gt;SQL&amp;gt; select utl_raw.cast_to_varchar2(utl_encode.base64_encode(GET_MD5('qaz123'))) from dual;&#xD;
 &#xD;
UTL_RAW.CAST_TO_VARCHAR2(UTL_E&#xD;
--------------------------------------------------------------------------------&#xD;
NPhcqA7DU9MFK4otOXOgxQ==&lt;/textarea&gt; &#xD;
&lt;p&gt;&lt;br /&gt;SQL Server:&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&lt;a  title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;view plain&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="copy to clipboard" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;copy to clipboard&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;print&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;?&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li &gt;&lt;span&gt;select&amp;nbsp;dbo.f_ToBase64(hashbytes(&lt;/span&gt;&lt;span &gt;'MD5'&lt;/span&gt;&lt;span&gt;,convert(NVARCHAR,&lt;/span&gt;&lt;span &gt;'qaz123'&lt;/span&gt;&lt;span&gt;)))&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;LwUQYUuskyOhnZXD8WUh8Q==&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;textarea style="display: none"  readOnly name="code"&gt;select dbo.f_ToBase64(hashbytes('MD5',convert(NVARCHAR,'qaz123'))) &#xD;
&#xD;
LwUQYUuskyOhnZXD8WUh8Q==&#xD;
&lt;/textarea&gt; &#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;C#:&lt;/p&gt;&#xD;
&lt;p&gt;LwUQYUuskyOhnZXD8WUh8Q==&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Oracle的字符集为AL32UTF8、SQL Server的字符集为GBK&lt;/p&gt;&#xD;
&lt;p&gt;由于qaz123在UTF8和UTF16下的编码都一样所以就算我在Oracle下把qaz123转换成UTF16，其最终结果还是不是预期的，如下：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&lt;a  title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;view plain&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="copy to clipboard" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;copy to clipboard&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;print&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;?&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li &gt;&lt;span &gt;select&lt;/span&gt;&lt;span&gt;&amp;nbsp;utl_raw.cast_to_varchar2(utl_encode.base64_encode(GET_MD5(N&lt;/span&gt;&lt;span &gt;'qaz123'&lt;/span&gt;&lt;span&gt;)))&amp;nbsp;&lt;/span&gt;&lt;span &gt;from&lt;/span&gt;&lt;span&gt;&amp;nbsp;dual;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;UTL_RAW.CAST_TO_VARCHAR2(UTL_E&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;-------------------------------------------------------------------------------- &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;NPhcqA7DU9MFK4otOXOgxQ==&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;textarea style="display: none"  readOnly name="code"&gt;select utl_raw.cast_to_varchar2(utl_encode.base64_encode(GET_MD5(N'qaz123'))) from dual;&#xD;
 &#xD;
UTL_RAW.CAST_TO_VARCHAR2(UTL_E&#xD;
--------------------------------------------------------------------------------&#xD;
NPhcqA7DU9MFK4otOXOgxQ==&lt;/textarea&gt; &#xD;
&lt;p&gt;&lt;br /&gt;直到我把其转为UTF16LE，结果才和C#中的一样&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000"&gt;注：Oracle中的UTF16默认为UTF16BE&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&lt;a  title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;view plain&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="copy to clipboard" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;copy to clipboard&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;print&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;?&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li &gt;&lt;span &gt;select&lt;/span&gt;&lt;span&gt;&amp;nbsp;utl_raw.cast_to_varchar2(utl_encode.base64_encode(GET_MD5(&lt;/span&gt;&lt;span &gt;convert&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span &gt;'qaz123'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span &gt;'AL16UTF16LE'&lt;/span&gt;&lt;span&gt;))))&amp;nbsp;&lt;/span&gt;&lt;span &gt;from&lt;/span&gt;&lt;span&gt;&amp;nbsp;dual;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;UTL_RAW.CAST_TO_VARCHAR2(UTL_E&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;-------------------------------------------------------------------------------- &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;LwUQYUuskyOhnZXD8WUh8Q==&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;textarea style="display: none"  readOnly name="code"&gt;select utl_raw.cast_to_varchar2(utl_encode.base64_encode(GET_MD5(convert('qaz123','AL16UTF16LE')))) from dual;&#xD;
 &#xD;
UTL_RAW.CAST_TO_VARCHAR2(UTL_E&#xD;
--------------------------------------------------------------------------------&#xD;
LwUQYUuskyOhnZXD8WUh8Q==&lt;/textarea&gt; &#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;至此，搞定！&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;为了验证上面我的说法，可以看一下Oracle中，qaz123在不同编码下的代码点&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&lt;a  title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;view plain&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="copy to clipboard" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;copy to clipboard&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;print&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;?&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li &gt;&lt;span&gt;SQL&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;select&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;'UTF8'&lt;/span&gt;&lt;span&gt;,dump(&lt;/span&gt;&lt;span &gt;'qaz123'&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;span &gt;from&lt;/span&gt;&lt;span&gt;&amp;nbsp;dual&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;union&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;all&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;select&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;'UTF16BE'&lt;/span&gt;&lt;span&gt;,dump(N&lt;/span&gt;&lt;span &gt;'qaz123'&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;span &gt;from&lt;/span&gt;&lt;span&gt;&amp;nbsp;dual&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;union&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;all&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;select&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;'UTF16LE'&lt;/span&gt;&lt;span&gt;,&amp;nbsp;dump(&lt;/span&gt;&lt;span &gt;convert&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span &gt;'qaz123'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span &gt;'AL16UTF16LE'&lt;/span&gt;&lt;span&gt;))&amp;nbsp;&lt;/span&gt;&lt;span &gt;from&lt;/span&gt;&lt;span&gt;&amp;nbsp;dual&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;'UTF8'&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;DUMP(&lt;/span&gt;&lt;span &gt;'QAZ123'&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;-------&amp;nbsp;---------------------------------------------- &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;UTF8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Typ=96&amp;nbsp;Len=6:&amp;nbsp;113,97,122,49,50,51&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;UTF16BE&amp;nbsp;Typ=96&amp;nbsp;Len=12:&amp;nbsp;0,113,0,97,0,122,0,49,0,50,0,51&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;UTF16LE&amp;nbsp;Typ=1&amp;nbsp;Len=12:&amp;nbsp;113,0,97,0,122,0,49,0,50,0,51,0&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;textarea style="display: none"  readOnly name="code"&gt;SQL&amp;gt; select 'UTF8',dump('qaz123') from dual&#xD;
  2  union all&#xD;
  3  select 'UTF16BE',dump(N'qaz123') from dual&#xD;
  4  union all&#xD;
  5  select 'UTF16LE', dump(convert('qaz123','AL16UTF16LE')) from dual&#xD;
  6  ;&#xD;
 &#xD;
'UTF8'  DUMP('QAZ123')&#xD;
------- ----------------------------------------------&#xD;
UTF8    Typ=96 Len=6: 113,97,122,49,50,51&#xD;
UTF16BE Typ=96 Len=12: 0,113,0,97,0,122,0,49,0,50,0,51&#xD;
UTF16LE Typ=1 Len=12: 113,0,97,0,122,0,49,0,50,0,51,0&lt;/textarea&gt;&lt;br /&gt;&lt;pre&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;下面给出Oracle和SQL Server下的相关函数实现代码&lt;/p&gt;&#xD;
&lt;p&gt;Oracle:&lt;/p&gt;&#xD;
&lt;p&gt;创建MD5函数&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&lt;a  title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;view plain&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="copy to clipboard" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;copy to clipboard&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;print&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;?&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li &gt;&lt;span &gt;CREATE&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;OR&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;REPLACE&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;FUNCTION&lt;/span&gt;&lt;span&gt;&amp;nbsp;GET_MD5&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;(&amp;nbsp;p_str&amp;nbsp;&lt;/span&gt;&lt;span &gt;in&lt;/span&gt;&lt;span&gt;&amp;nbsp;varchar2)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;RETURN&lt;/span&gt;&lt;span&gt;&amp;nbsp;varchar2&amp;nbsp;&lt;/span&gt;&lt;span &gt;IS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;BEGIN&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;RETURN&lt;/span&gt;&lt;span&gt;&amp;nbsp;Utl_Raw.Cast_To_Raw(DBMS_OBFUSCATION_TOOLKIT.MD5(input_string&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;lower&lt;/span&gt;&lt;span&gt;(P_Str)));&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;END&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;textarea style="display: none"  readOnly name="code"&gt;CREATE OR REPLACE FUNCTION GET_MD5&#xD;
( p_str in varchar2)&#xD;
RETURN varchar2 IS&#xD;
BEGIN &#xD;
RETURN Utl_Raw.Cast_To_Raw(DBMS_OBFUSCATION_TOOLKIT.MD5(input_string =&amp;gt; lower(P_Str)));&#xD;
END;&lt;/textarea&gt; &#xD;
&lt;p&gt;调用转换成Base64&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&lt;a  title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;view plain&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="copy to clipboard" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;copy to clipboard&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;print&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;?&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li &gt;&lt;span &gt;select&lt;/span&gt;&lt;span&gt;&amp;nbsp;utl_raw.cast_to_varchar2(utl_encode.base64_encode(GET_MD5(&lt;/span&gt;&lt;span &gt;convert&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span &gt;'qaz123'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span &gt;'AL16UTF16LE'&lt;/span&gt;&lt;span&gt;))))&amp;nbsp;&lt;/span&gt;&lt;span &gt;from&lt;/span&gt;&lt;span&gt;&amp;nbsp;dual;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;textarea style="display: none"  readOnly name="code"&gt;select utl_raw.cast_to_varchar2(utl_encode.base64_encode(GET_MD5(convert('qaz123','AL16UTF16LE')))) from dual;&#xD;
&lt;/textarea&gt; &#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;SQL Server:&lt;/p&gt;&#xD;
&lt;p&gt;从SQL&amp;nbsp;Server 2005开始，其自带了hashbytes函数用于生成字符串的Hash值，所以MD5这一步就可以直接采用现有的函数了。&lt;/p&gt;&#xD;
&lt;p&gt;至于转换成Base64，系统并没有提供相关函数，不过我们有变通的方法，原理是SQL Server使用FOR XML 生成xml 实例时，binary 数据使用&lt;em&gt;base64&lt;/em&gt; 编码&lt;/p&gt;&#xD;
&lt;p&gt;函数如下：&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&lt;a  title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;view plain&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="copy to clipboard" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;copy to clipboard&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;print&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;?&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li &gt;&lt;span &gt;create&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;function&lt;/span&gt;&lt;span&gt;&amp;nbsp;f_ToBase64&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;(@bin&amp;nbsp;varbinary(&lt;/span&gt;&lt;span &gt;max&lt;/span&gt;&lt;span&gt;))&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;returns&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;varchar&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span &gt;max&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;as&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;begin&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;cast&lt;/span&gt;&lt;span&gt;(N&lt;/span&gt;&lt;span &gt;''&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;as&lt;/span&gt;&lt;span&gt;&amp;nbsp;xml).value(&lt;/span&gt;&lt;span &gt;'xs:base64Binary(xs:hexBinary(sql:variable("@bin")))'&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;'varchar(max)'&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;end&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;textarea style="display: none"  readOnly name="code"&gt;create function f_ToBase64&#xD;
(@bin varbinary(max))&#xD;
returns varchar(max)&#xD;
as begin&#xD;
return cast(N'' as xml).value('xs:base64Binary(xs:hexBinary(sql:variable("@bin")))', 'varchar(max)')&#xD;
end&#xD;
&lt;/textarea&gt; &#xD;
&lt;p&gt;&lt;br /&gt;最终调用：&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&lt;a  title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;view plain&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="copy to clipboard" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;copy to clipboard&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;print&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;a  title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" href="#"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;?&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li &gt;&lt;span &gt;select&lt;/span&gt;&lt;span&gt;&amp;nbsp;dbo.f_ToBase64(hashbytes(&lt;/span&gt;&lt;span &gt;'MD5'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span &gt;convert&lt;/span&gt;&lt;span&gt;(NVARCHAR,&lt;/span&gt;&lt;span &gt;'qaz123'&lt;/span&gt;&lt;span&gt;)))&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;textarea style="display: none"  readOnly name="code"&gt;select dbo.f_ToBase64(hashbytes('MD5',convert(NVARCHAR,'qaz123'))) &lt;/textarea&gt; &#xD;
&lt;p&gt;特别需要注意红色部分，这是为了和C#代码逻辑保持一致。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/spymaster/aggbug/2180346.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/spymaster/archive/2011/09/18/2180346.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/spymaster/archive/2011/09/09/2172092.html</id><title type="text">(原)软件开发过程管理体系改进计划</title><summary type="text">列宁说：学习学习再学习，努力努力再努力！一、 过程管理体系改进目的1、整合现有各版框架优势、整理项目模块在开发工具中的组织形式，以减少在开发、测试、发布等环节中一些重复、低效的工作上的人力投入；2、整理、简化、明确各项工作常规流程，规范软件整体开发过程，方便新员工快速了解、融入开发过程，缩短成长周期；2、利用好设计、License管理、安装包制作等各类工具，通过工具的应用规范工作过程、简化人工操作、降低工作难度，以节省人力成本；二、 过程管理体系概念及工作内容层次示意图说明：1、资源管理层为非项目型基础工作，为公司的项目、产品开发提供资源服务；2、项目管理体系层为管理概念，主要明确各项工作承担</summary><published>2011-09-09T01:24:00Z</published><updated>2011-09-09T01:24:00Z</updated><author><name>禹过天晴</name><uri>http://www.cnblogs.com/spymaster/</uri></author><link rel="alternate" href="http://www.cnblogs.com/spymaster/archive/2011/09/09/2172092.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/spymaster/archive/2011/09/09/2172092.html"/><content type="html">&lt;p style="text-align: left; text-indent: -1cm; margin: 0cm 0cm 0pt 1cm" align="left"&gt;&lt;span style="font-family: 黑体; font-size: 15pt"&gt;列宁说：学习学习再学习，努力努力再努力！&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: -1cm; margin: 0cm 0cm 0pt 1cm" align="left"&gt;&lt;span style="font-family: 黑体; font-size: 15pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: -1cm; margin: 0cm 0cm 0pt 1cm" align="left"&gt;&lt;span style="font-family: 黑体; font-size: 15pt"&gt;一、&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 黑体; font-size: 15pt"&gt;过程管理体系改进目的&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 1cm" align="left"&gt;1&lt;span style="font-family: 宋体"&gt;、整合现有各版框架优势、整理项目模块在开发工具中的组织形式，以减少在开发、测试、发布等环节中一些重复、低效的工作上的人力投入；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 1cm" align="left"&gt;2&lt;span style="font-family: 宋体"&gt;、整理、简化、明确各项工作常规流程，规范软件整体开发过程，方便新员工快速了解、融入开发过程，缩短成长周期；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 1cm" align="left"&gt;2&lt;span style="font-family: 宋体"&gt;、利用好设计、&lt;/span&gt;License&lt;span style="font-family: 宋体"&gt;管理、安装包制作等各类工具，通过工具的应用规范工作过程、简化人工操作、降低工作难度，以节省人力成本；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: -1cm; margin: 0cm 0cm 0pt 1cm" align="left"&gt;&lt;span style="font-family: 黑体; font-size: 15pt"&gt;二、&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 黑体; font-size: 15pt"&gt;过程管理体系概念及工作内容层次示意图&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 1cm" align="left"&gt;&lt;span style="font-family: 宋体"&gt;说明：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 1cm" align="left"&gt;1&lt;span style="font-family: 宋体"&gt;、资源管理层为非项目型基础工作，为公司的项目、产品开发提供资源服务；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 1cm" align="left"&gt;2&lt;span style="font-family: 宋体"&gt;、项目管理体系层为管理概念，主要明确各项工作承担人、监管人及控制重点等；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 1cm" align="left"&gt;3&lt;span style="font-family: 宋体"&gt;、执行保障体系层，为具体工作内容，即通过一系列的评审、评议对项目过程进行监控、纠偏，减少项目风险；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 1cm" align="left"&gt;4&lt;span style="font-family: 宋体"&gt;、工程管理层，为具体项目的过程执行，通过已有的管理规范和文档模板，进行项目过程的计划、跟踪、记录，同时根据保障体系需求，按项目节点或定期提交项目阶段汇报&lt;/span&gt; &lt;span style="font-family: 宋体"&gt;文档。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="center"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/tx1.png" width="746" height="428" /&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: center; text-indent: 14.3pt; margin: 0cm 0cm 0pt -0.2pt" align="center"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: -1cm; margin: 0cm 0cm 0pt 1cm" align="left"&gt;&lt;span style="font-family: 黑体; font-size: 15pt"&gt;三、&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 黑体; font-size: 15pt"&gt;过程管理体系工作形式示意图&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 1cm" align="left"&gt;&lt;span style="font-family: 宋体"&gt;说明：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: -18pt; margin: 0cm 0cm 0pt 46.35pt" align="left"&gt;&lt;span&gt;1、&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;文档类型：依颜色不同分别为：&lt;/span&gt;&lt;span style="font-family: 黑体;background: #33ccff; font-size: 11pt"&gt;体系标准文档、&lt;/span&gt;&lt;span style="font-family: 黑体;background: #e36c0a; font-size: 11pt"&gt;项目过程文档、&lt;/span&gt;&lt;span style="font-family: 黑体;background: lime; font-size: 11pt"&gt;监管控制文档；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: -18pt; margin: 0cm 0cm 0pt 46.35pt" align="left"&gt;&lt;span&gt;2、&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 黑体;background: #33ccff; font-size: 11pt"&gt;体系标准文档&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;基本上已有，但多以文字性内容为主，根据需求建议更改为流程图式说明，方便开发人员快速掌握和理解工作过程，但测试、版本发布等流程需要补充；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: -18pt; margin: 0cm 0cm 0pt 46.35pt" align="left"&gt;&lt;span&gt;3、&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 黑体;background: #e36c0a; font-size: 11pt"&gt;项目过程文档&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;比较完善，可以延用现有标准；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: -18pt; margin: 0cm 0cm 0pt 46.35pt" align="left"&gt;&lt;span&gt;4、&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 黑体;background: lime; font-size: 11pt"&gt;监管控制文档&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;更多体现为团队互动、由公司骨干参与项目管理、技术评审等工作，以及时发现、并群策群力快速解决问题，保障项目或产品的开发工作能按计划顺利进行。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: -18pt; margin: 0cm 0cm 0pt 46.35pt" align="left"&gt;&lt;span style="font-family: 宋体"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/spymaster/tx2.png" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: center; text-indent: 14.3pt; margin: 0cm 0cm 0pt -0.2pt" align="center"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: -1cm; margin: 0cm 0cm 0pt 1cm" align="left"&gt;&lt;span style="font-family: 黑体; font-size: 15pt"&gt;四、&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 黑体; font-size: 15pt"&gt;过程管理体系梳理工作计划&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 1cm" align="left"&gt;1&lt;span style="font-family: 宋体"&gt;、框架、类库的合并，优化（此项工作已开始）；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 1cm" align="left"&gt;2&lt;span style="font-family: 宋体"&gt;、各类规范、流程的简化整理，以易理解、可执行、可控制为目标（包括：开发、测试、发布等常规环节）；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 1cm" align="left"&gt;3&lt;span style="font-family: 宋体"&gt;、各类小工具在开发过程中的使用方法说明整理（包括：数据库初始化、升级包制作、版本发布、&lt;/span&gt;License&lt;span style="font-family: 宋体"&gt;管理等。目前已有一些基础）。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 14.3pt; margin: 0cm 0cm 0pt -0.2pt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/spymaster/aggbug/2172092.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/spymaster/archive/2011/09/09/2172092.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/spymaster/archive/2011/08/31/2160271.html</id><title type="text">(原)Lazarus下WinCE终端、服务器心跳监控(Ping)源码</title><summary type="text">背景：1、使用lnet做了WinCE的客户端以及Win32的服务器端，WinCE在休眠之后会因为lnet的通讯异常导致程序崩溃而退出，并且这种异常无法捕捉、处理。 解决办法： 1、如果不保持lnet的联机状态，的确系统不会异常、退出，但每次都需要连接（需有有延时之后才能发消息），效率很低。2、有必要做一个‘心跳’监控，在使用lnet通讯之前确定客户端是否已与服务器断开，如断开则提示重新连接lnet3、Indy等包含icmp组件支持ping功能，但实践证明indy不支持WinCE。4、此后分别查到icmp.dll 、iphlpapi.dll等组件可以实现ping的功能，经实践icmp、iphlp</summary><published>2011-08-31T00:49:00Z</published><updated>2011-08-31T00:49:00Z</updated><author><name>禹过天晴</name><uri>http://www.cnblogs.com/spymaster/</uri></author><link rel="alternate" href="http://www.cnblogs.com/spymaster/archive/2011/08/31/2160271.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/spymaster/archive/2011/08/31/2160271.html"/><content type="html">&lt;p&gt;背景：1、使用lnet做了WinCE的客户端以及Win32的服务器端，WinCE在休眠之后会因为lnet的通讯异常导致程序崩溃而退出，并且这种异常无法捕捉、处理。&lt;span style="display: none"&gt; &lt;/span&gt;解决办法：&lt;span style="display: none"&gt; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="display: none"&gt;&lt;/span&gt;1、如果不保持lnet的联机状态，的确系统不会异常、退出，但每次都需要连接（需有有延时之后才能发消息），效率很低。&lt;/p&gt;&#xD;
&lt;p&gt;2、有必要做一个&amp;#8216;心跳&amp;#8217;监控，在使用lnet通讯之前确定客户端是否已与服务器断开，如断开则提示重新连接lnet&lt;/p&gt;&#xD;
&lt;p&gt;3、Indy等包含icmp组件支持ping功能，但实践证明indy不支持WinCE。&lt;span style="display: none"&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="display: none"&gt;&lt;/span&gt;4、此后分别查到icmp.dll 、iphlpapi.dll等组件可以实现ping的功能，经实践icmp、iphlpapi在Win32下很好用，但WinCE下icmp无法使用，iphlpapi反馈结果不正确（应该是本人二次封装导致的，原因未明）。&lt;span style="display: none"&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="display: none"&gt;&lt;/span&gt;5、再后来群中有位朋友介绍了synapse v39（一个类indy的组件包），查了一下帮助写了一个Ping的小程序，在Win32、WinCE下通过（liunx等操作系统肯定不好用，因为这个组件包的ping也是基于iphlpapi.dll的）。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" src="http://www.fpccn.com/attachment/photo/Mon_1108/35_a16a13147511089f003139e54c0a6.png"  alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a id="url_1" onclick="return checkUrl(this)" href="http://yfdisk.com/file/bugxiong/602d18d1/" target="_blank"&gt;&lt;font color="#0070af"&gt;直接使用网盘下载: SPing.rar&lt;/font&gt;&lt;/a&gt;&lt;span style="display: none"&gt; &lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/spymaster/aggbug/2160271.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/spymaster/archive/2011/08/31/2160271.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/spymaster/archive/2011/08/16/2141604.html</id><title type="text">(原)UKEY Information</title><summary type="text">管理密码:SuperC#Lipper008识别码：REDF123456789001种子码：REDF123456789001登录密码：29c59f02fd19435d17e326cc0d9135fd3DES密钥：SuperC#Lipper0083DES向量：78991204</summary><published>2011-08-16T14:27:00Z</published><updated>2011-08-16T14:27:00Z</updated><author><name>禹过天晴</name><uri>http://www.cnblogs.com/spymaster/</uri></author><link rel="alternate" href="http://www.cnblogs.com/spymaster/archive/2011/08/16/2141604.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/spymaster/archive/2011/08/16/2141604.html"/><content type="html">该文被密码保护。</content></entry><entry><id>http://www.cnblogs.com/spymaster/archive/2011/08/03/2126370.html</id><title type="text">(原)Lazarus 在 DataSet 转 MemDataSet</title><summary type="text">Pascal下 DataSet中的内容是非离线的，就是说需要与数据库保持联机，这样很不好，会弄出很多连接出来，不喜欢。MemDataSet，是可以保存离线内容的，于是就有了这个方法。function TformMain.DataSet2MDataSet(dataSet:TDataSet):TMemDataSet;var i:Integer; strColumn,strType,strSize,strValue:string; mDataset:TMemDataSet;begin //初始化 mDataSet:= TMemDataset.Create(nil); //字段 with dataS.</summary><published>2011-08-03T08:35:00Z</published><updated>2011-08-03T08:35:00Z</updated><author><name>禹过天晴</name><uri>http://www.cnblogs.com/spymaster/</uri></author><link rel="alternate" href="http://www.cnblogs.com/spymaster/archive/2011/08/03/2126370.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/spymaster/archive/2011/08/03/2126370.html"/><content type="html">&#xD;
 &#xD;
Pascal下 DataSet中的内容是非离线的，就是说需要与数据库保持联机，这样很不好，会弄出很多连接出来，不喜欢。&lt;br /&gt;MemDataSet，是可以保存离线内容的，于是就有了这个方法。&lt;br /&gt;&lt;p&gt;function TformMain.DataSet2MDataSet(dataSet:TDataSet):TMemDataSet;&lt;br /&gt;var&lt;br /&gt;&amp;nbsp; i:Integer;&lt;br /&gt;&amp;nbsp; strColumn,strType,strSize,strValue:string;&lt;br /&gt;&amp;nbsp; mDataset:TMemDataSet;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp; //初始化&lt;br /&gt;&amp;nbsp; mDataSet:= TMemDataset.Create(nil);&lt;br /&gt;&amp;nbsp; //字段&lt;br /&gt;&amp;nbsp; with dataSet do&lt;br /&gt;&amp;nbsp; for i := 0 to FieldCount-1 do&lt;br /&gt;&amp;nbsp; begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strColumn:= dataSet.Fields[i].FieldName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strType:= GetEnumName(TypeInfo(TFieldType),integer(dataSet.Fields[i].DataType)) ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strSize:= IntToStr(dataSet.Fields[i].DataSize);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if strColumn ='SUMNUMBER'then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application.MessageBox(Pchar(strType),'',0);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (strType ='ftString') or (strType ='ftBCD')then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mDataSet.FieldDefs.Add(strColumn, TFieldType(GetEnumValue(TypeInfo(TFieldType), strType)),StrToInt(strSize))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mDataSet.FieldDefs.Add(strColumn, TFieldType(GetEnumValue(TypeInfo(TFieldType), strType)));&lt;br /&gt;&amp;nbsp; end;&lt;br /&gt;&amp;nbsp; mDataSet.CreateTable;&lt;br /&gt;&amp;nbsp; mDataSet.Open;&lt;/p&gt;&lt;p&gt;//数据&lt;br /&gt;&amp;nbsp; dataSet.First;&lt;br /&gt;&amp;nbsp; with dataSet do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while not dataSet.eof do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mDataSet.Append;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i := 0 to FieldCount-1 do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strValue:= dataSet.Fields[i].AsString;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mDataSet.Fields[i].AsString:=strValue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataSet.Next;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;br /&gt;&amp;nbsp; Result:=mDataSet;&lt;br /&gt;end;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/spymaster/aggbug/2126370.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/spymaster/archive/2011/08/03/2126370.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
