100165595.htm

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

HTM
91
字号


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
	
        21.1.3  数据库特定的类
</title></head>
<body>
    <div class="area">

        

        <div class="col1">
            <div class="lineBlue">
            </div>
            <!-- title -->
            <div class="arcTitle">
                <h1>
                    <a href="../16">
                        C#高级编程(第3版)
                    </a>
                </h1>
                <div style="text-align: center; font-size: 15px">
                    <a href="100165595.htm">
                        21.1.3  数据库特定的类
                    </a>
                </div>
                <div style="text-align: center; font-size: 15px">
                    <a class="url" href="../../default.htm">http://book.csdn.net/</a>
                    2006-10-13 14:41:00
                </div>
                <div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
                    <div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
                        图书导读
                    </div>
                    <div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
                        <!--导读-->
                        <h1 id="divCurrentNode" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165595.htm'><font color='red'>21.1.3  数据库特定的类</font></a></h1>
                        <div id="divRelateNode" style="padding-left: 2px">
                        <div style='float:left;width:49%'>·<a href='100165592.htm'>21.1  ADO.NET概述</a></div><div style='float:right;width:49%'>·<a href='100165593.htm'>21.1.1  命名空间</a></div><div style='float:left;width:49%'>·<a href='100165594.htm'>21.1.2  共享类</a></div><div style='float:right;width:49%'>·<a href='100165596.htm'>21.2  使用数据库连接</a></div><div style='float:left;width:49%'>·<a href='100165597.htm'>21.2.1  高效地使用连接</a></div><div style='float:right;width:49%'>·<a href='100165598.htm'>21.2.2  事务处理</a></div></div>
                    </div>
                </div>
                </div>
            <!-- main -->
            <div id="main">
                <div id="text">
                  <div id="csdn_zhaig_ad_yahoo_2"></div>
                  
                 <link href="css.css" rel="stylesheet" type="text/css" /><h3 style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; FTEL: 8.15pt"><a ftel="_Toc507815156"><span lang="EN-US">21.1.3 &nbsp;</span></a><span style="FONT-FAMILY: 黑体">数据库特定的类</span></h3>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">除了共享类外,</span><span lang="EN-US">ADO.NET</span><span style="FONT-FAMILY: 宋体">还包含许多数据库特定的类,如下所示。这些类执行一组在</span><span lang="EN-US">System.Data</span><span style="FONT-FAMILY: 宋体">命名空间中定义的标准接口,允许类按照以一般形式来使用。例如</span><span style="FONT-FAMILY: 宋体">,</span><span lang="EN-US">SqlConnection</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">OleDbConnection</span><span style="FONT-FAMILY: 宋体">类执行</span><span lang="EN-US">IDbConnection</span><span style="FONT-FAMILY: 宋体">接口。</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-GB">●<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US">SqlCommand</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OleDbCommand</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OracleCommand</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">ODBCCommand</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: -1pt">&mdash;&mdash;</span><span style="LETTER-SPACING: -1pt"> </span><span lang="EN-GB">SQL</span><span style="FONT-FAMILY: 宋体">语句的包装器或存储过程的调用。</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-GB">●<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US">SqlCommandBuilder</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OleDbCommandBuilder</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OracleCommandBuilder</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">ODBCCommand Builder</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: -1pt">&mdash;&mdash;</span><span style="LETTER-SPACING: -1pt"> </span><span style="FONT-FAMILY: 宋体">用于从一个</span><span lang="EN-GB">select</span><span style="FONT-FAMILY: 宋体">子句中生成</span><span lang="EN-GB">SQL</span><span style="FONT-FAMILY: 宋体">语句</span><span lang="EN-GB">(</span><span style="FONT-FAMILY: 宋体">例如</span><span lang="EN-US">INSERT</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">UPDATE</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">DELETE</span><span style="FONT-FAMILY: 宋体">语句</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">的类。</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-GB">●<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US">SqlConnection</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OleDbConnection</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OracleConnection</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">ODBCConnection</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: -1pt">&mdash;&mdash;</span><span style="LETTER-SPACING: -1pt"> </span><span style="FONT-FAMILY: 宋体">数据库连接。类似于</span><span lang="EN-GB">ADO </span><span lang="EN-US">Connection</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class="1" style="MARGIN-LEFT: 31.55pt; FTEL: -10.1pt"><span lang="EN-GB">●<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-GB" style="FONT-FAMILY: 宋体; LETTER-SPACING: -2pt">&nbsp;</span><span lang="EN-US">SqlDataAdapter</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OleDbDataAdapter</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OracleDataAdapter</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">ODBCDataAdapter</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: -1pt">&mdash;&mdash;</span><span style="LETTER-SPACING: -1pt"> </span><span style="FONT-FAMILY: 宋体">用于存储选择、插入、更新和删除语句的类,因此可以用于生成</span><span lang="EN-US">DataSet</span><span style="FONT-FAMILY: 宋体">和更新数据库。</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-GB">●<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US">SqlDataReader</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OleDbDataReader</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OracleDataReader</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">ODBCDataReader</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: -1pt">&mdash;&mdash;</span><span style="LETTER-SPACING: -1pt"> </span><span style="FONT-FAMILY: 宋体">只向前的连接数据读取器。</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-GB">●<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US">SqlParameter</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OleDbParameter</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OracleParameter</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">ODBCParameter</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: -1pt">&mdash;&mdash;</span><span style="LETTER-SPACING: -1pt"> </span><span style="FONT-FAMILY: 宋体">为存储过程定义一个参数。</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-GB">●<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US">SqlTransaction</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OleDbTransaction</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">OracleTransaction</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">ODBCTransaction</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: -1pt">&mdash;&mdash;</span><span style="FONT-FAMILY: 宋体">数据库事务处理,包装在一个对象中。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 16pt"><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">从上面的列表可以看出,每种对象都有</span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">4</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">个类,分别用于</span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">.NET 1.1</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">中的每个提供程序。在本章的后面部分,除非特别说明,否则前缀</span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">&lt;provider&gt;</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">将用于表示所使用的类依赖于数据库提供程序。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 16pt"><span lang="EN-US" style="LETTER-SPACING: 0.1pt">ADO.NET</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">类最重要的新特性是它们是以断开连接的方式工作</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">,</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">这在目前以</span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">Web</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">为中心的环境中是非常重要的。我们常常把服务</span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">(</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">例如在线书店</span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">)</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">构建为连接一个服务器,检索一些数据,再在客户</span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">PC</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">上处理这些数据,之后重新连接服务器,把数据传送回去,进行处理。</span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">ADO.NET</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">的断开连接的本质就可以实现这种操作。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 16pt"><span lang="EN-US" style="LETTER-SPACING: 0.1pt">ADO 2.1</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">引入了断开连接的记录集,允许从数据库中检索数据,把它们传送给客户机,进行处理,再重新连接服务器。但它们使用起来常常很繁琐,因为断开连接的工作方式不是一开始就设计好的。</span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">ADO.NET</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">类则不同,除了一种情况</span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">(&lt;provider&gt;</span><span lang="EN-US"> DataReader<span style="LETTER-SPACING: 0.1pt">)</span></span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">外,它们都用于脱机处理数据库。</span></p>
