﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-回首往事，碩果累累，展望未來，信心滿懷。</title><link>http://www.cnblogs.com/wang123/</link><description>Where is way? Pick One,Not All.</description><language>zh-cn</language><lastBuildDate>Tue, 14 Oct 2008 03:11:07 GMT</lastBuildDate><pubDate>Tue, 14 Oct 2008 03:11:07 GMT</pubDate><ttl>60</ttl><item><title>如何在.NET中访问MySQL数据库 </title><link>http://www.cnblogs.com/wang123/archive/2008/09/12/1289831.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Fri, 12 Sep 2008 04:36:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/09/12/1289831.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1289831.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/09/12/1289831.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1289831.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1289831.html</trackback:ping><description><![CDATA[<div class="postTitle"><a class="postTitle2" id="AjaxHolder_ctl01_TitleUrl" href="http://www.cnblogs.com/sopper/archive/2007/01/03/610713.html">如何在.NET中访问MySQL数据库 （转自：http://blog.csdn.net/vstart/archive/2006/06.aspx）</a> </div>
如果你不是只在大集团公司工作过的话，你一定会有机会接触到MySQL，虽然它并不支持事务处理，存储过程，但是它提供的功能一定能满足你的大部分需求，另外，简洁的MySQL也有一些它独到的优势，在有些时候，它的速度甚至超过大型数据库。
<p class="text4">那么如何在.NET中访问MySQL数据库呢？也许很多人马上会说：用OLEDB嘛，但是事实上采用.NET OleDb Data Provider并不能访问MySQL，如果你使用的话，系统会提示你："Net Data OLE DB 提供程序 (System.Data.Odbc) 不支持 MSDASQL 提供程序（用于 Odbc 驱动程序的 Microsoft OLE DB 提供程序）。"，是什么原因我并不知道，按照MySQLDriverCS的作者的说法就是它被"abandoned by the owner"，呵呵，兴许还有些故事。</p>
<p class="text4">幸好，我们还有其它的选择，这里就要介绍两种访问MySQL数据库的办法。</p>
<p class="text4">使用ODBC.NET</p>
<p class="text4">ODBC.NET（全称ODBC .NET Data Provider）是一个免费的.NET Framework附加组件，需要到微软公司的网站上去下载，下载地址为：<font color="#002c99">http://download.microsoft.com/download/dasdk/Install/1.0.4030.0/W98NT42KMeXP/EN-US/odbc_net.msi</font>，它需要系统已经安装MDAC 2.7或者更高版本。另外，还需要安装MySQL的ODBC驱动程序，下载地址为：<font color="#002c99">http://www.mysql.com/downloads/api-myodbc-2.50.html</font>，还需要在"ODBC数据源管理器"中配置一下DSN，如下图所示：</p>
<div><img alt="" src="http://www.microsoft.com/china/community/Columns/Luyan/image/DOTNETMySQL_1.gif" align="top" /></div>
<p class="text4">在对象的设计上，ODBC.NET也跟OLEDB，SQL等一样，分别为OdbcConnection, OdbcCommand, OdbcDataAdapter, OdbcDataReader,用法也完全一样，如果你希望用ODBC .NET来代替以前的OleDb .NET Data Provider，事实上完全可以通过查找替换的办法来修改你的程序。</p>
<p class="text4">以下是一段代码示例：</p>
<div style="background-color: #eeeeee">
<pre class="text5">try
{
string constr = "DSN=MySQL;" + "UID=;" +"PWD="; ;
conn =  new OdbcConnection(constr);
conn.Open();
string query = "insert into test.dbtable values10,'disksidkfsdi', 'asdfaf', 'adsfasdf')";
string tmp = null;
OdbcCommand cmd = new OdbcCommand(query, conn);
for(int i = 0; i &lt; 100000; i++)
{
cmd.ExecuteNonQuery();
}
cmd.Dispose();
conn.Close();
query = "select * from test.dbtable";
OdbcCommand cmd2 = newOdbcCommand(query, conn);
conn.Open();
OdbcDataReader reader = cmd2.ExecuteReader();
while(reader.Read())
{
tmp = reader[0].ToString();
tmp = reader[1].ToString();
tmp = reader[2].ToString();
tmp = reader[3].ToString();
}
conn.Close();
query = "delete from test.dbtable";
OdbcCommand cmd3 = newOdbcCommand(query, conn);
conn.Open();
cmd3.ExecuteNonQuery();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}</pre>
</div>
<p class="text4">只要是用C#写过数据库应用的人一定能知道，上面的代码执行了十万次插入数据和读取数据，最后将数据记录全部删除的操作。</p>
<p class="text4">使用MySQLDriverCS</p>
<p class="text4">可能大部分的人都不知道这个东西，MySQLDriverCS是MySQL数据库的一个免费开源的.NET驱动程序。和Sql .NET Data Provider是为Sql Server一样，它是专门为MySQL设计的，可以叫做MySQL .NET Data Provider。使用他不需要额外的去设置ODBC数据源，基本上只要能连接到MySQL就能通过MySQLDriverCS来访问。</p>
<p class="text4">MySQLDriverCS是SourceForge.NET上的一个项目，不过不知道什么原因，这个网站在国内访问不到。</p>
<p class="text4">下面是使用MySQLDriverCS的代码示例：</p>
<div style="background-color: #eeeeee">
<pre class="text5">MySQLConnection conn = null;
try
{
string connstr = "Data Source=MySQL;Password=root;User ID=root;Location=localhost";
conn =  new MySQLConnection(constr);
conn.Open();
string query = "insert into test.dbtable values(10, 'disksidkfsdi', 'asdfaf', 'adsfasdf')";
string tmp = null;
MySQLCommand cmd = new MySQLCommand(query, conn);
for(int i = 0; i &lt; 100000; i++)
{
cmd.ExecuteNonQuery();
}
cmd.Dispose();
conn.Close();
query = "select * from test.dbtable";
MySQLCommand cmd2 = new MySQLCommand(query, conn);
conn.Open();
MySQLDataReader reader = cmd2.ExecuteReaderEx();
while(reader.Read())
{
tmp = reader[0].ToString();
tmp = reader[1].ToString();
tmp = reader[2].ToString();
tmp = reader[3].ToString();
}
conn.Close();
query = "delete from test.dbtable";
MySQLCommand cmd3 = new MySQLCommand(query, conn);
conn.Open();
cmd3.ExecuteNonQuery();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
</pre>
</div>
<p class="text4">和上面的那段代码几乎一模一样，所不同的是Odbc变成了MySQL，另外，需要注意的一点是Command的ExecuteReader方法在MySQLDriverCS中变成了ExecuteReaderEx，还有些细微的差别请参考附带的文档详细的介绍。</p>
<p class="text4">性能测试</p>
<p class="text4">有些读者其实已经看出来我以上写的那段代码的用意，对了，其实目的就是用来进行性能测试的。以上两段代码的执行时间分别是：ODBC.NET为24秒左右，MySQLDriverCS为17秒左右。结果并不出人意外，作为MySQL的专用数据驱动程序，MySQLDriverCS的速度大大快于ODBC.NET是在情理之中的。</p>
<p class="text4">总结</p>
<p class="text4">本文介绍了两种MySQL数据库访问的方法，同时对它们的性能做了一个简单的测试，希望能为各位读者在采用MySQL数据库开发.NET应用的时候提供一个有价值的参考。</p>
<p class="text4">&nbsp;</p>
<p class="text4"><span style="color: red"><a href="http://files.cnblogs.com/wang123/MySQLDriverCS.rar"><span style="color: red">點擊此處下載 <font face="Verdana">MySQLDriverCS.dll</font></span></a></span></p>
<p class="text4">&nbsp;</p>
<p class="text4">&nbsp;</p>
<p class="text4">&nbsp;</p>
<img src ="http://www.cnblogs.com/wang123/aggbug/1289831.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42977/" target="_blank">[新闻]微软首次打破先例 Windows 7不再改名</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>unicode,ascii是一種字符集，而uft是一種編碼方式</title><link>http://www.cnblogs.com/wang123/archive/2008/09/05/1285089.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Fri, 05 Sep 2008 05:52:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/09/05/1285089.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1285089.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/09/05/1285089.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1285089.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1285089.html</trackback:ping><description><![CDATA[<p><font face="Verdana"><strong>UTF: Unicode/UCS Transformation Format</strong><br />
UTF-8, 8bit编码, ASCII不作变换, 其他字符做变长编码, 每个字符1-3 byte. 通常作为外码. 有以下优点:<br />
* 与CPU字节顺序无关, 可以在不同平台之间交流<br />
* 容错能力高, 任何一个字节损坏后, 最多只会导致一个编码码位损失, 不会链锁错误(如GB码错一个字节就会整行乱码) <br />
UTF-16, 16bit编码, 是变长码, 大致相当于20位编码, 值在0到0x10FFFF之间, 基本上就是unicode编码的实现. 它是变长码, 与CPU字序有关, 但因为最省空间, 常作为网络传输的外码.<br />
UTF-16是unicode的preferred encoding. <br />
UTF-32, 仅使用了unicode范围(0到0x10FFFF)的32位编码, 相当于UCS-4的子集.</font></p>
<p><font face="Verdana">UTF与unicode的关系:</font></p>
<p><font face="Verdana">Unicode是一个字符集, 可以看作为内码.<br />
而UTF是一种编码方式, 它的出现是因为unicode不适宜在某些场合直接传输和处理. UTF-16直接就是unicode编码, 没有变换, 但它包含了0x00在编码内, 头256字节码的第一个byte都是0x00, 在操作系统(C语言)中有特殊意义, 会引起问题. 采用UTF-8编码对unicode的直接编码作些变换可以避免这问题, 并带来一些优点.</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana"><strong>中国国标编码:</strong><br />
GB 13000: 完全等同于ISO 10646-1/Unicode 2.1, 今后也将随ISO 10646/Unicode的标准更改而同步更改.<br />
GBK: 对GB2312的扩充, 以容纳GB2312字符集范围以外的Unicode 2.1的统一汉字部分, 并且增加了部分unicode中没有的字符. <br />
GB 18030-2000: 基于GB 13000, 作为Unicode 3.0的GBK扩展版本, 覆盖了所有unicode编码, 地位等同于UTF-8, UTF-16, 是一种unicode编码形式. 变长编码, 用单字节/双字节/4字节对字符编码. GB18030向下兼容GB2312/GBK. <br />
GB 18030是中国所有非手持/嵌入式计算机系统的强制实施标准.</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana"><strong>Unicode和ASCII码<br />
</strong>通俗一点， <br />
ASCLL码全是英文及一些特殊符号（制表符等）， <br />
Unicode中不仅有英文和特殊符号，还有日文、韩文、中文&#8230;&#8230; <br />
现在一般用Unicode</font></p>
<img src ="http://www.cnblogs.com/wang123/aggbug/1285089.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42976/" target="_blank">[新闻]亚马逊EC2云计算计划支持Windows操作系统</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>apache之404错误页面自定义跳转说明</title><link>http://www.cnblogs.com/wang123/archive/2008/09/04/1283803.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Thu, 04 Sep 2008 03:28:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/09/04/1283803.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1283803.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/09/04/1283803.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1283803.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1283803.html</trackback:ping><description><![CDATA[<p><font face="Verdana">apache之404错误页面自定义跳转说明<br />
2008-06-30 11:42<br />
404错误其实就是我们经常见到的找不到文件的错误，但是那是默认的效果，很难看。</font></p>
<p><font face="Verdana">有时候我们需要的这样的功能：我们要记录下来404是的页面时哪些，更有些时候我需要判断404页面是不是本来系统应该生成的静态页面但是没有生成成功的，如果是，我们应该生成这个静态页面，然后把生成的静态页面返回给用户。</font></p>
<p><font face="Verdana">我要处理的逻辑就是：把404错误跳转到一个页面，我们取名叫：missing404.php</font></p>
<p><font face="Verdana">然后再这个页面中实现我们需要的功能。</font></p>
<p><font face="Verdana">首先定义跳转：在虚拟站点定义中使用如下语句即可。</font></p>
<p><font face="Verdana">ErrorDocument 404 http://www.blogguy.cn/missing404.php </font></p>
<font face="Verdana">
<p><br />
定义完成后的虚拟站点如下</p>
<p>&lt;VirtualHost *:80&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; ServerAdmin&nbsp;&nbsp;&nbsp;&nbsp; wayswang@gmail.com</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DocumentRoot /usr/local/apache/htdocs/blogguy.cn</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerName www.blogguy.cn</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerAlias&nbsp;&nbsp;&nbsp;&nbsp; blogguy.cn</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ErrorLog logs/blogguy.cn_err_log</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CustomLog logs/blogguy.cn-access_log2 common</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ErrorDocument 404 http://www.blogguy.cn/missing404.php</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &lt;IfModule mod_limitipconn.c&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Location /upimg/soft&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MaxConnPerIP 5</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Location&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/IfModule&gt;</p>
<p>&lt;/VirtualHost&gt; </p>
<p>在missing404.php中的处理将另外说明</p>
<p>这里再提供另外一种方法，但是不推荐，以为比较耗资源，使用 .htaccess 来重定向</p>
<p>在 .htaccess 中加入</p>
<p>ErrorDocument 404 /404.html </p>
<p>不要以为就此完了，你可能会发现404.html根本跳转不到他上面去，嘿嘿，原因是你的404.html文件太小了，IE认为找不到，又是404错误。如果404.html的小于512字节的话，那么IE会认为这个错误页面不够&#8220;友好&#8221;，会忽视掉的。</font></p>
<img src ="http://www.cnblogs.com/wang123/aggbug/1283803.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42975/" target="_blank">[新闻]鲍尔默失望变希望 幸亏当初未收购雅虎</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>php連mssql,access的方法    js連接access數據庫</title><link>http://www.cnblogs.com/wang123/archive/2008/08/19/1271195.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Tue, 19 Aug 2008 06:49:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/08/19/1271195.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1271195.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/08/19/1271195.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1271195.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1271195.html</trackback:ping><description><![CDATA[<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">一、php連mssql<br />
$dbhost = ''; <br />
$dbuser = ''; //你的mssql用户名 <br />
$dbpass = ''; //你的mssql密码 <br />
$dbname = ''; //你的mssql库名 </font></p>
<p><font face="Verdana">$connect=odbc_connect("Driver={SQL Server};Server=$dbhost;Database=$dbname","$dbuser","$dbpass");<br />
$sql="select * from content";<br />
$exec=odbc_exec($connect,$sql);<br />
while($row = (odbc_fetch_array($exec)))<br />
{<br />
&nbsp;$row['id']&nbsp; //獲取字段值<br />
&nbsp;...<br />
}</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<font face="Verdana">
<p><br />
二、php連access<br />
$db=$_SERVER['DOCUMENT_ROOT']."/PHP_ACCESS/include/#mydb.mdb";&nbsp;&nbsp; //這裏最好用$_SERVER['DOCUMENT_ROOT']獲取路徑<br />
$conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');<br />
$conn-&gt;Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db"); <br />
&nbsp;&nbsp;&nbsp;&nbsp; $rs = $conn-&gt;Execute('SELECT * FROM contents order by id desc');<br />
&nbsp;&nbsp;&nbsp;&nbsp; while(!$rs-&gt;EOF)&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo $rs-&gt;Fields['name']-&gt;Value; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $rs-&gt;MoveNext();<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp; /*释放资源*/<br />
&nbsp;&nbsp; $rs-&gt;Close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $conn-&gt;Close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $rs = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $conn = null;</p>
<p><br />
Fatal error: Uncaught exception 'com_exception' with message '&lt;b&gt;Source:&lt;/b&gt; Microsoft OLE DB Provider for ODBC Drivers&lt;br/&gt;&lt;b&gt;Description:&lt;/b&gt; [Microsoft][ODBC Microsoft Access Driver] Disk or network error.'<br />
(*&nbsp; xp上出現上述錯誤，但在2003上能正常運行，可能與電腦ODBC配置有關)???????</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><font face="Verdana">三、js連接access數據庫</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">scEngine.js文件</font></p>
<p><font face="Verdana">//仿数据库连接池类<br />
function scDBPool(){<br />
&nbsp;&nbsp;&nbsp; try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.con=new ActiveXObject("ADODB.Connection");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.con.Provider="Microsoft.Jet.OLEDB.4.0";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.rs=new ActiveXObject("ADODB.Recordset");<br />
&nbsp;&nbsp;&nbsp; }catch(e){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.con=null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.rs=null;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; this.filePath=null;<br />
&nbsp;&nbsp;&nbsp; this.dbPath=null;<br />
};</font></p>
<font face="Verdana">
<p><br />
//设置数据库文件相对（定位文件）路径和数据库名<br />
scDBPool.prototype.setDB=function(dbPath){<br />
&nbsp;&nbsp;&nbsp; this.dbPath=dbPath;<br />
};</p>
<p>//设置数据库定位文件,这一步可以进连接类中，这里写是方便使用任何名字的数据库<br />
scDBPool.prototype.setDBPathPosition=function(urlFile){<br />
&nbsp;&nbsp;&nbsp; var filePath=location.href.substring(0, location.href.indexOf(urlFile));<br />
&nbsp;&nbsp;&nbsp; this.dbPath=(this.dbPath==null||this.dbPath=="") ? "/calendar.mdb" : this.dbPath;<br />
&nbsp;&nbsp;&nbsp; var path=filePath+this.dbPath;<br />
&nbsp;&nbsp; //去除path前面的"files://"字符串<br />
&nbsp;&nbsp;&nbsp; this.filePath=path.substring(8);<br />
};</p>
<p>//同数据库建立连接<br />
scDBPool.prototype.connect=function(){<br />
&nbsp;this.filePath="C:\\Documents and Settings\\zhen.wang\\Desktop\\js_calendar\\calendar.mdb";&nbsp;&nbsp;&nbsp; //access路徑<br />
&nbsp;&nbsp;&nbsp; this.con.ConnectionString="Data Source="+this.filePath;<br />
&nbsp;//alert(this.con.ConnectionString);<br />
&nbsp;&nbsp;&nbsp; this.con.open;<br />
};</p>
<p>//执行数据库语句返回结果集<br />
scDBPool.prototype.executeQuery=function(sql){<br />
&nbsp;&nbsp;&nbsp; this.rs.open(sql,this.con);<br />
};</p>
<p>//执行数据库语句不返回结果集<br />
scDBPool.prototype.execute=function(sql){<br />
&nbsp;&nbsp;&nbsp; this.con.execute(sql);<br />
};</p>
<p>//关闭结果集<br />
scDBPool.prototype.rsClose=function(){<br />
&nbsp;&nbsp;&nbsp; this.rs.close();<br />
&nbsp;&nbsp;&nbsp; this.rs=null;<br />
};</p>
<p>//关闭数据连接<br />
scDBPool.prototype.conClose=function(){<br />
&nbsp;&nbsp;&nbsp; this.con.close();<br />
&nbsp;&nbsp;&nbsp; this.con=null;<br />
};</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br />
調用：<br />
&lt;html&gt;<br />
&lt;head&gt;&lt;title&gt;ddd&lt;/title&gt;<br />
&lt;script language="javascript" src="scEngine.js"&gt;&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;</p>
<p>&lt;script language="javascript"&gt;<br />
var db=new scDBPool();<br />
db.setDB("calendar.mdb");<br />
db.connect();<br />
var sql="insert into cTime(Week) values('ddd') ";<br />
db.execute(sql);<br />
/*<br />
db.executeQuery(sql);<br />
while(!db.rs.eof){<br />
&nbsp;&nbsp;&nbsp; var cnt = db.rs.Fields("Data");<br />
&nbsp;&nbsp;&nbsp; document.write(cnt);<br />
&nbsp;&nbsp;&nbsp; db.rs.moveNext;<br />
}<br />
*/<br />
db.rsClose();<br />
db.conClose();<br />
&lt;/script&gt;<br />
&lt;/body&gt;</font></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br />
</font>&nbsp;</p>
<img src ="http://www.cnblogs.com/wang123/aggbug/1271195.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42974/" target="_blank">[新闻]微软12月举办硬件工程大会 Windows7将首次亮相</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>php中模式修正符</title><link>http://www.cnblogs.com/wang123/archive/2008/08/14/1267566.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Thu, 14 Aug 2008 01:56:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/08/14/1267566.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1267566.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/08/14/1267566.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1267566.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1267566.html</trackback:ping><description><![CDATA[<p><font face="Verdana">i<br />
如果设定此修正符，模式中的字符将同时匹配大小写字母。</font></p>
<p><font face="Verdana">m<br />
默认情况下，PCRE 将目标字符串作为单一的一&#8220;行&#8221;字符所组成的（甚至其中包含有换行符也是如此）。&#8220;行起始&#8221;元字符（^）仅仅匹配字符串的起始，&#8220;行结束&#8221;元字符（$）仅仅匹配字符串的结束，或者最后一个字符是换行符时其前面（除非设定了 D 修正符）。这和 Perl 是一样的。 当设定了此修正符，&#8220;行起始&#8221;和&#8220;行结束&#8221;除了匹配整个字符串开头和结束外，还分别匹配其中的换行符的之后和之前。这和 Perl 的 /m 修正符是等效的。如果目标字符串中没有&#8220;\n&#8221;字符或者模式中没有 ^ 或 $，则设定此修正符没有任何效果。</font></p>
<p><font face="Verdana">s<br />
如果设定了此修正符，模式中的圆点元字符（.）匹配所有的字符，包括换行符。没有此设定的话，则不包括换行符。这和 Perl 的 /s 修正符是等效的。排除字符类例如 [^a] 总是匹配换行符的，无论是否设定了此修正符。</font></p>
<p><font face="Verdana">x<br />
如果设定了此修正符，模式中的空白字符除了被转义的或在字符类中的以外完全被忽略，在未转义的字符类之外的 # 以及下一个换行符之间的所有字符，包括两头，也都被忽略。这和 Perl 的 /x 修正符是等效的，使得可以在复杂的模式中加入注释。然而注意，这仅适用于数据字符。空白字符可能永远不会出现于模式中的特殊字符序列，例如引入条件子模式的序列 (?( 中间。</font></p>
<font face="Verdana">
<p><br />
e<br />
如果设定了此修正符，preg_replace() 在替换字符串中对逆向引用作正常的替换，将其作为 PHP 代码求值，并用其结果来替换所搜索的字符串。只有 preg_replace() 使用此修正符，其它 PCRE 函数将忽略之。</p>
<p>&nbsp;</p>
<p>A（大寫）</p>
<p>如果设定了此修正符，模式被强制为&#8220;anchored&#8221;，即强制仅从目标字符串的开头开始匹配。此效果也可以通过适当的模式本身来实现（在 Perl 中实现的唯一方法）。</p>
<p>D（大寫）<br />
如果设定了此修正符，模式中的美元元字符仅匹配目标字符串的结尾。没有此选项时，如果最后一个字符是换行符的话，美元符号也会匹配此字符之前（但不会匹配任何其它换行符之前）。如果设定了 m 修正符则忽略此选项。Perl 中没有与其等价的修正符。</p>
<p>S（大寫）<br />
当一个模式将被使用若干次时，为加速匹配起见值得先对其进行分析。如果设定了此修正符则会进行额外的分析。目前，分析一个模式仅对没有单一固定起始字符的 non-anchored 模式有用。</p>
<p>u<br />
此修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式字符串被当成 UTF-8。本修正符在 Unix 下自 PHP 4.1.0 起可用，在 win32 下自 PHP 4.2.3 起可用。自 PHP 4.3.5 起开始检查模式的 UTF-8 合法性。</p>
<p>U（大寫）<br />
本修正符反转了匹配数量的值使其不是默认的重复，而变成在后面跟上&#8220;?&#8221;才变得重复。这和 Perl 不兼容。也可以通过在模式之中设定 (?U) 修正符或者在数量符之后跟一个问号（如 .*?）来启用此选项。</p>
<p>X（大寫）<br />
此修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式中的任何反斜线后面跟上一个没有特殊意义的字母导致一个错误，从而保留此组合以备将来扩充。默认情况下，和 Perl 一样，一个反斜线后面跟一个没有特殊意义的字母被当成该字母本身。当前没有其它特性受此修正符控制。</font></p>
<img src ="http://www.cnblogs.com/wang123/aggbug/1267566.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42973/" target="_blank">[新闻]电脑程序与12位真人聊天 “艾尔博特”骗过3人</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>window下接裝php+Apache</title><link>http://www.cnblogs.com/wang123/archive/2008/08/14/1267565.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Thu, 14 Aug 2008 01:54:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/08/14/1267565.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1267565.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/08/14/1267565.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1267565.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1267565.html</trackback:ping><description><![CDATA[<p><font face="Verdana">一、解壓php-5.0.5-Win32.zip到相應的目錄,把php.ini-dist另存為php.ini並修改<br />
&nbsp;&nbsp;&nbsp; extension_dir = "D:\php\ext"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //映射到php擴展文件夾，裏面存入一些擴展dll,如：php_mysql.dll、php_pdo.dll等。</font></p>
<p>&nbsp;</p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp; 选择要加载的模块，去掉前面的 &#8220;;&#8221;，就表示要加载此模块了，加载的越多，占用的资源也就多一点，不过也多不到哪去，比如我要用mysql，就要把&#8220;;extension=&nbsp;&nbsp;&nbsp;&nbsp; php_mysql.dll&#8221;前的&#8220;;&#8221;去掉。所有的模块文件都放在php解压缩目录的&#8220;ext&#8221;之下<br />
&nbsp;&nbsp;&nbsp; </font></p>
<p><font face="Verdana"></font>&nbsp;<font face="Verdana"><br />
二、安裝好apache後,改寫httpd.conf<br />
LoadModule php5_module "D:/php/php5apache2_2.dll"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //加載php解析模塊，你安裝的php目錄<br />
PHPIniDir "D:/php/"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//php.ini所在目錄<br />
DocumentRoot "D:/apache_php_test"&nbsp;&nbsp;&nbsp;//更改網站訪問的主目錄<br />
&lt;Directory "D:/apache_php_test"&gt;<br />
...<br />
&lt;/Directory&gt;</p>
<p>AddType application/x-httpd-php .php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //增加php類型，還可以加其它的(html.shtml等)</p>
<p>(以上是最主要的設置)</font></p>
<img src ="http://www.cnblogs.com/wang123/aggbug/1267565.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42973/" target="_blank">[新闻]电脑程序与12位真人聊天 “艾尔博特”骗过3人</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>利用排列函數，解密碼</title><link>http://www.cnblogs.com/wang123/archive/2008/06/03/1210706.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Tue, 03 Jun 2008 00:36:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/06/03/1210706.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1210706.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/06/03/1210706.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1210706.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1210706.html</trackback:ping><description><![CDATA[摘要: aaaaCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> staticvoidMain(){Stopwatchl_cc_stopWatch=newStopwatch();l_cc_stopWatch.Start();stringl_str_passwo&nbsp;&nbsp;<a href='http://www.cnblogs.com/wang123/archive/2008/06/03/1210706.html'>阅读全文</a><img src ="http://www.cnblogs.com/wang123/aggbug/1210706.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42971/" target="_blank">[新闻]Mozilla发布网页开发工具实验室</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>一個圖片縮放類(按長寬比例縮放，自定義長寬縮放)</title><link>http://www.cnblogs.com/wang123/archive/2008/05/16/1200060.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Fri, 16 May 2008 02:38:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/05/16/1200060.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1200060.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/05/16/1200060.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1200060.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1200060.html</trackback:ping><description><![CDATA[摘要: 一個圖片縮放類(按長寬比例縮放，自定義長寬縮放)&nbsp;&nbsp;<a href='http://www.cnblogs.com/wang123/archive/2008/05/16/1200060.html'>阅读全文</a><img src ="http://www.cnblogs.com/wang123/aggbug/1200060.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42970/" target="_blank">[新闻]经典软件十五年深情回眸</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>添加計劃任務，自動備份腳本</title><link>http://www.cnblogs.com/wang123/archive/2008/04/28/1173981.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Mon, 28 Apr 2008 01:37:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/04/28/1173981.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1173981.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/04/28/1173981.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1173981.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1173981.html</trackback:ping><description><![CDATA[xcopy&nbsp; "E:\aaa" "D:\bbb\%date:~0,10%\" &nbsp; /s /y<br />
<br />
說明：把E盤下aaa文件夾，復制到D盤bbb文件夾下(生成時間文件夾)，注意加雙引號，加雙引號防止路徑中存在空格的情況。<br />
<img src ="http://www.cnblogs.com/wang123/aggbug/1173981.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42969/" target="_blank">[新闻]MySpace推自助广告平台MyAds</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>discuzNT中加水印代碼</title><link>http://www.cnblogs.com/wang123/archive/2008/04/14/1152681.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Mon, 14 Apr 2008 05:45:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/04/14/1152681.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1152681.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/04/14/1152681.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1152681.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1152681.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;summary&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// 加水印圖片<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;/summary&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="filename"&gt;要加水印圖片路徑&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="savepathfilename"&gt;加水印後保存的路徑&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="watermarkFilename"&gt;水印圖片路徑&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="watermarkStatus"&gt;水印在圖片中的位置(1—8)&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="quality"&gt;水印質量(0-100)&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="watermarkTransparency"&gt;水印透明度(0-100)&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static void AddImageSignPic(string filename, string savepathfilename, string watermarkFilename, int watermarkStatus, int quality, int watermarkTransparency)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Image img = Image.FromFile(filename);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Graphics g = Graphics.FromImage(img);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置高质量插值法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置高质量,低速度呈现平滑程度<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Image watermark = new Bitmap(watermarkFilename);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (watermark.Height &gt;= img.Height || watermark.Width &gt;= img.Width)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ImageAttributes imageAttributes = new ImageAttributes();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ColorMap colorMap = new ColorMap();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; colorMap.OldColor = Color.FromArgb(255, 0, 255, 0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; colorMap.NewColor = Color.FromArgb(0, 0, 0, 0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ColorMap[] remapTable = { colorMap };<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imageAttributes.SetRemapTable(remapTable, ColorAdjustType.Bitmap);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float transparency = 0.5F;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (watermarkTransparency &gt;= 1 &amp;&amp; watermarkTransparency &lt;= 10)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; transparency = (watermarkTransparency / 10.0F);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float[][] colorMatrixElements = {<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;new float[] {1.0f,&nbsp; 0.0f,&nbsp; 0.0f,&nbsp; 0.0f, 0.0f},<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;new float[] {0.0f,&nbsp; 1.0f,&nbsp; 0.0f,&nbsp; 0.0f, 0.0f},<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;new float[] {0.0f,&nbsp; 0.0f,&nbsp; 1.0f,&nbsp; 0.0f, 0.0f},<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;new float[] {0.0f,&nbsp; 0.0f,&nbsp; 0.0f,&nbsp; transparency, 0.0f},<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;new float[] {0.0f,&nbsp; 0.0f,&nbsp; 0.0f,&nbsp; 0.0f, 1.0f}<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;};<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ColorMatrix colorMatrix = new ColorMatrix(colorMatrixElements);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int xpos = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int ypos = 0;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch (watermarkStatus)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 1:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = (int)(img.Width * (float).01);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = (int)(img.Height * (float).01);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 2:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = (int)((img.Width * (float).50) - (watermark.Width / 2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = (int)(img.Height * (float).01);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 3:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = (int)((img.Width * (float).99) - (watermark.Width));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = (int)(img.Height * (float).01);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 4:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = (int)(img.Width * (float).01);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = (int)((img.Height * (float).50) - (watermark.Height / 2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 5:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = (int)((img.Width * (float).50) - (watermark.Width / 2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = (int)((img.Height * (float).50) - (watermark.Height / 2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 6:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = (int)((img.Width * (float).99) - (watermark.Width));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = (int)((img.Height * (float).50) - (watermark.Height / 2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 7:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = (int)(img.Width * (float).01);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = (int)((img.Height * (float).99) - watermark.Height);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 8:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = (int)((img.Width * (float).50) - (watermark.Width / 2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = (int)((img.Height * (float).99) - watermark.Height);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 9:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = (int)((img.Width * (float).99) - (watermark.Width));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = (int)((img.Height * (float).99) - watermark.Height);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g.DrawImage(watermark, new Rectangle(xpos, ypos, watermark.Width, watermark.Height), 0, 0, watermark.Width, watermark.Height, GraphicsUnit.Pixel, imageAttributes);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //g.DrawImage(watermark, new System.Drawing.Rectangle(xpos, ypos, watermark.Width, watermark.Height), 0, 0, watermark.Width, watermark.Height, System.Drawing.GraphicsUnit.Pixel);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ImageCodecInfo ici = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (ImageCodecInfo codec in codecs)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (codec.MimeType.IndexOf("jpeg") &gt; -1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ici = codec;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EncoderParameters encoderParams = new EncoderParameters();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long[] qualityParam = new long[1];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (quality &lt; 0 || quality &gt; 100)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; quality = 80;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; qualityParam[0] = quality;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EncoderParameter encoderParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, qualityParam);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; encoderParams.Param[0] = encoderParam;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (ici != null)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; img.Save(savepathfilename, ici, encoderParams);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; img.Save(savepathfilename);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g.Dispose();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; img.Dispose();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; watermark.Dispose();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imageAttributes.Dispose();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;summary&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// 增加水印文字<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;/summary&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="filename"&gt;要加水印圖片路徑&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="savepathfilename"&gt;加水印後保存的路徑&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="watermarkText"&gt;加水印的文字&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="watermarkStatus"&gt;水印在圖片中的位置(1—8)&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="quality"&gt;水印質量(0-100)&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="fontname"&gt;字體名稱(如:"Tahoma")&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name="fontsize"&gt;字體大小&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static void AddImageSignText(string filename, string savepathfilename, string watermarkText, int watermarkStatus, int quality, string fontname, int fontsize)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Image img = Image.FromFile(filename);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(img);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp; &nbsp;.FromFile(filename);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Graphics g = Graphics.FromImage(img);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Font drawFont = new Font(fontname, fontsize, FontStyle.Regular, GraphicsUnit.Pixel);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SizeF crSize;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; crSize = g.MeasureString(watermarkText, drawFont);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float xpos = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float ypos = 0;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch (watermarkStatus)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 1:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = (float)img.Width * (float).01;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = (float)img.Height * (float).01;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 2:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = ((float)img.Width * (float).50) - (crSize.Width / 2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = (float)img.Height * (float).01;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 3:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = ((float)img.Width * (float).99) - crSize.Width;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = (float)img.Height * (float).01;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 4:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = (float)img.Width * (float).01;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = ((float)img.Height * (float).50) - (crSize.Height / 2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 5:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = ((float)img.Width * (float).50) - (crSize.Width / 2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = ((float)img.Height * (float).50) - (crSize.Height / 2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 6:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = ((float)img.Width * (float).99) - crSize.Width;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = ((float)img.Height * (float).50) - (crSize.Height / 2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 7:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = (float)img.Width * (float).01;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = ((float)img.Height * (float).99) - crSize.Height;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 8:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = ((float)img.Width * (float).50) - (crSize.Width / 2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = ((float)img.Height * (float).99) - crSize.Height;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 9:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xpos = ((float)img.Width * (float).99) - crSize.Width;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ypos = ((float)img.Height * (float).99) - crSize.Height;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;System.Drawing.StringFormat StrFormat = new System.Drawing.StringFormat();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;StrFormat.Alignment = System.Drawing.StringAlignment.Center;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;g.DrawString(watermarkText, drawFont, new System.Drawing.SolidBrush(System.Drawing.Color.White), xpos + 1, ypos + 1, StrFormat);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;g.DrawString(watermarkText, drawFont, new System.Drawing.SolidBrush(System.Drawing.Color.Black), xpos, ypos, StrFormat);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g.DrawString(watermarkText, drawFont, new SolidBrush(Color.White), xpos + 1, ypos + 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g.DrawString(watermarkText, drawFont, new SolidBrush(Color.Black), xpos, ypos);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ImageCodecInfo ici = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (ImageCodecInfo codec in codecs)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (codec.MimeType.IndexOf("jpeg") &gt; -1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ici = codec;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EncoderParameters encoderParams = new EncoderParameters();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long[] qualityParam = new long[1];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (quality &lt; 0 || quality &gt; 100)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; quality = 80;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; qualityParam[0] = quality;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EncoderParameter encoderParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, qualityParam);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; encoderParams.Param[0] = encoderParam;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (ici != null)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; img.Save(savepathfilename, ici, encoderParams);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; img.Save(savepathfilename);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g.Dispose();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //bmp.Dispose();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; img.Dispose();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
<br />
調用:<br />
&nbsp;&nbsp; AddImageSignText("aa.jpg", "aa.jpg", "aaaaa.com", 9, 80, "Tahoma", 24);<br />
&nbsp;&nbsp; AddImageSignPic("aa.jpg", "a1.jpg", "water.gif", 9, 80, 5);<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<img src ="http://www.cnblogs.com/wang123/aggbug/1152681.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42960/" target="_blank">[新闻]Facebook创始人:信息共享或存摩尔定律</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>利用DataAdapter於數擾庫同步</title><link>http://www.cnblogs.com/wang123/archive/2008/04/03/1136499.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Thu, 03 Apr 2008 08:42:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/04/03/1136499.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1136499.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/04/03/1136499.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1136499.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1136499.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SqlConnection conn = new SqlConnection("Data Source=192.168.27.12,10086;User ID=XX;Password=XX;Initial Catalog=XXX;Pooling=true");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (conn.State != ConnectionState.Open)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.Open();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataSet ds = new DataSet();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SqlDataAdapter da = new SqlDataAdapter();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; da.SelectCommand = new SqlCommand("select * from businesses ORDER BY TimeCreated DESC", conn);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SqlCommandBuilder commandbuilder= new SqlCommandBuilder(da);&nbsp; //用到sqlCommandBuildetr對像<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; da.Fill(ds);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.Close();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(ds.Tables[0].Rows[0][0].ToString());<br />
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataTable dt = ds.Tables[0];<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(dt.Rows[0].RowState);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.Rows[0].Delete();<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; /*<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 這裏還可以對數據進行更新，插入操作<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 更新操作：dt.Rows[1][0]="XXX"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 插入一行，則先要構建列與行DataColumn，DataRow,然後相應的加入到DataTable中<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.Rows[1].RowState<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(dt.Rows[0].RowState);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; da.Update(ds);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.AcceptChanges(); <br />
<img src ="http://www.cnblogs.com/wang123/aggbug/1136499.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42959/" target="_blank">[新闻]微软承认Vista用户账户控制功能有问题</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>ajax get,post提交數據</title><link>http://www.cnblogs.com/wang123/archive/2008/03/27/1125032.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Thu, 27 Mar 2008 05:10:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/03/27/1125032.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1125032.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/03/27/1125032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1125032.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1125032.html</trackback:ping><description><![CDATA[//ajaxRead("http://page.aspx?aa=jj&amp;bb=3434",post);<br />
<br />
function ajaxRead(file,type){<br />
&nbsp; var xmlObj = null;<br />
&nbsp; if(window.XMLHttpRequest){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlObj = new XMLHttpRequest();<br />
&nbsp; } else if(window.ActiveXObject){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlObj = new ActiveXObject("Microsoft.XMLHTTP");<br />
&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br />
&nbsp; }<br />
&nbsp; xmlObj.onreadystatechange = function(){<br />
&nbsp;&nbsp;&nbsp; if(xmlObj.readyState == 4){<br />
<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//回調函數<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;callback(xmlObj.responseText);<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; if(file.indexOf("?")&gt;-1)<br />
&nbsp;&nbsp; &nbsp;{<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;file+="&amp;r="+Math.random();<br />
&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp; &nbsp;else<br />
&nbsp;&nbsp; &nbsp;{<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;file+="?r="+Math.random();<br />
&nbsp;&nbsp; &nbsp;}&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &nbsp;switch(type.toUpperCase())<br />
&nbsp;&nbsp; &nbsp;{<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;case "GET":<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;xmlObj.open ('GET', file, true);<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;xmlObj.send (null);<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; case "POST":<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;xmlObj.open("POST",file,true);<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var querystring=file.substr(file.indexOf("?")+1);<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;xmlObj.send(querystring);<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; break;<br />
&nbsp;&nbsp; &nbsp;}<br />
&nbsp; }<br />
<br />
<br />
&nbsp; function callback(response)<br />
&nbsp; {<br />
&nbsp;&nbsp; &nbsp;//返回值的處理<br />
&nbsp;&nbsp; &nbsp;alert(response);<br />
&nbsp; }
<img src ="http://www.cnblogs.com/wang123/aggbug/1125032.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42958/" target="_blank">[新闻]资本寒冬侵袭中国视频网站 营销春天或不远</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>asp.net试题(三)</title><link>http://www.cnblogs.com/wang123/archive/2008/02/26/1082962.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Tue, 26 Feb 2008 15:04:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/02/26/1082962.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1082962.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/02/26/1082962.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1082962.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1082962.html</trackback:ping><description><![CDATA[摘要: ASPX,RESX和CS三个后缀的文件，这个就是代码分离.实现了HTML代码和服务器代码分离.方便代码编写和整理.&nbsp;&nbsp;<a href='http://www.cnblogs.com/wang123/archive/2008/02/26/1082962.html'>阅读全文</a><img src ="http://www.cnblogs.com/wang123/aggbug/1082962.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42957/" target="_blank">[新闻]金融风暴波及全球创业板 中国概念股难独善其身</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>asp.net试题(二)</title><link>http://www.cnblogs.com/wang123/archive/2008/02/25/1081420.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Mon, 25 Feb 2008 15:37:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/02/25/1081420.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1081420.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/02/25/1081420.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1081420.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1081420.html</trackback:ping><description><![CDATA[摘要: int是按值传递的，所以每次改变的都只是一个副本，因此不会出现死锁。但如果把int换做一个object，那么死锁会发生&nbsp;&nbsp;<a href='http://www.cnblogs.com/wang123/archive/2008/02/25/1081420.html'>阅读全文</a><img src ="http://www.cnblogs.com/wang123/aggbug/1081420.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42956/" target="_blank">[新闻]携程范敏：CEO从接发传真做起</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>asp.net試題(一)</title><link>http://www.cnblogs.com/wang123/archive/2008/02/22/1077834.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Fri, 22 Feb 2008 08:26:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/02/22/1077834.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1077834.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/02/22/1077834.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1077834.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1077834.html</trackback:ping><description><![CDATA[摘要: 表中经常有一个列或列的组合，其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键.<br>聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿，后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序，<br>因此一个表只能包含一个聚集索引。但该索引可以包含多个列（组合索引），就像电话簿按姓氏和名字进行组织一样。&nbsp;&nbsp;<a href='http://www.cnblogs.com/wang123/archive/2008/02/22/1077834.html'>阅读全文</a><img src ="http://www.cnblogs.com/wang123/aggbug/1077834.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42955/" target="_blank">[新闻]2008年10月13日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>asp.net  復習（2）</title><link>http://www.cnblogs.com/wang123/archive/2008/02/22/1077740.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Fri, 22 Feb 2008 07:30:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/02/22/1077740.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1077740.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/02/22/1077740.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1077740.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1077740.html</trackback:ping><description><![CDATA[摘要: ASP.NET 提供了卓越的事件驱动编程模型，让开发者简化了应用程序的总体设计，但是这个也造成了它固有的一些问题，例如，使用传统的ASP里，我们可以通过使用 POST方法很容易地实现页面间传递值&nbsp;&nbsp;<a href='http://www.cnblogs.com/wang123/archive/2008/02/22/1077740.html'>阅读全文</a><img src ="http://www.cnblogs.com/wang123/aggbug/1077740.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42955/" target="_blank">[新闻]2008年10月13日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>asp.net  復習（1）</title><link>http://www.cnblogs.com/wang123/archive/2008/02/21/1076698.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Thu, 21 Feb 2008 09:15:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/02/21/1076698.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1076698.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/02/21/1076698.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1076698.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1076698.html</trackback:ping><description><![CDATA[摘要: ADO 与ADO.NET两种数据访问方式区别?<br><br>1. ADO与ADO.NET简介<br>ADO与ADO.NET既有相似也有区别，他们都能够编写对数据库服务器中的数据进行访问和操作的应用程序，&nbsp;&nbsp;<a href='http://www.cnblogs.com/wang123/archive/2008/02/21/1076698.html'>阅读全文</a><img src ="http://www.cnblogs.com/wang123/aggbug/1076698.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42954/" target="_blank">[新闻]Google Android手机大受欢迎,已经订出150万台</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>手機錄音amr格式轉換工具</title><link>http://www.cnblogs.com/wang123/archive/2008/02/21/1076370.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Thu, 21 Feb 2008 05:14:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/02/21/1076370.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1076370.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/02/21/1076370.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1076370.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1076370.html</trackback:ping><description><![CDATA[<br />
<a href="http://www.cnblogs.com/Files/wang123/MobAmrCon14.rar">
下載</a><br />
<img src ="http://www.cnblogs.com/wang123/aggbug/1076370.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42954/" target="_blank">[新闻]Google Android手机大受欢迎,已经订出150万台</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>關於firefox,ie  firstChild.cloneNode(true)奇怪問題</title><link>http://www.cnblogs.com/wang123/archive/2008/02/21/1076089.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Thu, 21 Feb 2008 02:17:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/02/21/1076089.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1076089.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/02/21/1076089.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1076089.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1076089.html</trackback:ping><description><![CDATA[摘要: 關於firefox,ie  firstChild.cloneNode(true)奇怪問題&nbsp;&nbsp;<a href='http://www.cnblogs.com/wang123/archive/2008/02/21/1076089.html'>阅读全文</a><img src ="http://www.cnblogs.com/wang123/aggbug/1076089.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42954/" target="_blank">[新闻]Google Android手机大受欢迎,已经订出150万台</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>一些實用工具</title><link>http://www.cnblogs.com/wang123/archive/2008/02/02/1062238.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Sat, 02 Feb 2008 02:57:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/02/02/1062238.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1062238.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/02/02/1062238.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1062238.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1062238.html</trackback:ping><description><![CDATA[1.網頁調試工具<a href="http://www.cnblogs.com/Files/wang123/Fiddler2Setup.rar">Fiddler2Setup</a><br />
2.<a href="http://www.cnblogs.com/Files/wang123/%E5%8A%A8%E8%BD%AF.Net%E4%BB%A3%E7%A0%81%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90%E5%99%A8.rar">動軟.net代碼生成器</a><br />
3.反編譯<a href="http://www.cnblogs.com/Files/wang123/04112423609.zip">Reflector.exe</a><br />
&nbsp;&nbsp; <a href="http://www.cnblogs.com/Files/wang123/Reflector.FileDisassembler.zip">（插件）</a><br />
<img src ="http://www.cnblogs.com/wang123/aggbug/1062238.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42953/" target="_blank">[新闻]13个大文件邮件传送服务</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>sql2005利用代理自動備份</title><link>http://www.cnblogs.com/wang123/archive/2008/01/19/1045167.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Sat, 19 Jan 2008 02:01:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/01/19/1045167.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1045167.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/01/19/1045167.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1045167.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1045167.html</trackback:ping><description><![CDATA[<p style="margin: 9pt 0cm 9pt 63pt; text-indent: -21pt;"><span style="font-size: 10.5pt; font-family: Helvetica;"><span>1.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size: 10.5pt; font-family: 宋体;">打開</span><span style="font-size: 10.5pt; font-family: Helvetica;">Sql Server Agent </span><span style="font-size: 10.5pt; font-family: 宋体;">新增作業</span></p>
<p style="margin: 9pt 0cm 9pt 63pt; text-indent: -21pt;"><span style="font-size: 10.5pt; font-family: 宋体;"><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/wang123/1.gif" height="187" width="641" /><br />
</span><span style="font-size: 10.5pt; font-family: Helvetica;"><!--[if gte vml 1]>
<![endif]--></span></p>
<p style="margin: 9pt 0cm 9pt 63pt; text-indent: -21pt;"><span style="font-size: 10.5pt; font-family: Helvetica;"><span>2.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size: 10.5pt; font-family: 宋体;">在步驟中選擇要備份的數據庫</span></p>
<p style="margin: 9pt 0cm 9pt 63pt; text-indent: -21pt;"><span style="font-size: 10.5pt; font-family: 宋体;"><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/wang123/2.gif" height="406" width="660" /><br />
</span></p>
<p style="margin: 9pt 0cm 9pt 42pt;"><span style="font-size: 10.5pt; font-family: Helvetica;"><!--[if gte vml 1]>
<![endif]--></span></p>
<p style="margin: 9pt 0cm 9pt 42pt;"><span style="font-size: 10.5pt; font-family: 宋体;">在命令內輸入</span><span style="font-size: 10.5pt; font-family: Helvetica;">T-SQL</span><span style="font-size: 10.5pt; font-family: 宋体;">語句</span></p>
<p style="margin: 9pt 0cm;"><span style="font-size: 10.5pt; font-family: Helvetica;">declare @filename nvarchar(100) set
@filename='D:"Web"Dev"idv"wang"dat'+convert(char(10),getdate(),112) print
@filename BACKUP DATABASE [WaiWai_BBS_2008] TO DISK = @filename WITH NOINIT ,
NOUNLOAD , NAME = N'addin </span><span style="font-size: 10.5pt; font-family: 宋体;">备份</span><span style="font-size: 10.5pt; font-family: Helvetica;">', NOSKIP , STATS = 10,
NOFORMAT</span></p>
<p style="margin: 9pt 0cm;"><span style="font-size: 10.5pt; font-family: Helvetica; color: red;">@filename,[WaiWai_BBS_2008], N'addin </span><span style="font-size: 10.5pt; font-family: 宋体; color: red;">备份</span><span style="font-size: 10.5pt; font-family: Helvetica; color: red;">'<span>&nbsp;&nbsp;
</span></span><span style="font-size: 10.5pt; font-family: 宋体; color: red;">自行修改</span></p>
<p style="margin: 9pt 0cm;"><span style="font-size: 10.5pt; font-family: 宋体; color: red;">利用如下語句還可刪除前三天的備份</span></p>
<p style="margin: 9pt 0cm;"><span style="color: red;">declare &nbsp; @data_3ago &nbsp; nvarchar(50) &nbsp; <br />
&nbsp; declare &nbsp; @cmd &nbsp; varchar(50) &nbsp; <br />
&nbsp; &nbsp; <br />
&nbsp; set &nbsp; @data_3ago &nbsp;
='e:"data"'+convert(varchar(10),getdate()-3,112) &nbsp; &nbsp; <br />
&nbsp; set &nbsp; @cmd &nbsp; = &nbsp; 'del
&nbsp; '+ &nbsp; @data_3ago &nbsp; &nbsp; <br />
&nbsp; exec &nbsp; master..xp_cmdshell &nbsp; @cmd &nbsp; &nbsp; <br />
&nbsp; go</span></p>
<p style="margin: 9pt 0cm;"><span style="font-size: 10.5pt; font-family: Helvetica;">3.</span><span style="font-size: 10.5pt; font-family: 宋体;">設置執行的時間</span></p>
<p style="margin: 9pt 0cm;"><span style="font-size: 10.5pt; font-family: 宋体;"><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/wang123/3.gif" height="471" width="677" /><br />
</span></p>
<p style="margin: 9pt 0cm;"><span style="font-size: 10.5pt; font-family: Helvetica; color: red;"><!--[if gte vml 1]>
<![endif]--></span></p>
<p style="margin: 9pt 0cm;"><span style="font-size: 10.5pt; font-family: Helvetica;">4.</span><span style="font-size: 10.5pt; font-family: 宋体;">確定後，右鍵點擊設置的作業</span><span style="font-size: 10.5pt; font-family: Helvetica;">&#8221;start job at
step&#8230;&#8221;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 10.5pt; font-family: 宋体; color: red;">確保</span><span style="font-size: 10.5pt; font-family: Helvetica; color: red;">SQL Server Agent</span><span style="font-size: 10.5pt; font-family: 宋体; color: red;">已啟用</span></p>
<img src ="http://www.cnblogs.com/wang123/aggbug/1045167.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42952/" target="_blank">[新闻]微型博客Twitter取消IM服务 称其ROI差</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>通过反射动态调用webservices</title><link>http://www.cnblogs.com/wang123/archive/2008/01/11/1034742.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Fri, 11 Jan 2008 02:01:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/01/11/1034742.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1034742.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/01/11/1034742.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1034742.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1034742.html</trackback:ping><description><![CDATA[<p>该方法可以使程序不通过web引用的方式去调用webservices方法，直接在代码里调用该方法就能达到动态调用webservices的目的。使用前先引用System.Web.Services动态链接库，是.net自带的dll。</p>
<p>方法如下：<br />
</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System;<br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Collections.Generic;<br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Text;<br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Net;<br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.IO;<br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Web.Services.Description;<br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.CodeDom;<br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;Microsoft.CSharp;<br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.CodeDom.Compiler;<br />
<br />
</span><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;TestSkin<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Webservices<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span>&nbsp;<span style="color: #808080;">&lt;summary&gt;</span><span style="color: #008000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;实例化WebServices<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span>&nbsp;<span style="color: #808080;">&lt;/summary&gt;</span><span style="color: #008000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span>&nbsp;<span style="color: #808080;">&lt;param&nbsp;name="url"&gt;</span><span style="color: #008000;">WebServices地址</span><span style="color: #808080;">&lt;/param&gt;</span><span style="color: #008000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span>&nbsp;<span style="color: #808080;">&lt;param&nbsp;name="methodname"&gt;</span><span style="color: #008000;">调用的方法</span><span style="color: #808080;">&lt;/param&gt;</span><span style="color: #008000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span>&nbsp;<span style="color: #808080;">&lt;param&nbsp;name="args"&gt;</span><span style="color: #008000;">把webservices里需要的参数按顺序放到这个object[]里</span><span style="color: #808080;">&lt;/param&gt;</span><span style="color: #808080;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span>&nbsp;<span style="color: #0000ff;">static</span>&nbsp;<span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;InvokeWebService(</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;url,&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;methodname,&nbsp;</span><span style="color: #0000ff;">object</span><span style="color: #000000;">[]&nbsp;args)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">这里的namespace是需引用的webservices的命名空间，在这里是写死的，大家可以加一个参数从外面传进来。</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;@namespace&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #000000;">"</span><span style="color: #000000;">client</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">获取WSDL</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WebClient&nbsp;wc&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;WebClient();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stream&nbsp;stream&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;wc.OpenRead(url&nbsp;</span><span style="color: #000000;">+</span>&nbsp;<span style="color: #000000;">"</span><span style="color: #000000;">?WSDL</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ServiceDescription&nbsp;sd&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;ServiceDescription.Read(stream);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;classname&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;sd.Services[</span><span style="color: #000000;">0</span><span style="color: #000000;">].Name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ServiceDescriptionImporter&nbsp;sdi&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ServiceDescriptionImporter();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sdi.AddServiceDescription(sd,&nbsp;</span><span style="color: #000000;">""</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">""</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CodeNamespace&nbsp;cn&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;CodeNamespace(@namespace);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">生成客户端代理类代码</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CodeCompileUnit&nbsp;ccu&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;CodeCompileUnit();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ccu.Namespaces.Add(cn);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sdi.Import(cn,&nbsp;ccu);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSharpCodeProvider&nbsp;csc&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;CSharpCodeProvider();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ICodeCompiler&nbsp;icc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;csc.CreateCompiler();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">设定编译参数</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CompilerParameters&nbsp;cplist&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;CompilerParameters();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cplist.GenerateExecutable&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cplist.GenerateInMemory&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cplist.ReferencedAssemblies.Add(</span><span style="color: #000000;">"</span><span style="color: #000000;">System.dll</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cplist.ReferencedAssemblies.Add(</span><span style="color: #000000;">"</span><span style="color: #000000;">System.XML.dll</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cplist.ReferencedAssemblies.Add(</span><span style="color: #000000;">"</span><span style="color: #000000;">System.Web.Services.dll</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cplist.ReferencedAssemblies.Add(</span><span style="color: #000000;">"</span><span style="color: #000000;">System.Data.dll</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">编译代理类</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CompilerResults&nbsp;cr&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;icc.CompileAssemblyFromDom(cplist,&nbsp;ccu);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">true</span>&nbsp;<span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;cr.Errors.HasErrors)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Text.StringBuilder&nbsp;sb&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;System.Text.StringBuilder();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">foreach</span><span style="color: #000000;">&nbsp;(System.CodeDom.Compiler.CompilerError&nbsp;ce&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;cr.Errors)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(ce.ToString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(System.Environment.NewLine);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">throw</span>&nbsp;<span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Exception(sb.ToString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">生成代理实例，并调用方法</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Reflection.Assembly&nbsp;assembly&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;cr.CompiledAssembly;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;t&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;assembly.GetType(@namespace&nbsp;</span><span style="color: #000000;">+</span>&nbsp;<span style="color: #000000;">"</span><span style="color: #000000;">.</span><span style="color: #000000;">"</span>&nbsp;<span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;classname,&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">,&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;obj&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Activator.CreateInstance(t);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Reflection.MethodInfo&nbsp;mi&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;t.GetMethod(methodname);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;mi.Invoke(obj,&nbsp;args);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">catch</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span>&nbsp;<span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
<img src ="http://www.cnblogs.com/wang123/aggbug/1034742.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42951/" target="_blank">[新闻]用手机聊Gtalk的方法以及应用总结</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>XML操作类</title><link>http://www.cnblogs.com/wang123/archive/2008/01/11/1034738.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Fri, 11 Jan 2008 02:00:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/01/11/1034738.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1034738.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/01/11/1034738.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1034738.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1034738.html</trackback:ping><description><![CDATA[<font color="#0000ff">
<p><font color="#0000ff">public class XmlControl:Object<br />
&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected string strXmlFile;</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected XmlDocument objXmlDoc = new XmlDocument();</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public XmlControl(string XmlFile, Boolean bOverWrite, string sRoot)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //如果覆盖模式，则强行创建一个xml文档<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (bOverWrite)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc.AppendChild(objXmlDoc.CreateXmlDeclaration("1.0", "gb2312", null));//设置xml的版本，格式信息<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc.AppendChild(objXmlDoc.CreateElement("", sRoot, ""));//创建根元素<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc.Save(XmlFile);//保存<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else //否则，检查文件是否存在，不存在则创建<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(File.Exists(XmlFile)))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc.AppendChild(objXmlDoc.CreateXmlDeclaration("1.0", "gb2312", null));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc.AppendChild(objXmlDoc.CreateElement("", sRoot, ""));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc.Save(XmlFile);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc.Load(XmlFile);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (System.Exception ex)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw ex;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strXmlFile = XmlFile;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public DataView GetData(string XmlPathNode)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //查找数据。返回一个DataView<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataSet ds = new DataSet();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringReader read = new StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.ReadXml(read);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ds.Tables[0].DefaultView;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void UpdateNode(string xmlPathNode, string content)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //更新节点內容,如果多个相同的节点,则更新第一个节点<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc.SelectSingleNode(xmlPathNode).InnerText = content;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void UpdateNode(string xmlPathNode, string[] arrAttribName, string[] arrAttribContent, string content)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //更新节点,带属性和内容</font></p>
<p><br />
<font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //修改内容<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc.SelectSingleNode(xmlPathNode).InnerText = content;</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //修改属性<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt;= arrAttribName.GetUpperBound(0); i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc.SelectSingleNode(xmlPathNode).Attributes[i].Value = arrAttribContent[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void DeleteNode(string Node)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //刪除一个节点。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string mainNode = Node.Substring(0, Node.LastIndexOf("/"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc.SelectSingleNode(mainNode).RemoveChild(objXmlDoc.SelectSingleNode(Node));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //throw;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void InsertNode(string mainNode, string ChildNode, string Element, string Content)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //插入一节点和此节点的一子节点。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlNode objRootNode = objXmlDoc.SelectSingleNode(mainNode);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlElement objChildNode = objXmlDoc.CreateElement(ChildNode);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objRootNode.AppendChild(objChildNode);//插入节点<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlElement objElement = objXmlDoc.CreateElement(Element);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objElement.InnerText = Content;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objChildNode.AppendChild(objElement);//插入子节点<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void InsertNode(string mainNode, string Element, string Attrib, string AttribContent, string Content)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //插入一个节点，带一属性。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlNode objNode = objXmlDoc.SelectSingleNode(mainNode);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlElement objElement = objXmlDoc.CreateElement(Element);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objElement.SetAttribute(Attrib, AttribContent);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objElement.InnerText = Content;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objNode.AppendChild(objElement);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void InsertNode(string mainNode, string Element, string Content)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //插入一个节点，不带属性。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlNode objNode = objXmlDoc.SelectSingleNode(mainNode);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlElement objElement = objXmlDoc.CreateElement(Element);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objElement.InnerText = Content;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objNode.AppendChild(objElement);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void InsertNode(string
mainNode, string elementName, string[] arrAttributeName, string[]
arrAttributeContent, string elementContent)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlNode objNode = objXmlDoc.SelectSingleNode(mainNode);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlElement objElement = objXmlDoc.CreateElement(elementName);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt;= arrAttributeName.GetUpperBound(0); i++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objElement.SetAttribute(arrAttributeName[i], arrAttributeContent[i]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objElement.InnerText = elementContent;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objNode.AppendChild(objElement);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font color="#0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void Save()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //保存文档。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc.Save(strXmlFile);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (System.Exception ex)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw ex;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objXmlDoc = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }</font></p>
</font>
<img src ="http://www.cnblogs.com/wang123/aggbug/1034738.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42951/" target="_blank">[新闻]用手机聊Gtalk的方法以及应用总结</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>货币大写转换类</title><link>http://www.cnblogs.com/wang123/archive/2008/01/11/1034734.html</link><dc:creator>感動常在</dc:creator><author>感動常在</author><pubDate>Fri, 11 Jan 2008 01:59:00 GMT</pubDate><guid>http://www.cnblogs.com/wang123/archive/2008/01/11/1034734.html</guid><wfw:comment>http://www.cnblogs.com/wang123/comments/1034734.html</wfw:comment><comments>http://www.cnblogs.com/wang123/archive/2008/01/11/1034734.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wang123/comments/commentRss/1034734.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wang123/services/trackbacks/1034734.html</trackback:ping><description><![CDATA[<span style="color: #008080;">1</span>&nbsp;<span style="color: #0000ff;">public</span>&nbsp;<span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;ConverMoney<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;">&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span>&nbsp;<span style="color: #0000ff;">static</span>&nbsp;<span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;ConvertToUpper(</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;inputNum)<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;strTemp&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;inputNum.ToString(</span><span style="color: #800000;">"</span><span style="color: #800000;">f2</span><span style="color: #800000;">"</span><span style="color: #0000