IDbCommand.Prepare Methode

Definition

Erstellt eine vorbereitete (oder kompilierte) Version des Befehls für die Datenquelle.Creates a prepared (or compiled) version of the command on the data source.

public:
 void Prepare();
public void Prepare ();
abstract member Prepare : unit -> unit
Public Sub Prepare ()

Ausnahmen

Connection ist nicht festgelegt.The Connection is not set.

- oder --or- Connection ist nicht Open().The Connection is not Open().

Beispiele

Im folgenden Beispiel wird eine Instanz der abgeleiteten-Klasse erstellt, OleDbCommandund die Verbindung geöffnet.The following example creates an instance of the derived class, OleDbCommand, and opens the connection. Im Beispiel wird dann eine gespeicherte Prozedur für die Datenquelle vorbereitet, indem eine Zeichenfolge, die eine SQL-SELECT-Anweisung ist, und eine Zeichenfolge übergeben wird, mit der eine Verbindung zur Datenquelle hergestellt wird.The example then prepares a stored procedure on the data source by passing a string that is a SQL Select statement and a string to use to connect to the data source.

private static void OleDbCommandPrepare(string connectionString)
{
    using (OleDbConnection connection = new
               OleDbConnection(connectionString))
    {
        connection.Open();

        // Create the Command.
        OleDbCommand command = new OleDbCommand();

        // Set the Connection, CommandText and Parameters.
        command.Connection = connection;
        command.CommandText =
            "INSERT INTO dbo.Region (RegionID, RegionDescription) VALUES (?, ?)";
        command.Parameters.Add("RegionID", OleDbType.Integer, 4);
        command.Parameters.Add("RegionDescription", OleDbType.VarWChar, 50);
        command.Parameters[0].Value = 20;
        command.Parameters[1].Value = "First Region";

        // Call  Prepare and ExecuteNonQuery.
        command.Prepare();
        command.ExecuteNonQuery();

        // Change parameter values and call ExecuteNonQuery.
        command.Parameters[0].Value = 21;
        command.Parameters[1].Value = "SecondRegion";
        command.ExecuteNonQuery();
    }
}
Public Sub OleDbCommandPrepare(ByVal connectionString As String)

    Using connection As OleDbConnection = New _
        OleDbConnection(connectionString)
        connection.Open()

        ' Create the Command.
        Dim command As New OleDbCommand()

        ' Set the Connection, CommandText and Parameters.
        command.Connection = connection
        command.CommandText = _
          "INSERT INTO dbo.Region (RegionID, RegionDescription) VALUES (?, ?);"
        command.Parameters.Add("RegionID", OleDbType.Integer, 4)
        command.Parameters.Add("RegionDescription", OleDbType.VarWChar, 50)
        command.Parameters(0).Value = 20
        command.Parameters(1).Value = "First Region"

        ' Call  Prepare and ExecuteNonQuery.
        command.Prepare()
        command.ExecuteNonQuery()

        ' Change parameter values and call ExecuteNonQuery.
        command.Parameters(0).Value = 21
        command.Parameters(1).Value = "Second Region"
        command.ExecuteNonQuery()
    End Using
End Sub

Hinweise

Wenn die CommandType-Eigenschaft auf TableDirectfestgelegt ist, führt Prepare nichts aus.If the CommandType property is set to TableDirect, Prepare does nothing. Wenn CommandType auf StoredProcedurefestgelegt ist, sollte der Prepare-erfolgreich aufgerufen werden, obwohl dies möglicherweise zu einem No-op-Wert führt.If CommandType is set to StoredProcedure, the call to Prepare should succeed, although it may result in a no-op. Der Server speichert Pläne automatisch für die Wiederverwendung nach Bedarf. Daher ist es nicht erforderlich, diese Methode direkt in der Client Anwendung aufzurufen.The server automatically caches plans for reuse as necessary; therefore, there is no need to call this method directly in your client application.

Gilt für: