OleDbCommand 类

表示要对数据源执行的 SQL 语句或存储过程。

**命名空间:**System.Data.OleDb
**程序集:**System.Data(在 system.data.dll 中)

语法

声明
Public NotInheritable Class OleDbCommand
    Inherits DbCommand
    Implements ICloneable, IDbCommand, IDisposable
用法
Dim instance As OleDbCommand
public sealed class OleDbCommand : DbCommand, ICloneable, IDbCommand, IDisposable
public ref class OleDbCommand sealed : public DbCommand, ICloneable, IDbCommand, IDisposable
public final class OleDbCommand extends DbCommand implements ICloneable, IDbCommand, 
    IDisposable
public final class OleDbCommand extends DbCommand implements ICloneable, IDbCommand, 
    IDisposable

备注

当创建 OleDbCommand 的实例时,读/写属性将被设置为它们的初始值。有关这些值的列表,请参见 OleDbCommand 构造函数。

OleDbCommand 的特点在于以下对数据源执行命令的方法:

说明

ExecuteReader

执行返回行的命令。如果用 ExecuteReader 来执行 SQL SET 语句等命令,则可能达不到预期的效果。

ExecuteNonQuery

执行 SQL INSERT、DELETE、UPDATE 和 SET 语句等命令。

ExecuteScalar

从数据库中检索单个值(例如一个聚合值)。

您可以重置 CommandText 属性并重复使用 OleDbCommand 对象。但是,在执行新的命令或先前命令之前,必须关闭 OleDbDataReader

如果执行 OleDbCommand 的方法 OleDbConnection 生成致命的 OleDbException(例如,SQL Server 严重级别等于或大于 20),连接可能会关闭。但是,用户可以重新打开连接并继续操作。

示例

下面的示例将 OleDbCommandOleDbDataAdapter 以及 OleDbConnection 一起使用,从 Access 数据库中选择行。然后返回已填充的 DataSet。向该示例传递一个已初始化的 DataSet、一个连接字符串、一个查询字符串(它是一个 SQL SELECT 语句)和一个表示源数据库表的名称的字符串。

Public Sub ReadMyData(ByVal connectionString As String)
    Dim queryString As String = "SELECT OrderID, CustomerID FROM Orders"
    Using connection As New OleDbConnection(connectionString)
        Dim command As New OleDbCommand(queryString, connection)

        connection.Open()

        Dim reader As OleDbDataReader = command.ExecuteReader()
        While reader.Read()
            Console.WriteLine(reader.GetInt32(0).ToString() + ", " _
               + reader.GetString(1))
        End While

        ' always call Close when done reading.
        reader.Close()
    End Using
End Sub
public void ReadMyData(string connectionString)
{
    string queryString = "SELECT OrderID, CustomerID FROM Orders";
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbCommand command = new OleDbCommand(queryString, connection);
        connection.Open();
        OleDbDataReader reader = command.ExecuteReader();

        while (reader.Read())
        {
            Console.WriteLine(reader.GetInt32(0) + ", " + reader.GetString(1));
        }
        // always call Close when done reading.
        reader.Close();
    }
using System;
using System.Data;
using System.Data.OleDb;

class Class1
{
    static void Main()
    {
    }

    public void ReadMyData(string connectionString)
    {
        string queryString = "SELECT OrderID, CustomerID FROM Orders";
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            OleDbCommand command = new OleDbCommand(queryString, connection);
            connection.Open();
            OleDbDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                Console.WriteLine(reader.GetInt32(0) + ", " + reader.GetString(1));
            }
            // always call Close when done reading.
            reader.Close();
        }

继承层次结构

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Data.Common.DbCommand
        System.Data.OleDb.OleDbCommand

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

OleDbCommand 成员
System.Data.OleDb 命名空间
OleDbDataAdapter
OleDbConnection

其他资源

使用命令