Freigeben über


IDbCommand.Prepare Methode

Definition

Erstellt eine vorbereitete (oder kompilierte) Version des Befehls in der Datenquelle.

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

Ausnahmen

Der Connection Wert ist nicht festgelegt.

- oder -

Das Connection ist nicht Open().

Beispiele

Im folgenden Beispiel wird eine Instanz der abgeleiteten Klasse OleDbCommanderstellt und die Verbindung geöffnet. Anschließend bereitet das Beispiel eine gespeicherte Prozedur für die Datenquelle vor, indem eine Zeichenfolge übergeben wird, die eine SQL Select-Anweisung und eine Zeichenfolge ist, die zum Herstellen einer Verbindung mit der Datenquelle verwendet werden soll.

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 TableDirect", Prepare führt nichts aus. Wenn dieser auf <a0/> festgelegt ist, sollte der Aufruf erfolgreich ausgeführt werden, obwohl er zu einer no-opführen kann. Der Server speichert automatisch Pläne für die Wiederverwendung nach Bedarf zwischen; Daher ist es nicht erforderlich, diese Methode direkt in Ihrer Clientanwendung aufzurufen.

Gilt für: