📄 mdhowcreatecommand.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML dir=ltr>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=GB_2312-80">
<title>步骤 2:创建命令(ADO 教程)</title>
<style>@import url(msdn_ie4.css);</style>
</HEAD>
<BODY>
<h3><a name="mdhowcreatecommand"></a>步骤 2:创建命令(ADO 教程)</h3>
<p><a href="dir.htm">目录</a></p>
<p class=label>
<b>您所在的步骤...</b>
<ul type=disc>
<li>
连接数据源。<br><br></li>
<li>
<b>可选择创建表示 SQL 查询命令的对象。</b><br><br></li>
<li>
<b>可选择在 SQL 命令中将值指定为变量参数。</b><br><br></li>
<li>
执行命令。如果命令以行返回,将行存储在存储对象中。<br><br></li>
<li>
可选择对数据进行定位、检查、操作和编辑。<br><br></li>
<li>
适当情况下,可以使用存储对象中的变更对数据源进行更新。可选择在事务处理中嵌入更新数据。<br><br></li>
<li>
在使用事务之后,可以接受或拒绝在事务中所做的更改。结束事务。 </li>
</ul>
<p class=label>
<b>讨论</b></p>
<p>
查询命令要求数据源返回含有所要求信息行的 <b>Recordset</b> 对象。命令通常使用 SQL 编写。 </p>
<ol>
<li>
如上所述,“命令字符串”之类的操作数可表示为:<ul type=disc>
<li>
代表字符串的文字串或变量。本教程可使用命令字符串“SELECT * from authors”查询 <b>pubs</b> 数据库中的 <b>authors</b> 表中的所有信息。<br><br></li>
<li>
代表命令字符串的对象。在这种情况下,<b>Command</b> 对象的 <b>CommandText</b> 属性的值设置为命令字符串。<pre>Command cmd = New ADODB.Command;
cmd.CommandText = "SELECT * from authors"
</pre>
</li>
</ul>
</li>
<li>
使用占位符‘?’指定参数化命令字符串。<p class=tl>
尽管 SQL 字符串的内容是固定的,您也可以创建“参数化”命令,这样在命令执行时占位符‘?’子字符串将被参数所替代。</P><p class=tl>
使用 <b>Prepared</b> 属性可以优化参数化命令的性能,参数化命令可以重复使用,每次只需要改变参数。</P><p class=tl>
例如,执行以下命令字符串将对所有姓“Ringer”的作者进行查询:</P><pre>Command cmd = New ADODB.Command
cmd.<span class=cfe><b>CommandText</b></span> = "SELECT * from authors WHERE au_lname = ?"
</pre>
</li>
<li>
指定 <b>Parameter </b>对象并将其追加到 <b>Parameter </b>集合。<p class=tl>
每个占位符‘?’将由 <b>Command</b> 对象 <b>Parameter</b> 集合中相应的 <b>Parameter</b> 对象值替代。 可将“Ringer”作为值来创建 <b>Parameter</b> 对象,然后将其追加到 <b>Parameter</b> 集合:</P><pre>Parameter prm = New ADODB.Parameter
prm.Name = "au_lname"
prm.Type = adVarChar
prm.Direction = adInput
prm.Size = 40
prm.Value = "Ringer"
cmd.Parameters.Append prm
</pre>
</li>
<li>
使用 <b>CreateParameter </b>方法指定并追加 <b>Parameter </b>对象。<p class=tl>
ADO 现在可提供简易灵活的方法在单个步骤中创建 <b>Parameter </b>对象并将其追加到 <b>Parameter </b>集合。</P><pre>cmd.Parameters.Append cmd.CreateParameter _
"au_lname", adVarChar, adInput, 40, "Ringer"
</pre>
<p class=tl>
本教程将不使用参数化命令,因为需要使用 <b>Command.Execute </b>方法以参数替代占位符‘?’,但该方法不允许指定 <b>Recordset</b> 游标类型和锁定选项。为此将使用如下代码:</P><pre>Command cmd = New ADODB.Command;
cmd.CommandText = "SELECT * from authors"
</pre>
</li>
</ol>
<p>
下面列出表 <b>authors </b>的模式以供查阅。</p>
<table border=1 cellpadding=5 cols=3 frame=below rules=rows>
<tr valign=top>
<td class=label width=34%><b>列名称</b></td>
<td class=label width=43%><b>数据类型(长度)</b></td>
<td class=label width=23%><b>是否可为空</b></td>
</tr>
<tr valign=top>
<td width=34%>au_id</td>
<td width=43%>ID (11)</td>
<td width=23%>否</td>
</tr>
<tr valign=top>
<td width=34%>au_lname</td>
<td width=43%>varchar(40)</td>
<td width=23%>否</td>
</tr>
<tr valign=top>
<td width=34%>au_fname</td>
<td width=43%>varchar(20)</td>
<td width=23%>否</td>
</tr>
<tr valign=top>
<td width=34%>Phone</td>
<td width=43%>char(12)</td>
<td width=23%>否</td>
</tr>
<tr valign=top>
<td width=34%>Address</td>
<td width=43%>varchar(40)</td>
<td width=23%>是</td>
</tr>
<tr valign=top>
<td width=34%>City</td>
<td width=43%>varchar(20)</td>
<td width=23%>是</td>
</tr>
<tr valign=top>
<td width=34%>State</td>
<td width=43%>char(2)</td>
<td width=23%>是</td>
</tr>
<tr valign=top>
<td width=34%>Zip</td>
<td width=43%>char(5)</td>
<td width=23%>是</td>
</tr>
<tr valign=top>
<td width=34%>Contract</td>
<td width=43%>bit</td>
<td width=23%>否</td>
</tr>
</table><br>
<p>
<B><b>下一步 </b></B><a href="mdhowexecutecommand.htm">步骤 3</a></p>
<center> <A HREF="http://www.51windows.Net">www.51windows.Net</A></center>
<SCRIPT LANGUAGE="JavaScript" src="/log/sitelog2.asp"></SCRIPT>
<script src="script.js"></script></BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -