IDbCommand.Prepare Metod

Definition

Skapar en förberedd (eller kompilerad) version av kommandot på datakällan.

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

Undantag

Är Connection inte inställt.

-eller-

Connection är inte Open().

Exempel

I följande exempel skapas en instans av den härledda klassen, OleDbCommand, och anslutningen öppnas. Exemplet förbereder sedan en lagrad procedur på datakällan genom att skicka en sträng som är en SQL Select-instruktion och en sträng som ska användas för att ansluta till datakällan.

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

Kommentarer

Om egenskapen är inställd på CommandTypeTableDirect, Prepare gör ingenting. Om CommandType är inställt på StoredProcedureska anropet till Prepare lyckas, även om det kan resultera i en no-op. Servern cachelagrar automatiskt planer för återanvändning efter behov. Därför behöver du inte anropa den här metoden direkt i klientprogrammet.

Gäller för