﻿<?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>IT博客网-KiMoGiGi 技术文集-随笔分类-数据库相关</title><link>http://www.cnitblog.com/seeyeah/category/3173.html</link><description>不在乎选择什么，而在乎坚持多久……</description><language>zh-cn</language><lastBuildDate>Sat, 10 Nov 2007 20:16:53 GMT</lastBuildDate><pubDate>Sat, 10 Nov 2007 20:16:53 GMT</pubDate><ttl>60</ttl><item><title>NHibernate Best Practices with ASP.NET, 1.2nd Ed.</title><link>http://www.cnitblog.com/seeyeah/archive/2007/11/10/36125.html</link><dc:creator>KiMoGiGi</dc:creator><author>KiMoGiGi</author><pubDate>Sat, 10 Nov 2007 13:39:00 GMT</pubDate><guid>http://www.cnitblog.com/seeyeah/archive/2007/11/10/36125.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 引用http://www.codeproject.com/aspnet/NHibernateBestPractices.asp    Download Basic NHibernate Sample - 1,477.9 KB    Download "Enterprise" NHibernate Sample - 2,168.9 KB Preface to the 1.2n...&nbsp;&nbsp;<a href='http://www.cnitblog.com/seeyeah/archive/2007/11/10/36125.html'>阅读全文</a><img src ="http://www.cnitblog.com/seeyeah/aggbug/36125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/seeyeah/" target="_blank">KiMoGiGi</a> 2007-11-10 21:39 <a href="http://www.cnitblog.com/seeyeah/archive/2007/11/10/36125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用NorthWind作为示例数据库</title><link>http://www.cnitblog.com/seeyeah/archive/2007/08/14/31759.html</link><dc:creator>KiMoGiGi</dc:creator><author>KiMoGiGi</author><pubDate>Mon, 13 Aug 2007 16:38:00 GMT</pubDate><guid>http://www.cnitblog.com/seeyeah/archive/2007/08/14/31759.html</guid><description><![CDATA[<p><strong><font size=3>使用NorthWind作为示例数据库</font></strong></p>
<p>NorthWind数据库风采不减当年，为了演示动态数据控件的强大功能，这里我们也使用了NorthWind数据库。</p>
<p>顺便介绍一下在VS 2005中自带的SQL Express中使用NorthWind数据库的方法，方便没装数据库的朋友：</p>
<p>首先下载并安装原始的NorthWind数据库：<a title=http://www.microsoft.com/downloads/details.aspx?familyid=06616212-0356-46a0-8da2-eebc53a68034&amp;displaylang=en href="http://www.microsoft.com/downloads/details.aspx?familyid=06616212-0356-46a0-8da2-eebc53a68034&amp;displaylang=en" target=_blank><u><font color=#800080>http://www.microsoft.com/downloads/details.aspx?familyid=06616212-0356-46a0-8da2-eebc53a68034&amp;displaylang=en</font></u></a></p>
<p>然后在命令行窗口中导航至"c:\Sql Server 2000 Sample Databases"</p>
<p>输入如下命令即可（要将[Computer Name]替换为你的计算机名）：</p>
<div class=csharpcode>
<pre class=alt>osql -E -S [Computer Name]\SqlExpress -i instnwnd.sql </pre>
</div>
<img src ="http://www.cnitblog.com/seeyeah/aggbug/31759.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/seeyeah/" target="_blank">KiMoGiGi</a> 2007-08-14 00:38 <a href="http://www.cnitblog.com/seeyeah/archive/2007/08/14/31759.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何解决ACCESS中SELECT TOP语句竟然返回多条记录的问题？ </title><link>http://www.cnitblog.com/seeyeah/archive/2006/12/03/19869.html</link><dc:creator>KiMoGiGi</dc:creator><author>KiMoGiGi</author><pubDate>Sat, 02 Dec 2006 16:18:00 GMT</pubDate><guid>http://www.cnitblog.com/seeyeah/archive/2006/12/03/19869.html</guid><description><![CDATA[
		<div class="postbody">
				<p>
						<strong>关于ACCESS中TOP 功能的一个问题<br /></strong>
						<br />我一直以为ACCESS的SQL语句与SQL Server差不多，当时也使用 Select top n在ACCESS测试过，都是成功的，但昨天突然发现ACCESS中有个问题：<br />  如果在查询TOP语句的后面使用Order by，而且Order by字段中有重复值的话，那么这个TOP很可能会失效，<br />会返回所有记录<br />比如：<br /></p>
				<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"> </span>
						<span style="COLOR: #0000ff">Select</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">top</span>
						<span style="COLOR: #000000"> </span>
						<span style="FONT-WEIGHT: bold; COLOR: #800000">5</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">from</span>
						<span style="COLOR: #000000"> News </span>
						<span style="COLOR: #0000ff">order</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">by</span>
						<span style="COLOR: #000000"> CreateDate</span>
				</div>
				<p>如果CreateDate中有重复值，那么很有可能会显示出所有的记录来，此TOP功能会失效的<br />但如果CreateDate中无重复值，那么TOP功能还是有效的<br /><br />因此，在ACCESS中使用TOP功能要注意一下order by的字段是否会有重复值，如果象CreateDate是"年-月-日 时：分：秒"的，那基本上问题不大的。<br />但为了保险起见，我们也可以采用“加入主键”的方式：<br /></p>
				<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"> </span>
						<span style="COLOR: #0000ff">Select</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">top</span>
						<span style="COLOR: #000000"> </span>
						<span style="FONT-WEIGHT: bold; COLOR: #800000">5</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">from</span>
						<span style="COLOR: #000000"> News </span>
						<span style="COLOR: #0000ff">order</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">by</span>
						<span style="COLOR: #000000"> CreateDate </span>
						<span style="COLOR: #0000ff">desc</span>
						<span style="COLOR: #000000">,id </span>
						<span style="COLOR: #0000ff">desc</span>
				</div>
				<p>
						<br />用主键作“不可能重复”的保障就可以防止此问题出现了！！<br /><br />希望这对某些朋友有用！！<br /><br />在网上找到一个相关的解释：<br /><span style="BACKGROUND-COLOR: #c0c0c0">JET SQL不是 T-SQL语句。<br />jet sql 会返回重复值，也就是说，一个表中如果 ORDER BY 的字段都是 0 ，一共有100条记录，即使你用SELECT TOP 1 来返回记录，也同样返回100条记录，因为 JET DB 无从在这100条记录里面判断先后次序，只能返回100条。要解决此问题可以在后面加入一个主键字段</span></p>
		</div>