<p class="a3" style="MARGIN-TOP: 8.15pt; FTEL: 21.45pt"><span style="FONT-FAMILY: 黑体">注意:</span></p>
<p class="a1" style="FTEL: 21.45pt"><span style="FONT-FAMILY: 楷体_GB2312">本章将介绍在</span><span lang="EN-US">.NET Framework</span><span style="FONT-FAMILY: 楷体_GB2312">中用于数据访问的类和接口,主要论述连接数据库时使用的</span><span lang="EN-US">SQL</span><span style="FONT-FAMILY: 楷体_GB2312">类,因为</span><span lang="EN-US">Framework SDK</span><span style="FONT-FAMILY: 楷体_GB2312">示例安装了一个</span><span lang="EN-US">MSDE</span><span style="FONT-FAMILY: 楷体_GB2312">数据库</span><span lang="EN-US">(SQL Server)</span><span style="FONT-FAMILY: 楷体_GB2312">。在大多数情况下,</span><span lang="EN-US">OleDb</span><span style="FONT-FAMILY: 楷体_GB2312">、</span><span lang="EN-US">Oracle</span><span style="FONT-FAMILY: 楷体_GB2312">和</span><span lang="EN-US">ODBC</span><span style="FONT-FAMILY: 楷体_GB2312">类类似于</span><span lang="EN-US">SQL</span><span style="FONT-FAMILY: 楷体_GB2312">代码。</span></p></div>
                <!-- page -->
                <div class="page" style="text-align: center">
                    <a href="100165594.htm">上一页</a>&nbsp;&nbsp;&nbsp;<a href="index.html">首页</a>&nbsp;&nbsp;&nbsp;<a href="100165596.htm">下一页</a>
                </div>
                <div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
                    <div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
                        图书导读
                    </div>
                    <div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
                        <!--导读-->
                        <h1 id="divCurrentNode2" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165595.htm'><font color='red'>21.1.3  数据库特定的类</font></a></h1>
                        <div id="divRealteNod2" style="padding-left: 2px">
                        <div style='float:left;width:49%'>·<a href='100165592.htm'>21.1  ADO.NET概述</a></div><div style='float:right;width:49%'>·<a href='100165593.htm'>21.1.1  命名空间</a></div><div style='float:left;width:49%'>·<a href='100165594.htm'>21.1.2  共享类</a></div><div style='float:right;width:49%'>·<a href='100165596.htm'>21.2  使用数据库连接</a></div><div style='float:left;width:49%'>·<a href='100165597.htm'>21.2.1  高效地使用连接</a></div><div style='float:right;width:49%'>·<a href='100165598.htm'>21.2.2  事务处理</a></div></div>
                    </div>
                </div>
                </div>
            <!-- 评论 -->
            <!-- 今日推荐 -->
            </div>
        <!-- 页脚 -->
        <div id="foot">
         <img src="../../book/readbook.aspx@node=5595&bookid=16&bookname=21.1.3++_25ca_25fd_25be_25dd_25bf_25e2_25cc_25d8_25b6_25a8_25b5_25c4_25c0_25e0" alt="" width="0" height="0" />
        <style>

        </div>
</body>
</html>

⌨️ 快捷键说明

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