100165605.htm

来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 440 行 · 第 1/5 页

HTM
440
字号
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span style="FONT-FAMILY: 宋体">可以用于在屏幕上显示列名</span></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 0cm; WIDTH: 108.55pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="145">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span lang="EN-US">ColumnMapping</span></p>
            </td>
            <td style="PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 0cm; WIDTH: 333.9pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none" valign="top" width="445">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span style="FONT-FAMILY: 宋体; LETTER-SPACING: -0.1pt">指定当</span><span lang="EN-US" style="LETTER-SPACING: -0.1pt">DataSet</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: -0.1pt">通过调用</span><span lang="EN-US" style="LETTER-SPACING: -0.1pt">DataSet.WriteXml</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: -0.1pt">来保存时,列如何映射到</span><span lang="EN-US" style="LETTER-SPACING: -0.1pt">XML</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: -0.1pt">上</span></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 0cm; WIDTH: 108.55pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="145">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span lang="EN-US">ColumnName</span></p>
            </td>
            <td style="PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 0cm; WIDTH: 333.9pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none" valign="top" width="445">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span style="FONT-FAMILY: 宋体">列名。如果没有在构造函数中设置,就由运行库自动生成</span></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 0cm; WIDTH: 108.55pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="145">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span lang="EN-US">DataType</span></p>
            </td>
            <td style="PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 0cm; WIDTH: 333.9pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none" valign="top" width="445">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span style="FONT-FAMILY: 宋体">列的</span><span lang="EN-US">System.Type</span><span style="FONT-FAMILY: 宋体">值</span></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 0cm; WIDTH: 108.55pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="145">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span lang="EN-US">DefaultValue</span></p>
            </td>
            <td style="PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 0cm; WIDTH: 333.9pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none" valign="top" width="445">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span style="FONT-FAMILY: 宋体">可以定义列的默认值</span></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 0cm; WIDTH: 108.55pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="145">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span lang="EN-US">Expression</span></p>
            </td>
            <td style="PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 0cm; WIDTH: 333.9pt; BORDER-TOP-STYLE: none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none" valign="top" width="445">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span style="FONT-FAMILY: 宋体">该属性定义表达式用于所计算的列</span></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<h4 style="MARGIN-TOP: 12pt; FTEL: 21.45pt"><span lang="EN-GB">1. </span><span style="FONT-FAMILY: 黑体">数据行</span></h4>