<img src ="http://www.cnitblog.com/seeyeah/aggbug/19869.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/seeyeah/" target="_blank">KiMoGiGi</a> 2006-12-03 00:18 <a href="http://www.cnitblog.com/seeyeah/archive/2006/12/03/19869.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sql搜集</title><link>http://www.cnitblog.com/seeyeah/archive/2006/10/18/18079.html</link><dc:creator>KiMoGiGi</dc:creator><author>KiMoGiGi</author><pubDate>Wed, 18 Oct 2006 05:22:00 GMT</pubDate><guid>http://www.cnitblog.com/seeyeah/archive/2006/10/18/18079.html</guid><description><![CDATA[
		<p>select a ,b from t where a in (select distinct a from t)<br />select a,min(b) as b from t group by a<br /><br /><br />写sql语句实现下列查询<br />(表)t<br />a b(列)<br />1 2<br />1 3 <br />1 4<br />2 1<br />2 2<br />3 1<br />4 1<br />5 3<br />5 2<br />查询结果要求<br />a b<br />1 2<br />2 1<br />3 1 <br />4 1<br />5 2</p>
		<p> </p>
<img src ="http://www.cnitblog.com/seeyeah/aggbug/18079.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/seeyeah/" target="_blank">KiMoGiGi</a> 2006-10-18 13:22 <a href="http://www.cnitblog.com/seeyeah/archive/2006/10/18/18079.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>插入最新记录的ID</title><link>http://www.cnitblog.com/seeyeah/archive/2006/06/23/12747.html</link><dc:creator>KiMoGiGi</dc:creator><author>KiMoGiGi</author><pubDate>Fri, 23 Jun 2006 06:06:00 GMT</pubDate><guid>http://www.cnitblog.com/seeyeah/archive/2006/06/23/12747.html</guid><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.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">你的sql语句<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />string  SqlStr</span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000">@"</span>
				<span style="COLOR: #0000ff">insert</span>
				<span style="COLOR: #000000">  </span>
				<span style="COLOR: #0000ff">into</span>
				<span style="COLOR: #000000">    </span>
				<span style="COLOR: #0000ff">table</span>
				<span style="COLOR: #000000">(……)</span>
				<span style="COLOR: #0000ff">values</span>
				<span style="COLOR: #000000">(……)      </span>
				<span style="COLOR: #0000ff">select</span>
				<span style="COLOR: #000000">  </span>
				<span style="COLOR: #ff00ff">SCOPE_IDENTITY</span>
				<span style="COLOR: #000000">()    </span>
				<span style="COLOR: #0000ff">as</span>
				<span style="COLOR: #000000">  ＇myNewId＇";<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />执行sql<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />SqlDataReader  myDr</span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000">用ExecuteReader方法执行你的SQL语句<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />获得ID<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />myDr.GetValue(</span>
				<span style="FONT-WEIGHT: bold; COLOR: #800000">0</span>
				<span style="COLOR: #000000">).ToString()<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />注：<br /><img id="Codehighlighter1_199_256_Open_Image" onclick="this.style.display='none'; Codehighlighter1_199_256_Open_Text.style.display='none'; Codehighlighter1_199_256_Closed_Image.style.display='inline'; Codehighlighter1_199_256_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_199_256_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_199_256_Closed_Text.style.display='none'; Codehighlighter1_199_256_Open_Image.style.display='inline'; Codehighlighter1_199_256_Open_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_199_256_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">/**/</span>
				<span id="Codehighlighter1_199_256_Open_Text">
						<span style="COLOR: #008080">/*</span>
						<span style="COLOR: #008080">  对于想要得到一个表中的最后一个插入操作所产生的ID的最好用IDENT_CURRENT(＇TBName＇)</span>
						<span style="COLOR: #008080">*/</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">INSERT</span>
				<span style="COLOR: #000000">  </span>
				<span style="COLOR: #0000ff">INTO</span>
				<span style="COLOR: #000000">  </span>
				<span style="COLOR: #0000ff">table</span>
				<span style="COLOR: #000000">(field1,field2,<img src="http://www.cnitblog.com/images/dot.gif" />)  </span>
				<span style="COLOR: #0000ff">VALUES</span>
				<span style="COLOR: #000000">("field1Value","field2Value",<img src="http://www.cnitblog.com/images/dot.gif" />)  </span>
				<span style="COLOR: #0000ff">SELECT</span>
				<span style="COLOR: #000000">  IDENT_CURRENT(＇recordID＇)  </span>
				<span style="COLOR: #0000ff">as</span>
				<span style="COLOR: #000000">  newIDValue<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_390_432_Open_Image" onclick="this.style.display='none'; Codehighlighter1_390_432_Open_Text.style.display='none'; Codehighlighter1_390_432_Closed_Image.style.display='inline'; Codehighlighter1_390_432_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_390_432_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_390_432_Closed_Text.style.display='none'; Codehighlighter1_390_432_Open_Image.style.display='inline'; Codehighlighter1_390_432_Open_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_390_432_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">/**/</span>
				<span id="Codehighlighter1_390_432_Open_Text">
						<span style="COLOR: #008080">/*</span>
						<span style="COLOR: #008080">对于马上使用的刚才插入的新记录ID用SCOPE_IDENTITY()是最合适的</span>
						<span style="COLOR: #008080">*/</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">INSERT</span>
				<span style="COLOR: #000000">  </span>
				<span style="COLOR: #0000ff">INTO</span>
				<span style="COLOR: #000000">  </span>
				<span style="COLOR: #0000ff">table</span>
				<span style="COLOR: #000000">(field1,field2,<img src="http://www.cnitblog.com/images/dot.gif" />)  </span>
				<span style="COLOR: #0000ff">VALUES</span>
				<span style="COLOR: #000000">("field1Value","field2Value",<img src="http://www.cnitblog.com/images/dot.gif" />)  </span>
				<span style="COLOR: #0000ff">SELECT</span>
				<span style="COLOR: #000000">  </span>
				<span style="COLOR: #ff00ff">SCOPE_IDENTITY</span>
				<span style="COLOR: #000000">()  </span>
				<span style="COLOR: #0000ff">as</span>
				<span style="COLOR: #000000">  newIDValue<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_557_598_Open_Image" onclick="this.style.display='none'; Codehighlighter1_557_598_Open_Text.style.display='none'; Codehighlighter1_557_598_Closed_Image.style.display='inline'; Codehighlighter1_557_598_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_557_598_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_557_598_Closed_Text.style.display='none'; Codehighlighter1_557_598_Open_Image.style.display='inline'; Codehighlighter1_557_598_Open_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_557_598_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">/**/</span>
				<span id="Codehighlighter1_557_598_Open_Text">
						<span style="COLOR: #008080">/*</span>
						<span style="COLOR: #008080">对于想要得到一系列的操作中最后得到的那个自增的ID最好用@@IDENTITY</span>
						<span style="COLOR: #008080">*/</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">INSERT</span>
				<span style="COLOR: #000000">  </span>
				<span style="COLOR: #0000ff">INTO</span>
				<span style="COLOR: #000000">  </span>
				<span style="COLOR: #0000ff">table</span>
				<span style="COLOR: #000000">(field1,field2,<img src="http://www.cnitblog.com/images/dot.gif" />)  </span>
				<span style="COLOR: #0000ff">VALUES</span>
				<span style="COLOR: #000000">("field1Value","field2Value",<img src="http://www.cnitblog.com/images/dot.gif" />)  </span>
				<span style="COLOR: #0000ff">SELECT</span>
				<span style="COLOR: #000000">  </span>
				<span style="FONT-WEIGHT: bold; COLOR: #008000">@@IDENTITY</span>
				<span style="COLOR: #000000">  </span>
				<span style="COLOR: #0000ff">as</span>
				<span style="COLOR: #000000">  newIDValue <br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
<img src ="http://www.cnitblog.com/seeyeah/aggbug/12747.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/seeyeah/" target="_blank">KiMoGiGi</a> 2006-06-23 14:06 <a href="http://www.cnitblog.com/seeyeah/archive/2006/06/23/12747.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>