IDbCommand.Prepare Metoda
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Tworzy przygotowaną (lub skompilowana) wersję polecenia w źródle danych.
public:
void Prepare();
public void Prepare();
abstract member Prepare : unit -> unit
Public Sub Prepare ()
Wyjątki
Przykłady
Poniższy przykład tworzy wystąpienie klasy pochodnej , OleDbCommanda następnie otwiera połączenie. Następnie przykład przygotowuje procedurę składowaną w źródle danych, przekazując ciąg, który jest instrukcją SQL Select i ciągiem używanym do nawiązywania połączenia ze źródłem danych.
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
Uwagi
Jeśli właściwość jest ustawiona CommandType na TableDirectwartość , Prepare nic nie robi. Jeśli CommandType parametr ma wartość StoredProcedure, wywołanie Prepare metody powinno zakończyć się powodzeniem, chociaż może to spowodować brak operacji. Serwer automatycznie buforuje plany ponownego użycia w razie potrzeby; w związku z tym nie ma potrzeby wywoływania tej metody bezpośrednio w aplikacji klienckiej.