<p class="MsoNormal"><a ftel="DataRow"></a><a ftel="datarows"><span style="FONT-FAMILY: 宋体">这个类构成了</span><span lang="EN-US">DataTable</span></a><span style="FONT-FAMILY: 宋体">类的另一部分。数据表中的列根据</span><span lang="EN-US">DataTable</span><span style="FONT-FAMILY: 宋体">类来定义</span><span style="FONT-FAMILY: 宋体">,</span><span style="FONT-FAMILY: 宋体">表中的实际数据用</span><span lang="EN-US">DataRow</span><span style="FONT-FAMILY: 宋体">对象来访问。下面的示例说明了如何访问数据表中的行。首先是连接:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">string source = &quot;server=(local)\\NetSDK;&quot; +</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&quot;uid=QSUser;pwd=QSPassword;&quot; + </span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;database=northwind&quot;;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">string select = &quot;SELECT ContactName,CompanyName FROM Customers&quot;;</span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">SqlConnection&nbsp; conn = new SqlConnection(source);</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">下面的代码显示了</span><span lang="EN-US">SqlDataAdapter</span><span style="FONT-FAMILY: 宋体">类,它用于选择</span><span lang="EN-US">DataSet</span><span style="FONT-FAMILY: 宋体">中的数据。</span><span lang="EN-US">SqlDataAdapter</span><span style="FONT-FAMILY: 宋体">使用</span><span lang="EN-US">SQL</span><span style="FONT-FAMILY: 宋体">子句,在</span><span lang="EN-US">DataSet</span><span style="FONT-FAMILY: 宋体">中用下面查询的结果填写表</span><span lang="EN-US">Customers</span><span style="FONT-FAMILY: 宋体">。将在</span><span lang="EN-US">21.7</span><span style="FONT-FAMILY: 宋体">节中进一步讨论</span><span lang="EN-US">SqlDataAdapter</span><span style="FONT-FAMILY: 宋体">类。</span></p>
<p class="2" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">SqlDataAdapter da = new SqlDataAdapter(select, conn);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">DataSet ds = new DataSet();</span></p>
<p class="2" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">da.Fill(ds , &quot;Customers&quot;);</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">在下面的代码中注意</span><span style="FONT-FAMILY: 宋体">,</span><span style="FONT-FAMILY: 宋体">使用</span><span lang="EN-US">DataRow</span><span style="FONT-FAMILY: 宋体">的索引器访问数据行上的值。给定列的值可以用几个重载的索引器来检索,这样就可以通过已知的列号、列名或</span><span lang="EN-US">DataColum</span><span style="FONT-FAMILY: 宋体">来检索数据的值:</span></p>
<p class="2" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">foreach(DataRow row in ds.Tables[&quot;Customers&quot;].Rows)</span></p>
<p class="2" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; Console.WriteLine(&quot;'{0}' from {1}&quot; , row[0] ,row[1]);</span></p>
<p class="MsoNormal"><span lang="EN-US">DataRow</span><span style="FONT-FAMILY: 宋体">最吸引人的一个方面就是它的版本功能。</span><span lang="EN-US">DataRow</span><span style="FONT-FAMILY: 宋体">可以接收某一行上指定列的各个值,其版本见表</span><span lang="EN-US">21-5</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class="a5" style="MARGIN-TOP: 8.15pt"><span style="FONT-FAMILY: 黑体">表</span><span lang="EN-US">&nbsp; 21-5</span></p>
<div align="center">
<table class="MsoNormalTable" style="WIDTH: 436.7pt; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-COLLAPSE: collapse; BORDER-BOTTOM-STYLE: none" cellspacing="0" cellpadding="0" width="582" border="1">
    <tbody>
        <tr>
            <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 9.9pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 9.9pt; BORDER-LEFT-WIDTH: 1pt; BORDER-LEFT-COLOR: windowtext; PADDING-BOTTOM: 1.4pt; WIDTH: 112.1pt; PADDING-TOP: 1.4pt; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="149">
            <p class="a2"><a ftel="DataRowVersion"><span lang="EN-US">DataRow</span></a><span style="FONT-FAMILY: 黑体">的</span><span lang="EN-US">Version</span><span style="FONT-FAMILY: 黑体">值</span></p>
            </td>
            <td style="PADDING-RIGHT: 9.9pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 1.4pt; WIDTH: 324.6pt; PADDING-TOP: 1.4pt; BORDER-BOTTOM: windowtext 1pt solid; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none" valign="top" width="433">
            <p class="a2"><span style="FONT-FAMILY: 黑体">说</span><span lang="EN-US">&nbsp;&nbsp;&nbsp; </span><span style="FONT-FAMILY: 黑体">明</span></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 1.4pt; WIDTH: 112.1pt; BORDER-TOP-STYLE: none; PADDING-TOP: 1.4pt; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="149">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span lang="EN-US">Current</span></p>
            </td>
            <td style="PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 1.4pt; WIDTH: 324.6pt; BORDER-TOP-STYLE: none; PADDING-TOP: 1.4pt; BORDER-BOTTOM: windowtext 1pt solid; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none" valign="top" width="433">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span style="FONT-FAMILY: 宋体">列中目前存在的值,如果没有进行编辑,该值与初值相同。如果进行了编辑,该值就是最后输入的一个有效值</span></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 1.4pt; WIDTH: 112.1pt; BORDER-TOP-STYLE: none; PADDING-TOP: 1.4pt; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="149">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span lang="EN-US">Default</span></p>
            </td>
            <td style="PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 1.4pt; WIDTH: 324.6pt; BORDER-TOP-STYLE: none; PADDING-TOP: 1.4pt; BORDER-BOTTOM: windowtext 1pt solid; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none" valign="top" width="433">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span style="FONT-FAMILY: 宋体">默认值</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">列的任何默认设置</span><span lang="EN-US">)</span></p>
            </td>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?