Freigeben über


IDbCommand.Prepare Methode

Definition

Erstellt eine vorbereitete (oder kompilierte) Version des Befehls für die Datenquelle.

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

Ausnahmen

Connection ist nicht festgelegt.

- oder -

Connection ist nicht Open().

Beispiele

Im folgenden Beispiel wird eine instance der abgeleiteten Klasse erstellt, OleDbCommandund die Verbindung wird geöffnet. Im Beispiel wird dann eine gespeicherte Prozedur für die Datenquelle vorbereitet, indem eine Zeichenfolge übergeben wird, bei der es sich um eine SQL Select-Anweisung und eine Zeichenfolge handelt, 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 TableDirectfestgelegt ist, Prepare wird nichts ausgeführt. Wenn CommandType auf StoredProcedurefestgelegt ist, sollte der Aufruf von Prepare erfolgreich sein, obwohl dies zu einem No-Op führen kann. Der Server speichert Pläne automatisch für die Wiederverwendung zwischen. Daher ist es nicht erforderlich, diese Methode direkt in Ihrer Clientanwendung aufzurufen.

Gilt für: