Sdílet prostřednictvím


IDbCommand.Prepare Metoda

Definice

Vytvoří připravenou (nebo zkompilovanou) verzi příkazu ve zdroji dat.

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

Výjimky

Není Connection nastavená.

nebo

To Connection není Open().

Příklady

Následující příklad vytvoří instanci odvozené třídy OleDbCommanda otevře připojení. Příklad pak připraví uloženou proceduru ve zdroji dat předáním řetězce, který je příkazem SQL Select a řetězcem, který se použije pro připojení ke zdroji dat.

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

Poznámky

Pokud je vlastnost nastavena CommandType na TableDirect, Prepare nedělá nic. Pokud CommandType je nastavena na StoredProcedure, volání Prepare by mělo být úspěšné, i když může vést k no-op. Server automaticky ukládá plány pro opakované použití podle potřeby; proto není nutné tuto metodu volat přímo v klientské aplikaci.

Platí pro