﻿<?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>博客园-SocanSoft [廖勇军的DotNet博客]</title><link>http://www.cnblogs.com/yvesliao/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 07 Sep 2008 13:33:39 GMT</lastBuildDate><pubDate>Sun, 07 Sep 2008 13:33:39 GMT</pubDate><ttl>60</ttl><item><title>DockPanel的一点点改进</title><link>http://www.cnblogs.com/yvesliao/archive/2008/08/26/1276609.html</link><dc:creator>廖勇军</dc:creator><author>廖勇军</author><pubDate>Tue, 26 Aug 2008 05:23:00 GMT</pubDate><guid>http://www.cnblogs.com/yvesliao/archive/2008/08/26/1276609.html</guid><wfw:comment>http://www.cnblogs.com/yvesliao/comments/1276609.html</wfw:comment><comments>http://www.cnblogs.com/yvesliao/archive/2008/08/26/1276609.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yvesliao/comments/commentRss/1276609.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yvesliao/services/trackbacks/1276609.html</trackback:ping><description><![CDATA[<P>&nbsp; <BR>1、当双击Tab时，原先是直接把当前Tab所表示的这个窗体，从主窗体的框架上分离现来，成为一个浮动的窗体。这不是我想要的，我把它改成了双击关闭。<BR>在DockPaneStripBase的WndProc方法里，对于左键双击消息重新作了处理（下面注释掉的一行是原先的写法，它下面那行是改的）：</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected override void WndProc(ref Message m)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (m.Msg == (int)Win32.Msgs.WM_LBUTTONDBLCLK)<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; base.WndProc(ref m);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int index = HitTest();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (DockPane.DockPanel.AllowEndUserDocking &amp;&amp; index != -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; IDockContent content = Tabs[index].Content;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (content.DockHandler.CheckDockState(!content.DockHandler.IsFloat) != DockState.Unknown)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //content.DockHandler.IsFloat = !content.DockHandler.IsFloat;&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; content.DockHandler.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&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; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; base.WndProc(ref m);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>2、很多窗体都在Tab中有个右键菜单，右击的里面有关闭，所以最好继承一下DockContent，让其它窗体只要继承这个就有了这个右键菜单</P>
<P>using System;<BR>using System.Collections.Generic;<BR>using System.ComponentModel;<BR>using System.Data;<BR>using System.Drawing;<BR>using System.Text;<BR>using System.Windows.Forms;</P>
<P>namespace WeifenLuo.WinFormsUI.Docking<BR>{<BR>&nbsp;&nbsp;&nbsp; public class DockContentEx : WeifenLuo.WinFormsUI.Docking.DockContent<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public DockContentEx()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ContextMenuStrip cms = new System.Windows.Forms.ContextMenuStrip();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ToolStripMenuItem tsmiClose = new System.Windows.Forms.ToolStripMenuItem();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // cms<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tsmiClose.Name = "cms";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tsmiClose.Size = new System.Drawing.Size(98, 22);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tsmiClose.Text = "关闭";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tsmiClose.Click += new System.EventHandler(this.tsmiClose_Click);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // tsmiClose<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cms.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tsmiClose});<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cms.Name = "tsmiClose";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cms.Size = new System.Drawing.Size(99, 26);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.TabPageContextMenuStrip = cms;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private void tsmiClose_Click(object sender, EventArgs e)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }<BR>}<BR></P><img src ="http://www.cnblogs.com/yvesliao/aggbug/1276609.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42134/" target="_blank">[新闻]JavaScript将成Silverlight的最大对手?</a>]]></description></item><item><title>SocanCode 代码生成器发布V3.5，已支持Access数据库</title><link>http://www.cnblogs.com/yvesliao/archive/2008/07/18/1246267.html</link><dc:creator>廖勇军</dc:creator><author>廖勇军</author><pubDate>Fri, 18 Jul 2008 10:08:00 GMT</pubDate><guid>http://www.cnblogs.com/yvesliao/archive/2008/07/18/1246267.html</guid><wfw:comment>http://www.cnblogs.com/yvesliao/comments/1246267.html</wfw:comment><comments>http://www.cnblogs.com/yvesliao/archive/2008/07/18/1246267.html#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://www.cnblogs.com/yvesliao/comments/commentRss/1246267.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yvesliao/services/trackbacks/1246267.html</trackback:ping><description><![CDATA[<P>软件功能及特点：</P>
<P>1、类反射工厂，泛型接口，三层架构，缓存机制，存储过程，分页，用户控件，一气呵成<BR>2、支持SQLSERVER、ACCESS.<BR>3、可选择简单三层架构和工厂模式三层架构<BR>4、可选择不生成缓存代码、简单缓存对象、聚合缓存依赖<BR>5、可选择要生成的层<BR>6、可生成用户控件及后台代码<BR>7、无需输入命令，即可为数据库，表启用缓存依赖<BR>8、自动生成存储过程<BR>9、数据库操作可选择SQL语句和存储过程<BR>10、其它实用小工具<BR></P>
<P>此版本不自动生成分页控件，请在这里下载分页控件配合使用（提供源代码，可修改定制）：<A href="/yvesliao/archive/2007/09/10/888604.html">http://www.cnblogs.com/yvesliao/archive/2007/09/10/888604.html</A><BR><BR>官方网站：<A href="http://www.Socansoft.com">http://www.Socansoft.com</A>，<BR><BR>更多说明及使用方法请看之前的帖子。<A href="/Files/yvesliao/SocanCode.rar">点击这里下载最新版本</A>&nbsp;&nbsp;&nbsp;&nbsp; <A id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl01_Link href="http://files.cnblogs.com/yvesliao/SocanCode_3.2.5.rar"><FONT color=#0681ba>SocanCode经典版本3.2.5下载</FONT></A><BR><BR>设置数据库连接：<BR><BR><IMG height=572 alt=Socancode3.5_1.jpg src="http://www.cnblogs.com/images/cnblogs_com/yvesliao/Socancode3.5_1.jpg" width=805 border=0><BR><BR>生成代码：<BR><BR><IMG height=572 alt=Socancode3.5_2.jpg src="http://www.cnblogs.com/images/cnblogs_com/yvesliao/Socancode3.5_2.jpg" width=807 border=0><BR><BR>输出代码：<BR><BR><IMG height=571 alt=Socancode3.5_3.jpg src="http://www.cnblogs.com/images/cnblogs_com/yvesliao/Socancode3.5_3.jpg" width=804 border=0></P><img src ="http://www.cnblogs.com/yvesliao/aggbug/1246267.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42133/" target="_blank">[新闻]没有谷歌就活不下去的四个网站</a>]]></description></item><item><title>使用Ado.net获取数据库架构信息</title><link>http://www.cnblogs.com/yvesliao/archive/2008/07/16/1244538.html</link><dc:creator>廖勇军</dc:creator><author>廖勇军</author><pubDate>Wed, 16 Jul 2008 09:10:00 GMT</pubDate><guid>http://www.cnblogs.com/yvesliao/archive/2008/07/16/1244538.html</guid><wfw:comment>http://www.cnblogs.com/yvesliao/comments/1244538.html</wfw:comment><comments>http://www.cnblogs.com/yvesliao/archive/2008/07/16/1244538.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yvesliao/comments/commentRss/1244538.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yvesliao/services/trackbacks/1244538.html</trackback:ping><description><![CDATA[<DIV class=cnblogs_code><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>界面上的控件有：<BR>textBoxConnString&nbsp;文本框<BR>btnGet 按钮<BR>dataGridView1&nbsp;GridView<BR><BR><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;btnGet_Click(</SPAN><SPAN style="COLOR: #0000ff">object</SPAN><SPAN style="COLOR: #000000">&nbsp;sender,&nbsp;EventArgs&nbsp;e)<BR><IMG id=Codehighlighter1_70_228_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_70_228_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_70_228_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_70_228_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_70_228_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_70_228_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_70_228_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_70_228_Open_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_70_228_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_70_228_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataTable&nbsp;dt&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;GetSqlDbSchemaUsingOleDbConnection(</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.textBoxConnString.Text.Trim());<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.dataGridView1.DataSource&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;dt;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;DataTable&nbsp;GetSqlDbSchemaUsingOleDbConnection(</SPAN><SPAN style="COLOR: #0000ff">string</SPAN><SPAN style="COLOR: #000000">&nbsp;connString)<BR><IMG id=Codehighlighter1_318_599_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_318_599_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_318_599_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_318_599_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_318_599_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_318_599_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_318_599_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_318_599_Open_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_318_599_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_318_599_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OleDbConnection&nbsp;myConn&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;OleDbConnection(connString);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myConn.Open();<BR><IMG id=Codehighlighter1_513_532_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_513_532_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_513_532_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_513_532_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_513_532_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_513_532_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_513_532_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_513_532_Open_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataTable&nbsp;table1&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;myConn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">object</SPAN><SPAN style="COLOR: #000000">[]&nbsp;</SPAN><SPAN id=Codehighlighter1_513_532_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_513_532_Open_Text><SPAN style="COLOR: #000000">{&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">}</SPAN></SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myConn.Close();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000">&nbsp;table1;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>得到的表格中，有一列DATA_TYPE为数据类型，数据为数字，经过分析，对应关系如下：<BR><BR>smallint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<BR>int/数字&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3<BR>real&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4<BR>float&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5<BR>money,smallmoney/货币&nbsp;&nbsp;&nbsp;&nbsp;6<BR>bit/是/否&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11<BR>sql_variant&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;12<BR>tinyint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;17<BR>bigint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20<BR>uniqueidentifier&nbsp;&nbsp;&nbsp;&nbsp;72<BR>binary,timestamp,image,varbinary/ole对象&nbsp;128<BR>char,text,varchar&nbsp;&nbsp;&nbsp;&nbsp;129<BR>nchar,ntext,nvarchar/文本,备注,超链接&nbsp;&nbsp;130<BR>numeric&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;131<BR>smalldatetime,DateTime/日期时间&nbsp;&nbsp;&nbsp;135</SPAN></SPAN></DIV><img src ="http://www.cnblogs.com/yvesliao/aggbug/1244538.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42132/" target="_blank">[新闻]Google 10周岁生日</a>]]></description></item><item><title>一个简单的LINQ TO SQL的三层架构的例子</title><link>http://www.cnblogs.com/yvesliao/archive/2008/07/14/1242571.html</link><dc:creator>廖勇军</dc:creator><author>廖勇军</author><pubDate>Mon, 14 Jul 2008 07:36:00 GMT</pubDate><guid>http://www.cnblogs.com/yvesliao/archive/2008/07/14/1242571.html</guid><wfw:comment>http://www.cnblogs.com/yvesliao/comments/1242571.html</wfw:comment><comments>http://www.cnblogs.com/yvesliao/archive/2008/07/14/1242571.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yvesliao/comments/commentRss/1242571.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yvesliao/services/trackbacks/1242571.html</trackback:ping><description><![CDATA[文档的架构如下,点击<A href="/Files/yvesliao/SGB.rar">这里</A>可以下载源代码.<BR><BR><IMG height=314 alt=SGB.jpg src="http://www.cnblogs.com/images/cnblogs_com/yvesliao/SGB.jpg" width=278 border=0><img src ="http://www.cnblogs.com/yvesliao/aggbug/1242571.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42131/" target="_blank">[新闻]祝Google 10周岁生日快乐</a>]]></description></item><item><title>华为离职感受</title><link>http://www.cnblogs.com/yvesliao/archive/2008/05/21/1203787.html</link><dc:creator>廖勇军</dc:creator><author>廖勇军</author><pubDate>Wed, 21 May 2008 02:08:00 GMT</pubDate><guid>http://www.cnblogs.com/yvesliao/archive/2008/05/21/1203787.html</guid><wfw:comment>http://www.cnblogs.com/yvesliao/comments/1203787.html</wfw:comment><comments>http://www.cnblogs.com/yvesliao/archive/2008/05/21/1203787.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/yvesliao/comments/commentRss/1203787.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yvesliao/services/trackbacks/1203787.html</trackback:ping><description><![CDATA[<P>从去年10月份进华为，今天终于辞职。<BR><BR><FONT color=#000000>五月五日：找领导聊了一下天，将近两个小时，我说出了我的想法：很累，压力很大。领导说了很多，让我摇摆不定，最后我说，我再好好考虑一下吧。当晚下起了暴雨，我没有加班，回宿舍想了很久。跟领导说出了想法后，心里又有点空空的。</FONT></P>
<P><FONT color=#000000>五月六日：睡了一觉，感觉清晰很多了。昨天在走和留之间摇摆不定的想法，今天大量偏向于走了。于是再次找领导谈了一个小时，就此定了下来。</FONT></P>
<P><FONT color=#000000>五月七日：把工作交接了，很轻松。</FONT></P>
<P><FONT color=#000000>五月八日：到秘书MM处办理离职手续，华为这方面做得真好，来去自由，决不为难离职员工。所以虽然手续比较复杂，不过不管找谁签字，都是非常地配合。不愧为大企业呀，有气度，好来好散。不像有些公司那样，要走就处处为难。难怪有不少以前离职的员工，在华为需要人的时候，又回华为来了。电脑未上交前，用Notes跟同事约好一起吃顿饭，互道祝福。<BR><BR>五月九日：白天把东西收拾好。部分卖掉，部分寄出，留出部分自己带。晚上跟同事一起吃饭。<BR><BR>五月十日：退房，回广州。<BR></FONT><BR>虽说在华为在我的职业生涯中算是绕了一段弯路。因为我一直做上层开发，只有这段时间做了底层开发，后继我又会回到上层开发。但是总结一下，还是有所收获的。<BR><BR>1、首先就是C语言了。华为的C语言考试很难，难在什么地方呢？都是非常易错的。像Intel的大字节序/Motorola的小字节序、字节对齐、Sizeof计算、代码找错、钩子函数、指针等，都是挑了一些一不小心就会错的题。而且必须考满分才能通过。很多人在这次考试中压力很大。不过毕竟是通过了，至少我C语言有了比较好的基础，这样的话，再回来看C#，Java也能有更通彻的理解。<BR><BR>2、其次就是对华为的了解了。之前从未在如此之大的公司工作，也感觉非常神秘。去华为之前，我还以为华为就是华为，面试时还当是一个小公司一样，没想到华为分这么多部门。收到录用通知都分不清在哪个部门。不过公司的管理还算是非常先进，从一件事就可以看出，华为会让每个员工都有压力。离职手续办好了，工卡也上交了。第二天，干部部打来一个电话，说要对我做个离职访谈。我说我工卡已经上交了，进不了研发部了。然后她说在电话里做个离职访谈。我说好。她就问我对团队氛围的看法、对领导的看法、对华为的看法等。最后说，如果还希望进华为，我们还是非常欢迎的。看来，做领导压力也蛮大的啊。<BR><BR>3、学会了一些做事的方法。显然，在这样的公司，开发流程是非常严谨地遵守的。所以也让我对大规模的开发流程有了更深的了解。上百人的开发，模块非常清晰明了，每人负责一个或几个模块。如何使这些模块最后能拼装运行起来，这是个非常严重的问题。<BR><BR>4、对未来的走向的思考。未做过底层开发的我开始接触以为是什么什么样，其实并不其然。底层与上层的唯一区别是关注的点不同。底层也需要很好的框架，也需要好的架构。众所周知，C语言是面向过程的语言，所以使用C语言想做到像上层一样清晰的结构是非常困难的。但是可以尽量地模仿上层开发，设计一个非常合理，非常易于维护的框架。语言不重要，掌握好的架构，甚至能自己设计好的架构这才是程序员最重要的技能。<BR><BR>丢了这么久的上层开发，也要开始复习复习了。成功的人方向不变，路在变；&nbsp; 失败的人路不变，方向在变！现在不是找工作的问题，而是找行业的问题。要选对行业，踏踏实实地在一个行业里做几年。行业需要什么技术都是次要的，技术问题不是难事。对行业的理解，对业务的熟悉才是最重要的。</P><img src ="http://www.cnblogs.com/yvesliao/aggbug/1203787.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42130/" target="_blank">[新闻]Google十年市值达1500亿美元 创造奇迹</a>]]></description></item><item><title>V3.2.5 版更新说明</title><link>http://www.cnblogs.com/yvesliao/archive/2007/11/30/978845.html</link><dc:creator>廖勇军</dc:creator><author>廖勇军</author><pubDate>Fri, 30 Nov 2007 13:18:00 GMT</pubDate><guid>http://www.cnblogs.com/yvesliao/archive/2007/11/30/978845.html</guid><wfw:comment>http://www.cnblogs.com/yvesliao/comments/978845.html</wfw:comment><comments>http://www.cnblogs.com/yvesliao/archive/2007/11/30/978845.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnblogs.com/yvesliao/comments/commentRss/978845.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yvesliao/services/trackbacks/978845.html</trackback:ping><description><![CDATA[1.更改了风中灵药提出的Bug，sql数据类型tinyint在C#中转换中变成了int，而实际上对应的应该是byte。<BR>2.更新了在某些系统（比如Win2000）中，直接用右键，为库，表建立缓存依赖会出错的Bug。<BR><BR>如果有问题请加入QQ群：<BR>39028022(已满)<BR>39025847&nbsp;<BR><BR><A style="COLOR: #0000ff" href="/Files/yvesliao/SocanCode.rar">SocanCode代码生成器下载</A><BR><BR>已接近Final版本。非常稳定了，后续主要是功能上的加强。<img src ="http://www.cnblogs.com/yvesliao/aggbug/978845.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42129/" target="_blank">[新闻]GMail:回过头来支持IE6</a>]]></description></item><item><title>不让图片过大，但用滚轮可放大缩小</title><link>http://www.cnblogs.com/yvesliao/articles/918786.html</link><dc:creator>廖勇军</dc:creator><author>廖勇军</author><pubDate>Tue, 09 Oct 2007 16:23:00 GMT</pubDate><guid>http://www.cnblogs.com/yvesliao/articles/918786.html</guid><wfw:comment>http://www.cnblogs.com/yvesliao/comments/918786.html</wfw:comment><comments>http://www.cnblogs.com/yvesliao/articles/918786.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yvesliao/comments/commentRss/918786.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yvesliao/services/trackbacks/918786.html</trackback:ping><description><![CDATA[要调用的Js代码：<BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">改变图片大小</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">function</SPAN><SPAN style="COLOR: #000000">&nbsp;resizepic(thispic)<BR><IMG id=Codehighlighter1_37_80_Open_Image onclick="this.style.display='none'; Codehighlighter1_37_80_Open_Text.style.display='none'; Codehighlighter1_37_80_Closed_Image.style.display='inline'; Codehighlighter1_37_80_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_37_80_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_37_80_Closed_Text.style.display='none'; Codehighlighter1_37_80_Open_Image.style.display='inline'; Codehighlighter1_37_80_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_37_80_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_37_80_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">(thispic.width</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">700</SPAN><SPAN style="COLOR: #000000">)&nbsp;thispic.width</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">700</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">无级缩放图片大小</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">function</SPAN><SPAN style="COLOR: #000000">&nbsp;bbimg(o)<BR><IMG id=Codehighlighter1_111_239_Open_Image onclick="this.style.display='none'; Codehighlighter1_111_239_Open_Text.style.display='none'; Codehighlighter1_111_239_Closed_Image.style.display='inline'; Codehighlighter1_111_239_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_111_239_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_111_239_Closed_Text.style.display='none'; Codehighlighter1_111_239_Open_Image.style.display='inline'; Codehighlighter1_111_239_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_111_239_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_111_239_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">var</SPAN><SPAN style="COLOR: #000000">&nbsp;zoom</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">parseInt(o.style.zoom,&nbsp;</SPAN><SPAN style="COLOR: #000000">10</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">||</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;zoom</SPAN><SPAN style="COLOR: #000000">+=</SPAN><SPAN style="COLOR: #000000">event.wheelDelta</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">12</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(zoom</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">)&nbsp;o.style.zoom</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">zoom</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">'</SPAN><SPAN style="COLOR: #000000">%</SPAN><SPAN style="COLOR: #000000">';<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">false</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN></DIV><BR>调用示例：
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">IMG&nbsp;</SPAN><SPAN style="COLOR: #ff0000">onmousewheel</SPAN><SPAN style="COLOR: #0000ff">="return&nbsp;bbimg(this)"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;alt</SPAN><SPAN style="COLOR: #0000ff">=""</SPAN><SPAN style="COLOR: #ff0000">&nbsp;hspace</SPAN><SPAN style="COLOR: #0000ff">=0&nbsp;</SPAN><SPAN style="COLOR: #ff0000">src</SPAN><SPAN style="COLOR: #0000ff">="/test.jpg"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;onload</SPAN><SPAN style="COLOR: #0000ff">=javascript:resizepic(this)&nbsp;</SPAN><SPAN style="COLOR: #ff0000">border</SPAN><SPAN style="COLOR: #0000ff">=0</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></DIV><img src ="http://www.cnblogs.com/yvesliao/aggbug/918786.html?type=2" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42128/" target="_blank">[新闻]Google十年大变样</a>]]></description></item><item><title>V3.2.4 版更新说明</title><link>http://www.cnblogs.com/yvesliao/archive/2007/10/09/918505.html</link><dc:creator>廖勇军</dc:creator><author>廖勇军</author><pubDate>Tue, 09 Oct 2007 11:29:00 GMT</pubDate><guid>http://www.cnblogs.com/yvesliao/archive/2007/10/09/918505.html</guid><wfw:comment>http://www.cnblogs.com/yvesliao/comments/918505.html</wfw:comment><comments>http://www.cnblogs.com/yvesliao/archive/2007/10/09/918505.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/yvesliao/comments/commentRss/918505.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yvesliao/services/trackbacks/918505.html</trackback:ping><description><![CDATA[<P>更新了BLL层。<BR>1、GetList方法里缓存Key由原来只有一个参数改成将三个参数连在一起。<BR>2、GetAllList（如果有此方法）不放入成员方法，放到扩展方法里了。并且直接调用BLL中的GetList方法。<BR><BR>改动很小，第一点改动主要为保险一点，而第二点为逻辑更清晰一点。</P><img src ="http://www.cnblogs.com/yvesliao/aggbug/918505.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42127/" target="_blank">[新闻]谷歌十年创新路</a>]]></description></item><item><title>V3.2.3 版更新说明</title><link>http://www.cnblogs.com/yvesliao/archive/2007/09/26/907065.html</link><dc:creator>廖勇军</dc:creator><author>廖勇军</author><pubDate>Wed, 26 Sep 2007 11:26:00 GMT</pubDate><guid>http://www.cnblogs.com/yvesliao/archive/2007/09/26/907065.html</guid><wfw:comment>http://www.cnblogs.com/yvesliao/comments/907065.html</wfw:comment><comments>http://www.cnblogs.com/yvesliao/archive/2007/09/26/907065.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/yvesliao/comments/commentRss/907065.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yvesliao/services/trackbacks/907065.html</trackback:ping><description><![CDATA[1、BLL层每个类中的缓存删除操作提取到Caches.cs文件中新增加一个类RemoveCaches中。其它类只需继承此类即可，不必繁琐地在每个类中写上缓存删除的方法。这更符合面向对象思想。<BR><BR>2、是否启用缓存更改代码为&nbsp;<BR><BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">Convert.ToBoolean(ConfigurationManager.AppSettings[</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">EnableCache</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">])&nbsp;&nbsp;&nbsp;</SPAN></DIV>
<P class=alt>即在不设置&lt;add key="EnableCache" value="true"/&gt;的情况下，相当于不使用缓存。 </P><img src ="http://www.cnblogs.com/yvesliao/aggbug/907065.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42126/" target="_blank">[新闻]十年回顾：Google的互联网经济</a>]]></description></item><item><title>XMLHTTP常用的方法</title><link>http://www.cnblogs.com/yvesliao/articles/900848.html</link><dc:creator>廖勇军</dc:creator><author>廖勇军</author><pubDate>Fri, 21 Sep 2007 01:26:00 GMT</pubDate><guid>http://www.cnblogs.com/yvesliao/articles/900848.html</guid><wfw:comment>http://www.cnblogs.com/yvesliao/comments/900848.html</wfw:comment><comments>http://www.cnblogs.com/yvesliao/articles/900848.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yvesliao/comments/commentRss/900848.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yvesliao/services/trackbacks/900848.html</trackback:ping><description><![CDATA[<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">function</SPAN><SPAN style="COLOR: #000000">&nbsp;Mark(num)<BR><IMG id=Codehighlighter1_27_387_Open_Image onclick="this.style.display='none'; Codehighlighter1_27_387_Open_Text.style.display='none'; Codehighlighter1_27_387_Closed_Image.style.display='inline'; Codehighlighter1_27_387_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_27_387_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_27_387_Closed_Text.style.display='none'; Codehighlighter1_27_387_Open_Image.style.display='inline'; Codehighlighter1_27_387_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_27_387_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_27_387_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">var</SPAN><SPAN style="COLOR: #000000">&nbsp;oMark&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;ActiveXObject(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Microsoft.XMLHTTP</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">var</SPAN><SPAN style="COLOR: #000000">&nbsp;rnd&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;Math.floor(Math.random()</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">1000</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oMark.open(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Get</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">XMLHTTP/Mark.aspx?Id=&lt;%=&nbsp;model.Id&nbsp;%&gt;&amp;Score=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;num</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&amp;rnd=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">rnd,</SPAN><SPAN style="COLOR: #0000ff">false</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oMark.send();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">var</SPAN><SPAN style="COLOR: #000000">&nbsp;strResult&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;oMark.responseText;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oMark.close;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oMark.Disponse;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ShowMsg(strResult);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN></DIV><img src ="http://www.cnblogs.com/yvesliao/aggbug/900848.html?type=2" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42123/" target="_blank">[新闻]Google 10周年大事记</a>]]></description></item></channel></rss>