<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<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.spersky.com/</link><description>Spersky</description><generator>RainbowSoft Studio Z-Blog 1.8 Walle Build 100427</generator><language>zh-CN</language><copyright>Copyright spersky All Rights Reserved.Theme Moonlihgt,Calf modified。</copyright><pubDate>Sat, 12 May 2012 11:48:34 +0800</pubDate><item><title>vb.net 2010/2008 导出到excel</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/381.html</link><pubDate>Sun, 29 Apr 2012 19:07:58 +0800</pubDate><guid>http://www.spersky.com/post/381.html</guid><description><![CDATA[<p>这是网上的一个在Vb.net中将数据库中的数据导出到Excel的例子，经过了小小的修改，这种方法的好处是不需要另外的引用，代码如下：</p><p><span style="color: rgb(128, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br /></span></p><div class="codeText"><div class="codeHead"><span class="lantxt">ASP/Visual Basic Code</span><span onclick="copyIdText('code_5653')" style="cursor:pointer" class="copyCodeText">复制内容到剪贴板</span></div><div id="code_5653"><ol start="1" class="dp-vb">    <li class="alt"><span><span class="keyword">Dim</span><span>&nbsp;Mytable&nbsp;</span><span class="keyword">As</span><span>&nbsp;DataTable&nbsp;=&nbsp;<span style="color: rgb(255, 0, 0);">myDataSet</span>(</span><span class="string">&quot;select&nbsp;*&nbsp;from&nbsp;JL&quot;</span><span>).Tables(0)&nbsp;&nbsp;</span></span><span style="color: rgb(128, 0, 0);"> '红色的是自定函数，可见最下面代码</span></li>    <li><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span><span class="keyword">If</span><span>&nbsp;Mytable&nbsp;</span><span class="keyword">Is</span><span>&nbsp;</span><span class="keyword">Nothing</span><span>&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(<span class="string">&quot;没有记录不能导出数据&quot;</span><span>,&nbsp;</span><span class="string">&quot;导出提示&quot;</span><span>,&nbsp;MessageBoxButtons.OK,&nbsp;MessageBoxIcon.Information)&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Exit</span><span>&nbsp;</span><span class="keyword">Sub</span><span>&nbsp;&nbsp;</span></span></li>    <li><span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span><span class="keyword">Dim</span><span>&nbsp;SaveFileDialog&nbsp;</span><span class="keyword">As</span><span>&nbsp;FileDialog&nbsp;=&nbsp;</span><span class="keyword">New</span><span>&nbsp;SaveFileDialog&nbsp;&nbsp;</span></span></li>    <li><span><span class="keyword">If</span><span>&nbsp;Mytable.Rows.Count&nbsp;&gt;&nbsp;0&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Dim</span><span>&nbsp;MyFileName&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">String</span><span>&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Dim</span><span>&nbsp;FileName&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">String</span><span>&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">With</span><span>&nbsp;SaveFileDialog&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.AddExtension&nbsp;=&nbsp;<span class="keyword">True</span><span>&nbsp;</span><span class="comment">'如果用户忘记添加扩展名，将自动加上</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.DefaultExt&nbsp;=&nbsp;<span class="string">&quot;xls&quot;</span><span>&nbsp;</span><span class="comment">'默认扩展名</span><span>&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Filter&nbsp;=&nbsp;<span class="string">&quot;Excel文件(*.xls)|*.xls&quot;</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Title&nbsp;=&nbsp;<span class="string">&quot;文件保存到&quot;</span><span>&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">If</span><span>&nbsp;.ShowDialog&nbsp;=&nbsp;Windows.Forms.DialogResult.OK&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileName&nbsp;=&nbsp;.FileName&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">End</span><span>&nbsp;</span><span class="keyword">With</span><span>&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;MyFileName&nbsp;=&nbsp;Microsoft.VisualBasic.Right(FileName,&nbsp;4)&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">If</span><span>&nbsp;MyFileName&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Exit</span><span>&nbsp;</span><span class="keyword">Sub</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">If</span><span>&nbsp;MyFileName&nbsp;=&nbsp;</span><span class="string">&quot;.xls&quot;</span><span>&nbsp;</span><span class="keyword">Or</span><span>&nbsp;MyFileName&nbsp;=&nbsp;</span><span class="string">&quot;.XLS&quot;</span><span>&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Dim</span><span>&nbsp;fs&nbsp;</span><span class="keyword">As</span><span>&nbsp;FileStream&nbsp;=&nbsp;</span><span class="keyword">New</span><span>&nbsp;FileStream(FileName,&nbsp;FileMode.Create)&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Dim</span><span>&nbsp;sw&nbsp;</span><span class="keyword">As</span><span>&nbsp;StreamWriter&nbsp;=&nbsp;</span><span class="keyword">New</span><span>&nbsp;StreamWriter(fs,&nbsp;System.Text.Encoding.</span><span class="keyword">Default</span><span>)&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sw.WriteLine(vbTab&nbsp;&amp;&nbsp;FileName&nbsp;&amp;&nbsp;vbTab&nbsp;&amp;&nbsp;<span class="keyword">Date</span><span>.Now)&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Dim</span><span>&nbsp;i,&nbsp;j&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">Integer</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Dim</span><span>&nbsp;str&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">String</span><span>&nbsp;=&nbsp;</span><span class="string">&quot;&quot;</span><span>&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">For</span><span>&nbsp;i&nbsp;=&nbsp;0&nbsp;</span><span class="keyword">To</span><span>&nbsp;Mytable.Columns.Count&nbsp;-&nbsp;1&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;Mytable.Columns(i).Caption&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sw.Write(str&nbsp;&amp;&nbsp;vbTab)&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Next</span><span>&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sw.Write(vbCrLf)&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">For</span><span>&nbsp;j&nbsp;=&nbsp;0&nbsp;</span><span class="keyword">To</span><span>&nbsp;Mytable.Rows.Count&nbsp;-&nbsp;1&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">For</span><span>&nbsp;i&nbsp;=&nbsp;0&nbsp;</span><span class="keyword">To</span><span>&nbsp;Mytable.Columns.Count&nbsp;-&nbsp;1&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Dim</span><span>&nbsp;strRow&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">String</span><span>&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strRow&nbsp;=&nbsp;IIf(Mytable.Rows(j).Item(i)&nbsp;<span class="keyword">Is</span><span>&nbsp;DBNull.Value,&nbsp;</span><span class="string">&quot;&quot;</span><span>,&nbsp;Mytable.Rows(j).Item(i))&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sw.Write(strRow&nbsp;&amp;&nbsp;vbTab)&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Next</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sw.Write(vbCrLf)&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Next</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sw.Close()&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fs.Close()&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(<span class="string">&quot;数据导出成功！&quot;</span><span>,&nbsp;</span><span class="string">&quot;导出提示&quot;</span><span>,&nbsp;MessageBoxButtons.OK,&nbsp;MessageBoxIcon.Information)&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Else</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">Exit</span><span>&nbsp;</span><span class="keyword">Sub</span><span>&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></span></li>    <li class="alt"><span><span class="keyword">Else</span><span>&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(<span class="string">&quot;没有记录不能导出数据&quot;</span><span>,&nbsp;</span><span class="string">&quot;导出提示&quot;</span><span>,&nbsp;MessageBoxButtons.OK,&nbsp;MessageBoxIcon.Information)&nbsp;&nbsp;</span></span></li>    <li class="alt"><span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></span></li></ol></div></div><br /><div class="codeText"><div class="codeHead"><span onclick="javascript:code_4471.style.display='none';hit2_4471.style.display='';hit_4471.style.display='none';" style="cursor:pointer" id="hit_4471" class="zhedie">折叠</span><span onclick="javascript:code_4471.style.display='';hit_4471.style.display='';hit2_4471.style.display='none';" style="cursor:pointer;display:none;" id="hit2_4471" class="zhedie">展开</span><span class="lantxt">C/C++ Code</span><span onclick="copyIdText('code_4471')" style="cursor:pointer" class="copyCodeText">复制内容到剪贴板</span></div><div id="code_4471"><ol start="1" class="dp-cpp">    <li class="alt"><span><span>Public&nbsp;Function&nbsp;myDataSet(ByVal&nbsp;SQLStr&nbsp;As&nbsp;String)&nbsp;As&nbsp;DataSet&nbsp;&nbsp;</span></span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;dbName&nbsp;=&nbsp;My.Settings.dbNamer&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;Try&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConnStr&nbsp;=&nbsp;<span class="string">&quot;Provider=Microsoft.Jet.OLEDB.4.0;&nbsp;Data&nbsp;Source=&quot;</span><span>&nbsp;&amp;&nbsp;Application.StartupPath&nbsp;&amp;&nbsp;</span><span class="string">&quot;\&quot;&nbsp;&amp;&nbsp;dbName&nbsp;&amp;&nbsp;&quot;</span><span>.mdb</span><span class="string">&quot;</span>&nbsp;</span></li>    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conn&nbsp;=&nbsp;New&nbsp;OleDbConnection(ConnStr)</span>&nbsp;</span></li>    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conn.Open()</span>&nbsp;</span></li>    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;da&nbsp;As&nbsp;OleDbDataAdapter&nbsp;=&nbsp;New&nbsp;OleDbDataAdapter(SQLStr,&nbsp;Conn)</span>&nbsp;</span></li>    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;ds&nbsp;As&nbsp;DataSet&nbsp;=&nbsp;New&nbsp;DataSet</span>&nbsp;</span></li>    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;da.Fill(ds)</span>&nbsp;</span></li>    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return&nbsp;ds</span>&nbsp;</span></li>    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;Catch&nbsp;ex&nbsp;As&nbsp;Exception</span>&nbsp;</span></li>    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MsgBox(ex.Message.ToString,&nbsp;MsgBoxStyle.Information,&nbsp;&quot;</span><span>提示</span><span class="string">&quot;)</span>&nbsp;</span></li>    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;MsgBox(&quot;</span><span>请检查数据库名称是否正确！！</span><span class="string">&quot;,&nbsp;MsgBoxStyle.Information,&nbsp;&quot;</span><span>找不到数据库</span><span class="string">&quot;)</span>&nbsp;</span></li>    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'frmSet.txtDbName.Text&nbsp;=&nbsp;&quot;</span><span>data2003</span><span class="string">&quot;</span>&nbsp;</span></li>    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbName&nbsp;=&nbsp;My.Settings.dbNamer&nbsp;=&nbsp;&quot;</span><span>site&quot;&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">'frmMain.toolReReadData.PerformClick()</span>&nbsp;</span></li>    <li><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'</span><span>&nbsp;frmSet.Show()&nbsp;&nbsp;</span></span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;Finally&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conn.Close()&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Try&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;Return&nbsp;Nothing&nbsp;&nbsp;'为去无返回警告&nbsp;&nbsp;</span></li>    <li class="alt"><span>End&nbsp;Function&nbsp;&nbsp;</span></li></ol></div></div>]]></description><category>编程学习</category><comments>http://www.spersky.com/post/381.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=381</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=381&amp;key=33636090</trackback:ping></item><item><title>sql 常用语句 技巧</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/380.html</link><pubDate>Fri, 27 Apr 2012 18:53:34 +0800</pubDate><guid>http://www.spersky.com/post/380.html</guid><description><![CDATA[<p>sql 常用语句和技巧收集中，会不断新增</p><p>1.只返回年月日（去掉时分秒），pDate是时间列名</p><p><span style="color: #800000">querystring = &quot;select pName,pNum,<strong><span style="color: #ff0000">convert(varchar(10),pDate,120)</span></strong>,pType,pNote,pTime,pUser,ID from INFO order by pDate desc&quot;</span></p><p>2.只返回年或月等，用<font color="#800000">DATEPART函数</font></p><p><span style="color: #800000">querystring = &quot;select pName,pNum,convert(varchar(10),pDate,120),pType,pNote,pTime,pUser,ID from INFO where<span style="color: #ff0000"><strong> DATEPART(yyyy,pDate)</strong></span>='&quot; &amp; tYear &amp; &quot;' and <strong><span style="color: #ff0000">DATEPART(MM,pDate)</span></strong>='&quot; &amp; tMonth &amp; &quot;' order by pDate desc&quot;</span></p><p>&nbsp;</p><p>&nbsp;</p>]]></description><category>编程学习</category><comments>http://www.spersky.com/post/380.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=380</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=380&amp;key=b0e86de8</trackback:ping></item><item><title>windows server 2008 安装打印驱动</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/379.html</link><pubDate>Sun, 18 Mar 2012 21:13:35 +0800</pubDate><guid>http://www.spersky.com/post/379.html</guid><description><![CDATA[<p>在安装windows server 2008 打印驱动时特地下载了对应的版本，结果还是提示安装程序没有执行，几经摸索终于找到了原因，原来是一个打印服务没有启用，在系统服务中将print spoolsv 服务启用之后便可以正常安装了。</p><p>有些时候往往是小细节耗费了大量的时间，希望对安装驱动有问题的朋友有所帮助，<img src="http://www.spersky.com/image/face/q02.gif" alt="" />.</p>]]></description><category>电脑网络</category><comments>http://www.spersky.com/post/379.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=379</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=379&amp;key=c0a21e3e</trackback:ping></item><item><title>windows8 去水印工具下载</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/378.html</link><pubDate>Fri, 16 Mar 2012 20:50:39 +0800</pubDate><guid>http://www.spersky.com/post/378.html</guid><description><![CDATA[<p>今天刚刚安装了windows8 客户预览版，一切还可以，只是4G的内存只有3.5G可以识别，另一个是系统右下角有windows8水印，看些来不美观，于是在网上下载了一个去水印的小工具，下面是下载地址和使用方法。</p><p>&nbsp;下载地址：<a href="http://dl.dbank.com/c0du1a9ymm">http://dl.dbank.com/c0du1a9ymm</a></p><p>或者直接本地下载：</p><p><a target="_blank" href="http://www.spersky.com/upload/clearWaterWin8.rar">clearWaterWin8.rar</a>&nbsp;(win8 64位也可）</p><p><a href="http://i41.tinypic.com/2vcu5xg.jpg"><img width="633" height="468" alt="" src="http://i41.tinypic.com/2vcu5xg.jpg" /></a></p><p>使用方法见：<a href="http://win8e.com/bbs/thread-12150-1-1.html">http://win8e.com/bbs/thread-12150-1-1.html</a></p><p>&nbsp;</p>]]></description><category>电脑网络</category><comments>http://www.spersky.com/post/378.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=378</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=378&amp;key=5881bd76</trackback:ping></item><item><title>windows7 修改IE默认网页源码查看器 用notepad2</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/377.html</link><pubDate>Thu, 08 Mar 2012 16:59:46 +0800</pubDate><guid>http://www.spersky.com/post/377.html</guid><description><![CDATA[<p>windows7 修改IE默认网页源码查看器 建议用 <a target="_blank" href="http://www.spersky.com/post/notepad2.html ">notepad2</a> （找了好多好像都是IE8以前的版本方法）</p><p><strong>IE8及IE9无意中发现，原来修改也很简单：<br /></strong>1、管理员身份打开IE（很喜欢这样的方式，WIN7的安全控制搞的比XP好不少，有人感觉很烦，我也很烦这些人）；<br />2、点&ldquo;工具&rdquo;，点&ldquo;开发人员工具&rdquo;，打开开发人员工具，快捷键F12；<br />3、点&ldquo;文件&rdquo;，点&ldquo;自定义Internet Explorer查看源文件(C)&rdquo;，点&ldquo;其他(O)&rdquo;，选择要修改的程序，再点&ldquo;代开(O)&rdquo;；<br />4、点的食指酸了？恭喜，你已经修改成功～～</p><p><strong>IE8以前的修改方法首先在网上搜了一下</strong>，都是修改注册表，可悲哀的是：windows下习惯了鼠标点，点，点，再点&hellip;&hellip;如何更改IE查看源代码所打开的默认编辑器，比如EditPlus、UltraEdit和UeStudio等？ 目的： 取消浏览器查看源代码就会打开UltraEdit的设置，恢复使用默认的Notepad(记事本)打开。否则，每次查看IE源代码的时候，就会打开UltraEdit/UeStudio，速度特别慢。 解决方法： 1、进入注册表编辑界面 &ldquo;开始&rdquo;&rarr;&ldquo;运行&rdquo;输入regedit命令，按回车键，即打开注册表编辑界面。&nbsp; 2、依次找到如下键子： HKEY_LOCAL_MACHINE&rarr;SOFTWARE&rarr;Microsof&rarr;Internet Explorer&rarr;View Source Editor&rarr;Editor Name 双击&ldquo;ab（默认）&rdquo;字样的图标。 把默认的编辑器修改为： C:\WINNT\NOTEPAD.EXE (for Windows 2000) C:\WINDOWS\NOTEPAD.EXE (for Windows XP/2003) 这样ok&nbsp;<br />&nbsp;</p><p>转自：<a href="http://hi.baidu.com/cy594/blog/item/5a1ad4077ea532d77b8947cf.html">http://hi.baidu.com/cy594/blog/item/5a1ad4077ea532d77b8947cf.html</a></p>]]></description><category>电脑网络</category><comments>http://www.spersky.com/post/377.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=377</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=377&amp;key=550627af</trackback:ping></item><item><title>office 2010 激活工具（相当于激活码）</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/376.html</link><pubDate>Sun, 12 Feb 2012 19:59:19 +0800</pubDate><guid>http://www.spersky.com/post/376.html</guid><description><![CDATA[<p>office2010在功能和外观上相较以之前版本都有了极大的改善，但想要用到却不那么容易，目前网上已经有了一款工具可帮office迷门解决注册这人难题了，就是激活工具office 2010 Toolkit，以下是下载地址（一般百度一下就有了）</p><p><a href="http://www.xdowns.com/soft/6/143/2010/Soft_67729.html">http://www.xdowns.com/soft/6/143/2010/Soft_67729.html</a></p><p><a href="http://www.xp510.com/soft/ossoft/Patch/13181.html">http://www.xp510.com/soft/ossoft/Patch/13181.html</a></p>]]></description><category>电脑网络</category><comments>http://www.spersky.com/post/376.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=376</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=376&amp;key=c37b87c6</trackback:ping></item><item><title>vb.net 格式化时间</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/375.html</link><pubDate>Tue, 31 Jan 2012 10:14:53 +0800</pubDate><guid>http://www.spersky.com/post/375.html</guid><description><![CDATA[<p>vb.net中的时间格式化，以下的实例来自MSDN,可以搜索Format关键字找到<br /><span style="color: blue;">Dim</span> TestDateTime <span style="color: blue;">As</span> <span style="color: blue;">Date</span> = #1/27/2001 5:04:23 PM#<br /><span style="color: blue;">Dim</span> TestStr <span style="color: blue;">As</span> <span style="color: blue;">String</span><br /><span style="color: green;">' Returns current system time in the system-defined long time format.</span><br />TestStr = Format(Now(), <span style="color: rgb(163, 21, 21);">&quot;Long Time&quot;</span>)<br /><span style="color: green;">' Returns current system date in the system-defined long date format.</span><br />TestStr = Format(Now(), <span style="color: rgb(163, 21, 21);">&quot;Long Date&quot;</span>)<br /><span style="color: green;">' Also returns current system date in the system-defined long date </span><br /><span style="color: green;">' format, using the single letter code for the format.</span><br />TestStr = Format(Now(), <span style="color: rgb(163, 21, 21);">&quot;D&quot;</span>)<br /><br /><span style="color: green;">' Returns the value of TestDateTime in user-defined date/time formats.</span><br /><span style="color: green;">' Returns &quot;5:4:23&quot;.</span><br />TestStr = Format(TestDateTime, <span style="color: rgb(163, 21, 21);">&quot;h:m:s&quot;</span>)<br /><span style="color: green;">' Returns &quot;05:04:23 PM&quot;.</span><br />TestStr = Format(TestDateTime, <span style="color: rgb(163, 21, 21);">&quot;hh:mm:ss tt&quot;</span>)<br /><span style="color: green;">' Returns &quot;Saturday, Jan 27 2001&quot;.</span><br />TestStr = Format(TestDateTime, <span style="color: rgb(163, 21, 21);">&quot;dddd, MMM d yyyy&quot;</span>)<br /><span style="color: green;">' Returns &quot;17:04:23&quot;.</span><br />TestStr = Format(TestDateTime, <span style="color: rgb(163, 21, 21);">&quot;HH:mm:ss&quot;</span>)<br /><span style="color: green;">' Returns &quot;23&quot;.</span><br />TestStr = Format(23)<br /><br /><span style="color: green;">' User-defined numeric formats.</span><br /><span style="color: green;">' Returns &quot;5,459.40&quot;.</span><br />TestStr = Format(5459.4, <span style="color: rgb(163, 21, 21);">&quot;##,##0.00&quot;</span>)<br /><span style="color: green;">' Returns &quot;334.90&quot;.</span><br />TestStr = Format(334.9, <span style="color: rgb(163, 21, 21);">&quot;###0.00&quot;</span>)<br /><span style="color: green;">' Returns &quot;500.00%&quot;.</span><br />TestStr = Format(5, <span style="color: rgb(163, 21, 21);">&quot;0.00%&quot;</span>)<br />&nbsp;</p>]]></description><category>编程学习</category><comments>http://www.spersky.com/post/375.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=375</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=375&amp;key=fc4ca972</trackback:ping></item><item><title>windows 常用命令</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/374.html</link><pubDate>Thu, 19 Jan 2012 20:09:23 +0800</pubDate><guid>http://www.spersky.com/post/374.html</guid><description><![CDATA[<p>经常用到的windows命令，却经常忘记，以后将都记下来</p><p>1.远程桌面以admin身份：mstsc /admin</p>]]></description><category>电脑网络</category><comments>http://www.spersky.com/post/374.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=374</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=374&amp;key=3309b2e7</trackback:ping></item><item><title>vb.net 程序自动发邮件</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/netmail.html</link><pubDate>Wed, 11 Jan 2012 22:04:28 +0800</pubDate><guid>http://www.spersky.com/post/netmail.html</guid><description><![CDATA[<p>以下是vb.net自动发邮件的代码,目前只支持单发，正在想办法群发</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim mf As MailAddress = New MailAddress(&quot;<a href="mailto:sun@163.com">sun@163.com</a>&quot;) '表示电子邮件发件人或收件人的地址。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim mt As MailAddress = New MailAddress(&quot;<a href="mailto:sun@qq.com">sun@qq.com</a>&quot;) '表示电子邮件发件人或收件人的地址。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim strmail As MailMessage = New MailMessage(&quot;<a href="mailto:sun@163.com">sun@163.com</a>&quot;, &quot;<a href="mailto:sun@qq.com">sun@qq.com</a>&quot;) '设置发件人与收件人</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strmail.Subject = &quot;Mthis is a test email.&quot; '邮件标题<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strmail.IsBodyHtml = True '设置成为html显示<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strmail.Body = &quot;Mthis is my test email body.&lt;br&gt;&lt;b&gt;this part is in bold&lt;/b&gt;&quot; '邮件内容<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim strSmtpMail As SmtpClient = New SmtpClient(&quot;<span style="color: rgb(255, 0, 0);">smtp.163.com</span>&quot;) '调用邮箱服务器<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strSmtpMail.Credentials = New NetworkCredential(&quot;name&quot;, &quot;password&quot;) '发件人的用户登录名与密码<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strSmtpMail.Send(strmail) '发送邮件<br />需要导入的命名空间：</p><p>Imports System.Net<br />Imports System.Net.Mail</p>]]></description><category>编程学习</category><comments>http://www.spersky.com/post/netmail.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=373</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=373&amp;key=a78927ed</trackback:ping></item><item><title>SQL SERVER 存储过程实例（转）</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/372.html</link><pubDate>Tue, 06 Dec 2011 11:31:55 +0800</pubDate><guid>http://www.spersky.com/post/372.html</guid><description><![CDATA[<p>将常用的或很复杂的工作，预先用SQL语句写好并用一个指定的名称存储起来,  那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。</p><p><font color="#ff0000" size="4">                  存储过程的优点</font></p><p>&nbsp;</p><p><font color="#ff0000" size="4"><font size="2"><font color="#000000">     1.存储过程只在创造时进行编译，以后每次执行存储过程都不需再重新编译，而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。<br />2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时），可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。<br />3.存储过程可以重复使用,可减少数据库开发人员的工作量<br />4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权</font></font></font></p><p>&nbsp;</p><p><font color="#ff0000" size="4"><font size="2"><font color="#000000">                      </font><font color="#ff0000" size="4">  创建存储过程<br />*************************************************</font></font></font></p><p><font color="#ff0000" size="4"><font size="2"><font color="#ff0000" size="4"> </font></font></font></p><p>&nbsp;</p><p>&nbsp;</p><p><font color="#ff0000" size="4"><font size="2"><font color="#ff0000" size="4"><h5>语法</h5><p>&nbsp;</p><h5><font color="#000000">CREATE PROC[ EDURE ] [ <i>owner</i><b>.</b> ]  <i>procedure_name </i>[ <b>; </b><i>number </i>] <br />[ { @<i>parameter  data_type </i>}</font><font color="#000000"><i> <br /></i>[ VARYING ] [ <b>=  </b><i>default </i>] [ OUTPUT ] </font><b><br /><font color="#000000">    </font></b><font color="#000000">] [ <b>,</b>...<i>n </i>]  <br /><br />[ WITH <br />{ RECOMPILE | ENCRYPTION | RECOMPILE <b>,</b> ENCRYPTION  } ] <br /><br />[ FOR REPLICATION ] <br /><br />AS <i>sql_statement</i> [ ...<i>n  </i>]</font></h5><p>&nbsp;</p><p><font color="#ff0000" size="2"><strong>参数</strong></font></p><p>&nbsp;</p><p><i><font color="#000000">owner</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">    拥有存储过程的用户 ID 的名称。<i>owner</i>  必须是当前用户的名称或当前用户所属的角色的名称。</font></p><p>&nbsp;</p><p><i><font color="#000000">procedure_name</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">     新存储过程的名称。过程名必须符合标识符规则，且对于数据库及其所有者必须唯一。</font></p><p>&nbsp;</p><p><font color="#000000"><b>;</b><i>number</i></font></p><p>&nbsp;</p><p class="indent"><font color="#000000">    是可选的整数，用来对同名的过程分组，以便用一条 DROP PROCEDURE  语句即可将同组的过程一起除去。例如，名为 orders 的应用程序使用的过程可以命名为  <b>orderproc</b>;1、<b>orderproc</b>;2 等。DROP PROCEDURE <b>orderproc</b>  语句将除去整个组。如果名称中包含定界标识符，则数字不应包含在标识符中，只应在 <i>procedure_name</i>  前后使用适当的定界符。</font></p><p>&nbsp;</p><p><font color="#000000">@<i>parameter</i></font></p><p>&nbsp;</p><p class="indent"><font color="#000000">    过程中的参数。在 CREATE PROCEDURE  语句中可以声明一个或多个参数。用户必须在执行过程时提供每个所声明参数的值（除非定义了该参数的默认值，或者该值设置为等于另一个参数）。存储过程最多可以有  2.100 个参数。</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">使用 @  符号作为第一个字符来指定参数名称。参数名称必须符合标识符的规则。每个过程的参数仅用于该过程本身；相同的参数名称可以用在其它过程中。默认情况下，参数只能代替常量，而不能用于代替表名、列名或其它数据库对象的名称。</font></p><p>&nbsp;</p><p><i><font color="#000000">data_type</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">    参数的数据类型。除 <b>table</b>  之外的其他所有数据类型均可以用作存储过程的参数。但是，<b>cursor</b> 数据类型只能用于 OUTPUT 参数。如果指定 <b>cursor</b>  数据类型，则还必须指定 VARYING 和 OUTPUT 关键字。对于可以是 <b>cursor</b>  数据类型的输出参数，没有最大数目的限制。</font></p><p>&nbsp;</p><p><font color="#000000">VARYING</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">     指定作为输出参数支持的结果集（由存储过程动态构造，内容可以变化）。仅适用于游标参数。</font></p><p>&nbsp;</p><p><i><font color="#000000">default</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">     参数的默认值。如果定义了默认值，不必指定该参数的值即可执行过程。默认值必须是常量或 NULL。如果过程将对该参数使用 LIKE  关键字，那么默认值中可以包含通配符（%、_、[] 和 [^]）。</font></p><p>&nbsp;</p><p><font color="#000000">OUTPUT</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">    表明参数是返回参数。该选项的值可以返回给 EXEC[UTE]。使用 OUTPUT  参数可将信息返回给调用过程。<b>Text</b>、<b>ntext</b> 和 <b>image</b> 参数可用作 OUTPUT 参数。使用 OUTPUT  关键字的输出参数可以是游标占位符。</font></p><p>&nbsp;</p><p><i><font color="#000000">n</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">    表示最多可以指定 2.100 个参数的占位符。</font></p><p>&nbsp;</p><p><font color="#000000">{RECOMPILE | ENCRYPTION | RECOMPILE<b>,  </b>ENCRYPTION}</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">    RECOMPILE 表明 SQL Server  不会缓存该过程的计划，该过程将在运行时重新编译。在使用非典型值或临时值而不希望覆盖缓存在内存中的执行计划时，请使用 RECOMPILE  选项。</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">ENCRYPTION 表示 SQL Server 加密  <b>syscomments</b> 表中包含 CREATE PROCEDURE 语句文本的条目。使用 ENCRYPTION 可防止将过程作为 SQL  Server 复制的一部分发布。</font></p><p>&nbsp;</p><p><font color="#000000">FOR REPLICATION</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">    指定不能在订阅服务器上执行为复制创建的存储过程。.使用 FOR  REPLICATION 选项创建的存储过程可用作存储过程筛选，且只能在复制过程中执行。本选项不能和 WITH RECOMPILE  选项一起使用。</font></p><p><font color="#000000">AS</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">   指定过程要执行的操作。</font></p><p>&nbsp;</p><p><i><font color="#000000">sql_statement</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">   过程中要包含的任意数目和类型的 Transact-SQL  语句。但有一些限制。</font></p><p>&nbsp;</p><p><i><font color="#000000">n</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">   是表示此过程可以包含多条 Transact-SQL  语句的占位符。</font></p><p>&nbsp;</p><p class="indent"><font color="#ff0000" size="4">**********************************************</font></p><p>&nbsp;</p><p class="indent">注:*所包围部分来自MS的联机丛书.</p><p class="indent"><font size="3"> <font color="#ff0000">几个实例</font></font></p><p>&nbsp;</p><p class="indent"><font color="#000000">(AjaxCity表中内容)</font></p><p>&nbsp;</p><p class="indent"><font size="3">　　　　　ID        CityName   Short</font></p><p>&nbsp;</p><p class="indent"><font size="3">             1         <a style="text-decoration: underline;" target="_blank" href="http://www.sogou.com/sogoupedia?query=苏州市"><font color="#3c8a06">苏州市</font></a>     SZ　　</font></p><p>&nbsp;</p><p class="indent"><font size="3">             2　　　　 <nobr><a class="iAs" style="color: rgb(0, 102, 153); text-decoration: underline; background-color: transparent;" target="_blank">无锡</a></nobr>市     WX</font></p><p>&nbsp;</p><p class="indent"><font size="3">             3         <a style="text-decoration: underline;" target="_blank" href="http://www.sogou.com/sogoupedia?query=常州市"><font color="#3c8a06">常州市</font></a>     CZ</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">1.选择表中所有内容并返回一个数据集</font></p><p class="indent"><font color="#000000">        CREATE PROCEDURE mysp_All<br />AS<br />select * from AjaxCity<br />GO</font></p><p class="indent"><font color="#000000">执行结果</font></p><p class="indent"><font color="#000000">        <img style="width: 159px; height: 170px;" alt="" src="http://xclw.bokee.com/photo/view.fcgi?mode=3&amp;id=651849" /></font></p><p>&nbsp;</p><p class="indent"><font color="#000000">2.根据传入的参数进行查询并返回一个数据集</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">       CREATE PROCEDURE mysp_para  <br />@CityName varchar(255),</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">            @Short    varchar(255)<br />AS<br />select * from AjaxCity where </font><a href="mailto:CityName=@CityName"><font color="#000000">CityName=@CityName</font></a><font color="#000000"> And </font><a href="mailto:Short=@Short"><font color="#000000">Short=@Short</font></a><br /><font color="#000000">       GO</font></p><p class="indent"><font color="#000000">执行结果</font></p><p>&nbsp;</p><p class="indent"><img width="330" alt="" src="http://xclw.bokee.com/photo/view.fcgi?mode=3&amp;id=652783" /></p><p>&nbsp;</p><p class="indent"><font color="#000000">3.带有输出参数的存储过程(返回前两条记录的ID的和)</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">CREATE PROCEDURE mysp_output<br />@SUM  int  output<br />AS<br />select @SUM=sum([ID]) from (select top 2 * from  AjaxCity) as tmpTable<br />GO</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">执行结果</font></p><p>&nbsp;</p><p class="indent"><img alt="" src="http://xclw.bokee.com/photo/view.fcgi?mode=3&amp;id=653426" /></p><p>&nbsp;</p><p class="indent">4.在存储过程中使用游标</p><p>&nbsp;</p><p class="indent">有这样一个表,存储的是各超阶级市下面的县级市的信息.如图:</p><p>&nbsp;</p><p class="indent"><img alt="" src="http://xclw.bokee.com/photo/view.fcgi?mode=3&amp;id=655732" /></p><p>&nbsp;</p><p class="indent">现在想统计出各个地级市下面的县级市的个数,并组成一个字符串.结果应该是&quot;5,2,2&quot;.</p><p>&nbsp;</p><p class="indent"><font color="#000000">CREATE PROCEDURE mysp_Cursor<br />@Result  varchar(255) output<font color="#339966">//声明输出变量<br /></font>AS<br />declare  city_cursor cursor for<font color="#339966">//声明游标变量<br /></font>    select [ID]  from AjaxCity</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">set @Result=''<br />declare @Field int<font color="#339966">//声明临时存放CityID的变量<br /></font>open city_cursor <font color="#339966">//打开游标<br /></font>fetch next from city_cursor into @Field<font color="#339966">//将实际ID赋给变量<br /></font>while(@@fetch_status=0)<font color="#339966">//循环开始</font><br />begin<br />if @Result = ''<br />select @Result = convert(nvarchar(2),count(*))  from AjaxCounty where </font><a href="mailto:CityID=@Field"><font color="#000000">CityID=@Field</font></a><br /><font color="#000000">        else<br />select @Result = @Result + ',' +  convert(nvarchar(2),count(*)) from AjaxCounty where </font><a href="mailto:CityID=@Field"><font color="#000000">CityID=@Field</font></a><br /><font color="#000000">       <br />fetch next from city_cursor into @Field<font color="#339966">//下一个CityID</font><br />end<br />close city_cursor<font color="#339966">//关闭游标<br /></font>deallocate city_cursor<font color="#339966">//释放游标引用</font><br />GO</font></p><p class="indent"><font color="#000000">执行结果</font></p><p>&nbsp;</p><p class="indent"><img alt="" src="http://xclw.bokee.com/photo/view.fcgi?mode=3&amp;id=656104" /></p><p>&nbsp;</p><p class="indent">好了,关于存储过程先写到这里.以上几个例子基本上实现了平常所用到的大部分功能.至于复杂的存储过程,所用到的知道主要是SQL的语法,以及SQL中内置函数的使用.已不属于本文所要讨论的范围了.</p></font></font></font></p><p>小实例，声明了三个变量，进行更新操作<br />&nbsp;CREATE PROCEDURE [dbo].[BZ_Update]<br />&nbsp;&nbsp;@BZ varchar(max),<br />&nbsp;&nbsp;@RTF varchar(max),<br />&nbsp;&nbsp;@idFlag int<br />&nbsp;&nbsp;AS<br />&nbsp;&nbsp; update INFO set 备注=(@BZ),RTF=(@RTF) where <a href="mailto:TID=@idFlag">TID=@idFlag</a></p><p><br />GO</p><p>&nbsp;</p><p>&nbsp;</p><p><span style="color: rgb(128, 0, 0);">文章来源：<a href="http://www.cnblogs.com/Nina-piaoye/archive/2006/09/18/507183.html">http://www.cnblogs.com/Nina-piaoye/archive/2006/09/18/507183.html</a></span></p>]]></description><category>编程学习</category><comments>http://www.spersky.com/post/372.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=372</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=372&amp;key=058f8363</trackback:ping></item></channel></rss>

