<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Never give up - LEO</title><subtitle type="text">人 只有在合适的地方 才能体现出最大的价值</subtitle><id>http://feed.cnblogs.com/blog/u/23970/rss</id><updated>2010-06-11T03:46:14Z</updated><author><name>lizhiwen</name><uri>http://www.cnblogs.com/lizhiwen/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lizhiwen/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/23970/rss"/><entry><id>http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756241.html</id><title type="text">CN.Text开发笔记—利用反射将数据读入实体类</title><summary type="text">在实际开发中，我们经常需要从数据库中读取数据并赋值给实体类的相应属性。在.Text的DataDTOProvider中存在大量这样的代码, 比如: publicRole[]GetRoles(intBlogID) { System.Collections.ArrayListal=newSystem.Collections.ArrayList(); IDataReaderreader=DbProvide...</summary><published>2010-06-11T03:46:00Z</published><updated>2010-06-11T03:46:00Z</updated><author><name>lizhiwen</name><uri>http://www.cnblogs.com/lizhiwen/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756241.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756241.html"/><content type="html">&lt;p&gt;在实际开发中，我们经常需要从数据库中读取数据并赋值给实体类的相应属性。在.Text的DataDTOProvider中存在大量这样的代码, 比如: &lt;br /&gt;&lt;/p&gt;&lt;div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt;background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 98%; padding-top: 4px; border-bottom: windowtext 0.5pt solid"&gt;&lt;div&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top"  alt="" /&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Role[]&amp;nbsp;GetRoles(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BlogID) &lt;br /&gt;&lt;img id="Codehighlighter1_37_698_Open_Image" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;img id="Codehighlighter1_37_698_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_37_698_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15"  alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_37_698_Open_Text"&gt;&lt;span style="color: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Collections.ArrayList&amp;nbsp;al&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.Collections.ArrayList(); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IDataReader&amp;nbsp;reader&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;DbProvider.Instance().GetRoles(BlogID); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_182_606_Open_Image" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top"&gt;&lt;img id="Codehighlighter1_182_606_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_182_606_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15"  alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_182_606_Open_Text"&gt;&lt;span style="color: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;while&lt;/span&gt;&lt;span style="color: #000000"&gt;(reader.Read()) &lt;br /&gt;&lt;img id="Codehighlighter1_213_601_Open_Image" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top"&gt;&lt;img id="Codehighlighter1_213_601_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_213_601_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15"  alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_213_601_Open_Text"&gt;&lt;span style="color: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Role&amp;nbsp;role&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Role(); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(reader[&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;RoleID&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;DBNull.Value) &lt;br /&gt;&lt;img id="Codehighlighter1_287_335_Open_Image" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top"&gt;&lt;img id="Codehighlighter1_287_335_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_287_335_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15"  alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_287_335_Open_Text"&gt;&lt;span style="color: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;role.RoleID&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;)reader[&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;RoleID&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(reader[&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;Name&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;DBNull.Value) &lt;br /&gt;&lt;img id="Codehighlighter1_380_427_Open_Image" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top"&gt;&lt;img id="Codehighlighter1_380_427_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_380_427_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15"  alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_380_427_Open_Text"&gt;&lt;span style="color: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;role.Name&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;)reader[&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;Name&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(reader[&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;Description&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;DBNull.Value) &lt;br /&gt;&lt;img id="Codehighlighter1_479_540_Open_Image" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top"&gt;&lt;img id="Codehighlighter1_479_540_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_479_540_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15"  alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_479_540_Open_Text"&gt;&lt;span style="color: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;role.Description&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;)reader[&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;Description&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;ReaderToObject(reader,role);&lt;/span&gt;&lt;span style="color: #008000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;al.Add(role); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;finally&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;br /&gt;&lt;img id="Codehighlighter1_622_647_Open_Image" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top"&gt;&lt;img id="Codehighlighter1_622_647_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_622_647_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15"  alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_622_647_Open_Text"&gt;&lt;span style="color: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reader.Close(); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(Role[])al.ToArray(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000"&gt;(Role)); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;对于上面的代码，我觉得有几点不优雅之处： &lt;br /&gt;1、每次对Role的属性进行赋值时，都要检查reader的值是否为DBNull，出现了很多重复代码 &lt;br /&gt;2、每次对Role的属性进行赋值时，都要进行类型转换, 而Role属性的类型是已知的，是不是可以自动完成这样的转换？ &lt;br /&gt;3、每次对Role的属性进行赋值时，都要进行Role属性与数据库字段的对应。如果我们在设计数据库与实体类时，保证数据库字段与实体类属性采用同样的名称，那利用反射，我们可以通过代码自动进行属性与字段的对应。即使数据库字段与属性不同名，我们也可以通过更改查询语句，来做到这一点。 &lt;br /&gt;是不是可以对上面的代码进行改进，使代码变得更优雅?那优雅的代码应该是什么样的呢?如果我们用上面代码中注释的代码行ReaderToObject(reader,role);取代它之前的对Role属性进行赋值的语句，是不是会使代码变得更优雅?ReaderToObject的作用就是自动完成将reader中的值写入到role中对应的属性中(前提是reader中的字段与role中对应的属性具有相同的名称)。现在我们的任务就是实现ReaderToObject, 有了强大的武器&amp;#8212;Reflection，我们的任务就变得很轻松, 也不多说了，下面的代码是我的实现方法: &lt;/p&gt;&lt;div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt;background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 98%; padding-top: 4px; border-bottom: windowtext 0.5pt solid"&gt;&lt;div&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" width="11" align="top"  alt="" /&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ReaderToObject(IDataReader&amp;nbsp;reader,&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;targetObj) &lt;br /&gt;&lt;img id="Codehighlighter1_67_380_Open_Image" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"&gt;&lt;img id="Codehighlighter1_67_380_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_67_380_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15"  alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_67_380_Open_Text"&gt;&lt;span style="color: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;i&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;reader.FieldCount;i&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;) &lt;br /&gt;&lt;img id="Codehighlighter1_112_376_Open_Image" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top"&gt;&lt;img id="Codehighlighter1_112_376_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_112_376_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15"  alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_112_376_Open_Text"&gt;&lt;span style="color: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Reflection.PropertyInfo&amp;nbsp;propertyInfo&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;targetObj.GetType().GetProperty(reader.GetName(i)); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(propertyInfo&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;) &lt;br /&gt;&lt;img id="Codehighlighter1_245_371_Open_Image" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top"&gt;&lt;img id="Codehighlighter1_245_371_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_245_371_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15"  alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_245_371_Open_Text"&gt;&lt;span style="color: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;(reader.GetValue(i)&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;DBNull.Value) &lt;br /&gt;&lt;img id="Codehighlighter1_294_365_Open_Image" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" width="11" align="top"&gt;&lt;img id="Codehighlighter1_294_365_Closed_Image" style="display: none" onclick="code_collapse_toggle(this);" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" width="11" align="top"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_294_365_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"&gt;&lt;img height="20" src="http://www.cnblogs.com/Images/dot.gif" width="15"  alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_294_365_Open_Text"&gt;&lt;span style="color: #000000"&gt;{ &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;propertyInfo.SetValue(targetObj,reader.GetValue(i),&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;); &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;br /&gt;&lt;img height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" width="11" align="top"  alt="" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;p&gt;ReaderToObject可以将reader中的数据读入到任何实体类中。数据库字段与实体类属性的映射原则是名称相同。当然，我们也可以通过配置文件来进行两者映射。 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;个人想法：在开发中，面对那么多设计思想和设计模式，常常令人感到迷惑，当你把更多的精力放在选用哪个设计思想或设计模式时，我觉得不要忽略很重要的一点，尽可能地减少重复代码，只要我们能有效地减少重复代码，我们采用的方法就是好方法，而不要太在乎采用了哪种模式。就像独孤九剑，正因为摆脱了传统招式的束缚，才能战无不胜! &lt;br /&gt;&lt;/p&gt;&lt;div id="c_jquery_test" style="display: none"&gt;&lt;/div&gt;&lt;p&gt;&lt;script type="text/javascript"&gt;if ($ != jQuery) {    $ = jQuery.noConflict();}&lt;/script&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dudu/archive/2004/09/12/42389.html" target="_blank"&gt;http://www.cnblogs.com/dudu/archive/2004/09/12/42389.html&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lizhiwen/aggbug/1756241.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756241.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756240.html</id><title type="text">Cannot connect PHP 5.2.9 to SQL Server 2008</title><summary type="text">I have a strange problem while connecting to MSSQL 2008 with php.First I wrote the code myself and I got error message:After googleing for a few hours I found out that with the 2005 version there is s...</summary><published>2010-06-11T03:45:00Z</published><updated>2010-06-11T03:45:00Z</updated><author><name>lizhiwen</name><uri>http://www.cnblogs.com/lizhiwen/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756240.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756240.html"/><content type="html">I have a strange problem while connecting to MSSQL 2008 with php.&lt;br /&gt;First I wrote the code myself and I got error message:&lt;br /&gt;&lt;br /&gt;Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: 172.16.2.12:1433 in C:\xampp\htdocs\test.php on line 19After googleing for a few hours I found out that with the 2005 version there is some problems with ntwdblib.dll but I cannot find any bugs/problems for this with php 5.2.9 and SQL 2008.&lt;br /&gt;&lt;br /&gt;Then I used the code from the Microsoft site:&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;// Server in the this format: &amp;lt;computer&amp;gt;\&amp;lt;instance name&amp;gt; or &lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;// &amp;lt;server&amp;gt;,&amp;lt;port&amp;gt; when using a non default port number&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;$server = '172.16.2.12,1433';&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;$link = mssql_connect($server, 'Username', 'Password');&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;if(!$link)&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;{&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;    die('Something went wrong while connecting to MSSQL');&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;}&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;?&amp;gt;But still I get the error:&lt;br /&gt;Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: 172.16.2.12:1433 in C:\xampp\htdocs\test.php on line 19&lt;br /&gt;Yes: The port is 1433;&lt;br /&gt;Yes: The port is open;&lt;br /&gt;Yes: I can connect with telnet;&lt;br /&gt;Yes: The username is correct;&lt;br /&gt;Yes: Also is the password.&lt;br /&gt;&lt;br /&gt;Apache server is running local on my workstation.&lt;br /&gt;SQL 2008 is running on remote server (172.17.2.12).&lt;br /&gt;&lt;br /&gt;I have no idea what the problem is, and I am sure that the code is correct.&lt;br /&gt;&lt;br /&gt;Someone any ideas what this might be?&lt;br /&gt;&lt;br /&gt;Thanks in advance;&lt;br /&gt;&lt;br /&gt;Lucas Mateijsen &lt;ul class="history"&gt;&lt;li&gt;&lt;span class="type"&gt;&lt;font color="#444444" size="2"&gt;Moved by&lt;/font&gt;&lt;/span&gt;&lt;a class="author" title="About Stoyko Kostov - MSFT" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Stoyko+Kostov+-+MSFT&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;span class="name"&gt;Stoyko Kostov - MSFT&lt;/span&gt; &lt;/a&gt;&lt;span class="date"&gt;Friday, August 07, 2009 4:40 PM&lt;/span&gt;&lt;span class="reason"&gt;&lt;font size="2"&gt; (From:SQL Server Data Access)&lt;/font&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div class="menu message"&gt;&lt;ul class="menu"&gt;&lt;li&gt;&lt;a title="Reply" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" rel="nofollow" name="reply"&gt;&lt;img class="icon reply" title="Reply" alt="Reply" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;nobr&gt;Reply&lt;/nobr&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Quote" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" rel="nofollow" name="quote"&gt;&lt;img class="icon quote" title="Quote" alt="Quote" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;nobr&gt;Quote&lt;/nobr&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="clear"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div class="answers"&gt;&lt;p&gt;&lt;strong&gt;Answers&lt;/strong&gt;&lt;/p&gt;&lt;ul class="message answers"&gt;&lt;li class="message answer" id="3e54cb5d-115a-4d7c-94b4-586481621cd5"&gt;&lt;div class="head"&gt;&lt;span class="date"&gt;Wednesday, August 12, 2009 3:56 AM&lt;/span&gt;&lt;a class="author" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Nai-dong+Jin+-+MSFT&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;img src="http://i1.social.microsoft.com/profile/u/avatar.jpg?displayname=Nai-dong Jin - MSFT&amp;amp;size=small&amp;amp;version=472ac8e7-4ce1-419e-88f1-3dcc219b8a4a"  alt="" /&gt;&lt;/a&gt;&lt;span class="fullbadge"&gt;&lt;a class="author" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Nai-dong+Jin+-+MSFT&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;span class="name"&gt;Nai-dong Jin - MSFT&lt;/span&gt;&lt;/a&gt;&lt;span class="affil"&gt;&lt;abbr class="affil"&gt;MSFT&lt;/abbr&gt;&lt;abbr class="affil"&gt;, Moderator&lt;/abbr&gt;&lt;/span&gt;&lt;span class="medals"&gt;&lt;img class="icon medalon" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medalon" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medalon" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div class="helpful"&gt;&amp;nbsp;&lt;img class="icon answer" title="Answer" alt="Answer" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="votingouterbox"&gt;&lt;div class="voting"&gt;&lt;a class="voteuphreflink" title="Vote As Helpful" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" name="voteup"&gt;&lt;img class="icon voteup" title="Sign In to Vote" alt="Sign In to Vote" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt; &lt;div class="votecount"&gt;0&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="votinglabel type"&gt;&lt;a title="Sign In to Vote" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank"&gt;&lt;font color="#0066dd"&gt;Sign In to Vote&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="container"&gt;&lt;div class="body"&gt;Hi,&lt;br /&gt;&lt;br /&gt;I think the ntwdblib.dll you used does not support your current SQLServer version.&lt;br /&gt;&lt;br /&gt;I suggest that you may try the following link and get the latest ntwdblib.dll and overwrite your original one.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.theregister.co.uk/2008/04/24/database_connection_php/" target="_blank"&gt;&lt;font color="#0066dd"&gt;http://www.theregister.co.uk/2008/04/24/database_connection_php/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks. &lt;hr class="sig" /&gt;Microsoft Online Community Support Please remember to mark the replies as answers if they help and unmark them if they provide no help.&lt;/div&gt;&lt;ul class="history"&gt;&lt;li&gt;&lt;span class="type"&gt;&lt;font color="#444444" size="2"&gt;Marked As Answer by&lt;/font&gt;&lt;/span&gt;&lt;a class="author" title="About Nai-dong Jin - MSFT" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Nai-dong+Jin+-+MSFT&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;span class="name"&gt;Nai-dong Jin - MSFT&lt;/span&gt;&lt;font color="#000000"&gt;&lt;abbr class="affil"&gt;MSFT&lt;/abbr&gt;&lt;abbr class="affil"&gt;, Moderator&lt;/abbr&gt;&lt;/font&gt;&lt;/a&gt;&lt;span class="date"&gt;Friday, August 14, 2009 3:08 AM&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="menu message"&gt;&lt;ul class="menu"&gt;&lt;li&gt;&lt;a title="Reply" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" rel="nofollow" name="reply"&gt;&lt;img class="icon reply" title="Reply" alt="Reply" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;nobr&gt;Reply&lt;/nobr&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Quote" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" rel="nofollow" name="quote"&gt;&lt;img class="icon quote" title="Quote" alt="Quote" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;nobr&gt;Quote&lt;/nobr&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="clear"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="message answer" id="16efaf6d-e07b-462c-a903-69ce78161f39"&gt;&lt;div class="head"&gt;&lt;span class="date"&gt;Wednesday, August 12, 2009 5:09 AM&lt;/span&gt;&lt;a class="author" href="http://social.msdn.microsoft.com/Profile/en-US/?user=jtoddhanard&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;img src="http://i4.social.microsoft.com/profile/u/avatar.jpg?displayname=jtoddhanard&amp;amp;size=small&amp;amp;version=00000000-0000-0000-0000-000000000000"  alt="" /&gt;&lt;/a&gt;&lt;span class="fullbadge"&gt;&lt;a class="author" href="http://social.msdn.microsoft.com/Profile/en-US/?user=jtoddhanard&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;span class="name"&gt;jtoddhanard&lt;/span&gt;&lt;/a&gt;&lt;span class="affil"&gt; &lt;/span&gt;&lt;span class="medals"&gt;&lt;img class="icon medalon" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div class="helpful"&gt;&amp;nbsp;&lt;img class="icon answer" title="Answer" alt="Answer" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="votingouterbox"&gt;&lt;div class="voting"&gt;&lt;a class="voteuphreflink" title="Vote As Helpful" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" name="voteup"&gt;&lt;img class="icon voteup" title="Sign In to Vote" alt="Sign In to Vote" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt; &lt;div class="votecount"&gt;0&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="votinglabel type"&gt;&lt;a title="Sign In to Vote" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank"&gt;&lt;font color="#0066dd"&gt;Sign In to Vote&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="container"&gt;&lt;div class="body"&gt;&lt;p&gt;The ntwdblib.dll has never worked for me with any version of sql server other than 7.0.&amp;nbsp; There's so many different versions of the library floating around, its hard to know which one works with which&amp;nbsp;server version.&amp;nbsp; &amp;nbsp;I think most people who use mssql functions in PHP use the FreeTDS libraries for either Unix or Windows.&amp;nbsp; You can get binaries already made... website is &lt;a href="http://www.freetds.org/" target="_blank"&gt;&lt;font color="#0066dd"&gt;www.freetds.org&lt;/font&gt;&lt;/a&gt;&amp;nbsp; I've had success with both 2005 and 2008 sql server.&amp;nbsp; But, since MS wrote a PHP driver, i've had better luck with it.&amp;nbsp;&amp;nbsp;&amp;nbsp;Both ntwdblib.dll and the freetds libraries use mssql functions but you can only have one running at a time.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Now on a side note, the Microsoft PHP Driver doesn't use the mssql function set, it uses the sqlsrv function set.&amp;nbsp; So, in order to use the MS PHP driver, you need to use sqlsrv_connect, sqlsrv_query, etc.&amp;nbsp; You can run a phpinfo() command in order to determine if you have either of those installed.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;This forum is specifically for the microsoft PHP driver, so if you have problems with the ntwdblib, you might want to check some other websites or forums for assistance.&lt;br /&gt;&lt;br /&gt;Best of luck&lt;/p&gt;&lt;/div&gt;&lt;ul class="history"&gt;&lt;li&gt;&lt;span class="type"&gt;&lt;font color="#444444" size="2"&gt;Marked As Answer by&lt;/font&gt;&lt;/span&gt;&lt;a class="author" title="About Nai-dong Jin - MSFT" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Nai-dong+Jin+-+MSFT&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;span class="name"&gt;Nai-dong Jin - MSFT&lt;/span&gt;&lt;font color="#000000"&gt;&lt;abbr class="affil"&gt;MSFT&lt;/abbr&gt;&lt;abbr class="affil"&gt;, Moderator&lt;/abbr&gt;&lt;/font&gt;&lt;/a&gt;&lt;span class="date"&gt;Friday, August 14, 2009 3:08 AM&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="menu message"&gt;&lt;ul class="menu"&gt;&lt;li&gt;&lt;a title="Reply" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" rel="nofollow" name="reply"&gt;&lt;img class="icon reply" title="Reply" alt="Reply" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;nobr&gt;Reply&lt;/nobr&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Quote" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" rel="nofollow" name="quote"&gt;&lt;img class="icon quote" title="Quote" alt="Quote" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;nobr&gt;Quote&lt;/nobr&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="clear"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="replies"&gt;&lt;p&gt;&lt;strong&gt;All Replies&lt;/strong&gt;&lt;/p&gt;&lt;ul class="message"&gt;&lt;li class="message " id="2cdaf93f-661b-445b-9ad0-6de318dcf36e"&gt;&lt;div class="head"&gt;&lt;span class="date"&gt;Friday, August 07, 2009 4:41 PM&lt;/span&gt;&lt;a class="author" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Stoyko+Kostov+-+MSFT&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;img src="http://i3.social.microsoft.com/profile/u/avatar.jpg?displayname=Stoyko Kostov - MSFT&amp;amp;size=small&amp;amp;version=00000000-0000-0000-0000-000000000000"  alt="" /&gt;&lt;/a&gt;&lt;span class="fullbadge"&gt;&lt;a class="author" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Stoyko+Kostov+-+MSFT&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;span class="name"&gt;Stoyko Kostov - MSFT&lt;/span&gt;&lt;/a&gt;&lt;span class="affil"&gt; &lt;/span&gt;&lt;span class="medals"&gt;&lt;img class="icon medalon" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medalon" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div class="helpful"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div class="votingouterbox"&gt;&lt;div class="voting"&gt;&lt;a class="voteuphreflink" title="Vote As Helpful" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" name="voteup"&gt;&lt;img class="icon voteup" title="Sign In to Vote" alt="Sign In to Vote" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt; &lt;div class="votecount"&gt;0&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="votinglabel type"&gt;&lt;a title="Sign In to Vote" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank"&gt;&lt;font color="#0066dd"&gt;Sign In to Vote&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="container"&gt;&lt;div class="body"&gt;Please don't make duplicate posts.&lt;/div&gt;&lt;ul class="history"&gt;&lt;li&gt;&lt;span class="type"&gt;&lt;font color="#444444" size="2"&gt;Unmarked As Answer by&lt;/font&gt;&lt;/span&gt;&lt;a class="author" title="About Lucas Mateijsen" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Lucas+Mateijsen&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;span class="name"&gt;Lucas Mateijsen&lt;/span&gt; &lt;/a&gt;&lt;span class="date"&gt;Friday, August 07, 2009 7:05 PM&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="type"&gt;&lt;font color="#444444" size="2"&gt;Marked As Answer by&lt;/font&gt;&lt;/span&gt;&lt;a class="author" title="About Lucas Mateijsen" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Lucas+Mateijsen&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;span class="name"&gt;Lucas Mateijsen&lt;/span&gt; &lt;/a&gt;&lt;span class="date"&gt;Friday, August 07, 2009 7:05 PM&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="menu message"&gt;&lt;ul class="menu"&gt;&lt;li&gt;&lt;a title="Reply" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" rel="nofollow" name="reply"&gt;&lt;img class="icon reply" title="Reply" alt="Reply" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;nobr&gt;Reply&lt;/nobr&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Quote" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" rel="nofollow" name="quote"&gt;&lt;img class="icon quote" title="Quote" alt="Quote" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;nobr&gt;Quote&lt;/nobr&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="clear"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="message answer" id="3e54cb5d-115a-4d7c-94b4-586481621cd5"&gt;&lt;div class="head"&gt;&lt;span class="date"&gt;Wednesday, August 12, 2009 3:56 AM&lt;/span&gt;&lt;a class="author" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Nai-dong+Jin+-+MSFT&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;img src="http://i1.social.microsoft.com/profile/u/avatar.jpg?displayname=Nai-dong Jin - MSFT&amp;amp;size=small&amp;amp;version=472ac8e7-4ce1-419e-88f1-3dcc219b8a4a"  alt="" /&gt;&lt;/a&gt;&lt;span class="fullbadge"&gt;&lt;a class="author" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Nai-dong+Jin+-+MSFT&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;span class="name"&gt;Nai-dong Jin - MSFT&lt;/span&gt;&lt;/a&gt;&lt;span class="affil"&gt;&lt;abbr class="affil"&gt;MSFT&lt;/abbr&gt;&lt;abbr class="affil"&gt;, Moderator&lt;/abbr&gt;&lt;/span&gt;&lt;span class="medals"&gt;&lt;img class="icon medalon" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medalon" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medalon" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div class="helpful"&gt;&amp;nbsp;&lt;img class="icon answer" title="Answer" alt="Answer" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="votingouterbox"&gt;&lt;div class="voting"&gt;&lt;a class="voteuphreflink" title="Vote As Helpful" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" name="voteup"&gt;&lt;img class="icon voteup" title="Sign In to Vote" alt="Sign In to Vote" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt; &lt;div class="votecount"&gt;0&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="votinglabel type"&gt;&lt;a title="Sign In to Vote" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank"&gt;&lt;font color="#0066dd"&gt;Sign In to Vote&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="container"&gt;&lt;div class="body"&gt;Hi,&lt;br /&gt;&lt;br /&gt;I think the ntwdblib.dll you used does not support your current SQLServer version.&lt;br /&gt;&lt;br /&gt;I suggest that you may try the following link and get the latest ntwdblib.dll and overwrite your original one.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.theregister.co.uk/2008/04/24/database_connection_php/" target="_blank"&gt;&lt;font color="#0066dd"&gt;http://www.theregister.co.uk/2008/04/24/database_connection_php/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks. &lt;hr class="sig" /&gt;Microsoft Online Community Support Please remember to mark the replies as answers if they help and unmark them if they provide no help.&lt;/div&gt;&lt;ul class="history"&gt;&lt;li&gt;&lt;span class="type"&gt;&lt;font color="#444444" size="2"&gt;Marked As Answer by&lt;/font&gt;&lt;/span&gt;&lt;a class="author" title="About Nai-dong Jin - MSFT" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Nai-dong+Jin+-+MSFT&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;span class="name"&gt;Nai-dong Jin - MSFT&lt;/span&gt;&lt;font color="#000000"&gt;&lt;abbr class="affil"&gt;MSFT&lt;/abbr&gt;&lt;abbr class="affil"&gt;, Moderator&lt;/abbr&gt;&lt;/font&gt;&lt;/a&gt;&lt;span class="date"&gt;Friday, August 14, 2009 3:08 AM&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="menu message"&gt;&lt;ul class="menu"&gt;&lt;li&gt;&lt;a title="Reply" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" rel="nofollow" name="reply"&gt;&lt;img class="icon reply" title="Reply" alt="Reply" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;nobr&gt;Reply&lt;/nobr&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Quote" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" rel="nofollow" name="quote"&gt;&lt;img class="icon quote" title="Quote" alt="Quote" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;nobr&gt;Quote&lt;/nobr&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="clear"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="message answer" id="16efaf6d-e07b-462c-a903-69ce78161f39"&gt;&lt;div class="head"&gt;&lt;span class="date"&gt;Wednesday, August 12, 2009 5:09 AM&lt;/span&gt;&lt;a class="author" href="http://social.msdn.microsoft.com/Profile/en-US/?user=jtoddhanard&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;img src="http://i4.social.microsoft.com/profile/u/avatar.jpg?displayname=jtoddhanard&amp;amp;size=small&amp;amp;version=00000000-0000-0000-0000-000000000000"  alt="" /&gt;&lt;/a&gt;&lt;span class="fullbadge"&gt;&lt;a class="author" href="http://social.msdn.microsoft.com/Profile/en-US/?user=jtoddhanard&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;span class="name"&gt;jtoddhanard&lt;/span&gt;&lt;/a&gt;&lt;span class="affil"&gt; &lt;/span&gt;&lt;span class="medals"&gt;&lt;img class="icon medalon" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;img class="icon medaloff" alt="Users Medals" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;/span&gt;&lt;/span&gt; &lt;div class="helpful"&gt;&amp;nbsp;&lt;img class="icon answer" title="Answer" alt="Answer" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="votingouterbox"&gt;&lt;div class="voting"&gt;&lt;a class="voteuphreflink" title="Vote As Helpful" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank" name="voteup"&gt;&lt;img class="icon voteup" title="Sign In to Vote" alt="Sign In to Vote" src="http://i1.social.microsoft.com/Forums/resources/images/trans.gif?cver=2.14.0088.0" /&gt; &lt;div class="votecount"&gt;0&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="votinglabel type"&gt;&lt;a title="Sign In to Vote" href="http://login.live.com/login.srf?wa=wsignin1.0&amp;amp;rpsnv=11&amp;amp;ct=1276227840&amp;amp;rver=6.0.5276.0&amp;amp;wp=MCLBI&amp;amp;wlcxt=Msdn%24Msdn%24Msdn&amp;amp;wreply=http:%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fsqldriverforphp%2Fthread%2Fc15d96cb-df11-42e1-bc09-c2120068737b%3Fprof%3Drequired&amp;amp;lc=1033&amp;amp;cb=wizid%3Df4502d34-3b8f-4a04-b741-289e08aa1782%26returnurl%3Dhttp%253a%252f%252fsocial.msdn.microsoft.com%252fForums%252fen-US%252fsqldriverforphp%252fthread%252fc15d96cb-df11-42e1-bc09-c2120068737b%253fprof%253drequired%26wp%3DMCLBI%26lcid%3D1033&amp;amp;id=254354" target="_blank"&gt;&lt;font color="#0066dd"&gt;Sign In to Vote&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="container"&gt;&lt;div class="body"&gt;&lt;p&gt;The ntwdblib.dll has never worked for me with any version of sql server other than 7.0.&amp;nbsp; There's so many different versions of the library floating around, its hard to know which one works with which&amp;nbsp;server version.&amp;nbsp; &amp;nbsp;I think most people who use mssql functions in PHP use the FreeTDS libraries for either Unix or Windows.&amp;nbsp; You can get binaries already made... website is &lt;a href="http://www.freetds.org/" target="_blank"&gt;&lt;font color="#0066dd"&gt;www.freetds.org&lt;/font&gt;&lt;/a&gt;&amp;nbsp; I've had success with both 2005 and 2008 sql server.&amp;nbsp; But, since MS wrote a PHP driver, i've had better luck with it.&amp;nbsp;&amp;nbsp;&amp;nbsp;Both ntwdblib.dll and the freetds libraries use mssql functions but you can only have one running at a time.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Now on a side note, the Microsoft PHP Driver doesn't use the mssql function set, it uses the sqlsrv function set.&amp;nbsp; So, in order to use the MS PHP driver, you need to use sqlsrv_connect, sqlsrv_query, etc.&amp;nbsp; You can run a phpinfo() command in order to determine if you have either of those installed.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;This forum is specifically for the microsoft PHP driver, so if you have problems with the ntwdblib, you might want to check some other websites or forums for assistance.&lt;br /&gt;&lt;br /&gt;Best of luck&lt;/p&gt;&lt;/div&gt;&lt;ul class="history"&gt;&lt;li&gt;&lt;span class="type"&gt;&lt;font color="#444444" size="2"&gt;Marked As Answer by&lt;/font&gt;&lt;/span&gt;&lt;a class="author" title="About Nai-dong Jin - MSFT" href="http://social.msdn.microsoft.com/Profile/en-US/?user=Nai-dong+Jin+-+MSFT&amp;amp;referrer=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fen-US%2fsqldriverforphp%2fthread%2fc15d96cb-df11-42e1-bc09-c2120068737b&amp;amp;rh=OZBQhRMcOOOqvv1KK5h%2bJoR%2byo70LUaTkxL72rWV7xg%3d&amp;amp;sp=forums" target="_blank" rel="nofollow"&gt;&lt;span class="name"&gt;Nai-dong Jin - MSFT&lt;/span&gt;&lt;font color="#000000"&gt;&lt;abbr class="affil"&gt;MSFT&lt;/abbr&gt;&lt;abbr class="affil"&gt;, Moderator&lt;/abbr&gt;&lt;/font&gt;&lt;/a&gt;&lt;span class="date"&gt;Friday, August 14, 2009 3:08 AM&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/lizhiwen/aggbug/1756240.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756240.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756236.html</id><title type="text">提供给 lock 的对象只是用来唯一地标识由多个线程共享的资源</title><summary type="text">提供给 lock 的对象只是用来唯一地标识由多个线程共享的资源 通常，最好避免锁定 public 类型或锁定不受应用程序控制的对象实例。例如，如果该实例可以被公开访问，则 lock(this) 可能会有问题，因为不受控制的代码也可能会锁定该对象。这可能导致死锁，即两个或更多个线程等待释放同一对象。出于同样的原因，锁定公共数据类型（相比于对象）也可能导致问题。锁定字符串尤其危险，因为字符串被公共语言...</summary><published>2010-06-11T03:42:00Z</published><updated>2010-06-11T03:42:00Z</updated><author><name>lizhiwen</name><uri>http://www.cnblogs.com/lizhiwen/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756236.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756236.html"/><content type="html">&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;提供给&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt; lock &lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的对象只是用来唯一地标识由多个线程共享的资源&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt; &lt;br /&gt;&lt;O:P&gt;&lt;/O:P&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;通常，最好避免锁定&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt; public &lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;类型或锁定不受应用程序控制的对象实例。例如，如果该实例可以被公开访问，则&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt; lock(this) &lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;可能会有问题，因为不受控制的代码也可能会锁定该对象。这可能导致死锁，即两个或更多个线程等待释放同一对象。出于同样的原因，锁定公共数据类型（相比于对象）也可能导致问题。锁定字符串尤其危险，因为字符串被公共语言运行库&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt; (CLR)&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;&amp;#8220;暂留&amp;#8221;。这意味着整个程序中任何给定字符串都只有一个实例，就是这同一个对象表示了所有运行的应用程序域的所有线程中的该文本。因此，只要在应用程序进程中的任何位置处具有相同内容的字符串上放置了锁，就将锁定应用程序中该字符串的所有实例。因此，最好锁定不会被暂留的私有或受保护成员。某些类提供专门用于锁定的成员。例如，&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt;Array &lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;类型提供&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt; SyncRoot&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。许多集合类型也提供&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt"&gt; SyncRoot&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lizhiwen/aggbug/1756236.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756236.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756235.html</id><title type="text">ASP.NET一个页面多个Button按钮事件避免数据验证控件RequiredFieldValidator冲突方法</title><summary type="text">问题描述：在一个页面里创建多个按钮，其中默认情况下按钮事件与数据验证控件冲突：当其中的一个按钮被点击后想要特定的validator被激发而不是页面中的所有validator。而其他按钮则不需要validator。此时会都会启用数据验证控件。 说明：在ASP.NET 1.1中除了hack code没有更好的办法。ASP.NET 2.0中给所有的validator控件和按钮(button、linkbu...</summary><published>2010-06-11T03:40:00Z</published><updated>2010-06-11T03:40:00Z</updated><author><name>lizhiwen</name><uri>http://www.cnblogs.com/lizhiwen/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756235.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756235.html"/><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;table class="MsoNormalTable" style="width: 100%; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellpadding="0" width="100%" border="0"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes"&gt;&lt;td style="border-right: #f0f0f0; padding-right: 0.75pt; border-top: #f0f0f0; padding-left: 0.75pt; padding-bottom: 0.75pt; border-left: #f0f0f0; padding-top: 0.75pt; border-bottom: #f0f0f0; background-color: transparent"&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal"&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;问题描述：在一个页面里创建多个按钮，其中默认情况下按钮事件与数据验证控件冲突：当其中的一个按钮被点击后想要特定的&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;validator&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;被激发而不是页面中的所有&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;validator&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;。而其他按钮则不需要&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;validator&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;。此时会都会启用数据验证控件。&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;说明：在&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;ASP.NET 1.1&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;中除了&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;hack code&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;没有更好的办法。&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;ASP.NET 2.0&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;中给所有的&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;validator&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;控件和按钮&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;(button&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;、&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;linkbutton&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;等等&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;)&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;增加了&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;ValidatorGroup&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;属性，就可以轻松地解决这&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;个问题。如果在页面中有一个&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;TextBox&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;并且紧挨着他有一个&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;RequiredFieldValidator &lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;和&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Button&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;控件，可以将&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;RequiredFieldValidator&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;和&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Button&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;的&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;ValidationGroup&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;属性设置成一样的值从而使得点&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;击&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;button&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;时只触发这个&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;RequiredFieldValidator&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;的&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;validor&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;，任何没有定义在&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;ValidationGroup&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;内的其他的&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt; validator&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;都会被忽略。&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;例子：&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;文本框和数据验证控件：&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;br /&gt;&amp;lt;asp:TextBox ID="TxtOldPs" runat="server" Width="150px"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;&amp;lt;asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TxtOldPs"&lt;br /&gt;Display="None" ErrorMessage="&amp;lt;b&amp;gt;&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;友情提醒&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;请输入原始密码！！&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;" &lt;span style="color: red"&gt;ValidationGroup="ValidataGroup1"&lt;/span&gt;&amp;gt;&amp;lt;/asp:RequiredFieldValidator&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;按钮事件：&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;br /&gt;&amp;lt;asp:Button ID="ButtonOK" runat="server" Text="&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;修改&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;" OnClick="Edit_Click" &lt;span style="color: red"&gt;ValidationGroup="ValidataGroup1" &lt;/span&gt;/&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;另一个按钮&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;则不需要设置&lt;/span&gt;&lt;span style="font-size: 12pt; color: red; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;ValidationGroup&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;br /&gt;&amp;lt;asp:Button ID="ButtonOK" runat="server" Text="&lt;/span&gt;&lt;span lang="ZH-CN" style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体"&gt;退出&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"&gt;" OnClick="Exit_Click" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/lizhiwen/aggbug/1756235.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lizhiwen/archive/2010/06/11/1756235.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lizhiwen/archive/2009/05/23/1487820.html</id><title type="text">2009年5月软件设计师真题下载及参考答案</title><summary type="text">2009年5月软件设计师真题下载及参考答案</summary><published>2009-05-23T11:30:00Z</published><updated>2009-05-23T11:30:00Z</updated><author><name>lizhiwen</name><uri>http://www.cnblogs.com/lizhiwen/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lizhiwen/archive/2009/05/23/1487820.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lizhiwen/archive/2009/05/23/1487820.html"/><content type="text">2009年5月软件设计师真题下载及参考答案</content></entry><entry><id>http://www.cnblogs.com/lizhiwen/archive/2008/01/21/1047215.html</id><title type="text">推荐一个不错的ASP无组件上传类</title><summary type="text">&lt;%'----------------------------------------------------------'*****************风声无组件上传类2.0*****************'作者：风声'网站：http://www.17560.nethttp://www.54nb.com'邮件：Rumor@17560.net'版权：版权全体,源代码公开,各种用途均可免...</summary><published>2008-01-21T06:25:00Z</published><updated>2008-01-21T06:25:00Z</updated><author><name>lizhiwen</name><uri>http://www.cnblogs.com/lizhiwen/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lizhiwen/archive/2008/01/21/1047215.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lizhiwen/archive/2008/01/21/1047215.html"/><content type="text">&lt;%'----------------------------------------------------------'*****************风声无组件上传类2.0*****************'作者：风声'网站：http://www.17560.nethttp://www.54nb.com'邮件：Rumor@17560.net'版权：版权全体,源代码公开,各种用途均可免...</content></entry><entry><id>http://www.cnblogs.com/lizhiwen/archive/2007/12/29/1019773.html</id><title type="text">Leo's 2007</title><summary type="text">今天是2007年的最后工作日拉，blog开了整整一年了，自己庆贺一下！！都没来得及反应就又过了一年，仔细回想一下，今年的进展还是缓慢，浪费了一半的时间，看来明年要努力了。从vs2003到vs2005，又有了vs2008，MS的脚步倒是挺快，老在后面追赶着，看来不是办法了，赶紧转型吧！年初办了一张公园年票，结果就用了3次，还是陪别人去的。一年下来感冒了不知道多少次，甚至有一月两次。。。哎，缺少运动，...</summary><published>2007-12-29T04:39:00Z</published><updated>2007-12-29T04:39:00Z</updated><author><name>lizhiwen</name><uri>http://www.cnblogs.com/lizhiwen/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lizhiwen/archive/2007/12/29/1019773.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lizhiwen/archive/2007/12/29/1019773.html"/><content type="text">今天是2007年的最后工作日拉，blog开了整整一年了，自己庆贺一下！！都没来得及反应就又过了一年，仔细回想一下，今年的进展还是缓慢，浪费了一半的时间，看来明年要努力了。从vs2003到vs2005，又有了vs2008，MS的脚步倒是挺快，老在后面追赶着，看来不是办法了，赶紧转型吧！年初办了一张公园年票，结果就用了3次，还是陪别人去的。一年下来感冒了不知道多少次，甚至有一月两次。。。哎，缺少运动，...</content></entry><entry><id>http://www.cnblogs.com/lizhiwen/archive/2007/12/25/1014132.html</id><title type="text">网页设计基本配色参考色谱</title><summary type="text">在商业活动中，颜色搭配会受到仔细的评估，按一般流行的看法灰色或黑色系列可以象征“职业”，因为这些颜色较不具个人主义，有中庸之感。 灰色其实是鲜艳的红色或橘色最好的背景色。这些活泼的颜色加上低沉的灰色，可以使原有的热力稍加收敛、含蓄一些。 虽然灰色不具刺激感，却富有实际感。它传达出一种实在、严肃的气息，绝少幽默之感。 12 100 97 97 2 98 106 102...</summary><published>2007-12-25T06:53:00Z</published><updated>2007-12-25T06:53:00Z</updated><author><name>lizhiwen</name><uri>http://www.cnblogs.com/lizhiwen/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lizhiwen/archive/2007/12/25/1014132.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lizhiwen/archive/2007/12/25/1014132.html"/><content type="text">在商业活动中，颜色搭配会受到仔细的评估，按一般流行的看法灰色或黑色系列可以象征“职业”，因为这些颜色较不具个人主义，有中庸之感。 灰色其实是鲜艳的红色或橘色最好的背景色。这些活泼的颜色加上低沉的灰色，可以使原有的热力稍加收敛、含蓄一些。 虽然灰色不具刺激感，却富有实际感。它传达出一种实在、严肃的气息，绝少幽默之感。 12 100 97 97 2 98 106 102...</content></entry><entry><id>http://www.cnblogs.com/lizhiwen/archive/2007/12/12/991678.html</id><title type="text">javascript正则表达式使用详解</title><summary type="text">简单的说，正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下：测试字符串的某个模式。例如，可以对一个输入字符串进行测试，看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。替换文本。可以在文档中使用一个正则表达式来标识特定文字，然后可以全部将其删除，或者替换为别的文字。根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。基本语法...</summary><published>2007-12-12T01:27:00Z</published><updated>2007-12-12T01:27:00Z</updated><author><name>lizhiwen</name><uri>http://www.cnblogs.com/lizhiwen/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lizhiwen/archive/2007/12/12/991678.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lizhiwen/archive/2007/12/12/991678.html"/><content type="text">简单的说，正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下：测试字符串的某个模式。例如，可以对一个输入字符串进行测试，看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。替换文本。可以在文档中使用一个正则表达式来标识特定文字，然后可以全部将其删除，或者替换为别的文字。根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。基本语法...</content></entry><entry><id>http://www.cnblogs.com/lizhiwen/archive/2007/12/10/989597.html</id><title type="text">SQL Server 2008中四种DATETIME数据类型</title><summary type="text">SQL Server 2008中DATETIME功能的最大转变就是引入了四种DATETIME数据类型，分别为DATE、TIME、DATETIMEOFFSET和DATETIME2;此外还增加了新的DATETIME函数功能。下面首先来讨论一下四种新数据类型的功能和用法。DATE数据类型在SQL Server 2005中，没有专门只用来存储日期(不包括时间)的特定数据类型，只能使用DATET...</summary><published>2007-12-10T08:34:00Z</published><updated>2007-12-10T08:34:00Z</updated><author><name>lizhiwen</name><uri>http://www.cnblogs.com/lizhiwen/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lizhiwen/archive/2007/12/10/989597.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lizhiwen/archive/2007/12/10/989597.html"/><content type="text">SQL Server 2008中DATETIME功能的最大转变就是引入了四种DATETIME数据类型，分别为DATE、TIME、DATETIMEOFFSET和DATETIME2;此外还增加了新的DATETIME函数功能。下面首先来讨论一下四种新数据类型的功能和用法。DATE数据类型在SQL Server 2005中，没有专门只用来存储日期(不包括时间)的特定数据类型，只能使用DATET...</content></entry></feed>
