OleDbCommand.Prepare Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine vorbereitete (oder kompilierte) Version des Befehls in der Datenquelle.
public:
override void Prepare();
public:
virtual void Prepare();
public override void Prepare();
public void Prepare();
override this.Prepare : unit -> unit
abstract member Prepare : unit -> unit
override this.Prepare : unit -> unit
Public Overrides Sub Prepare ()
Public Sub Prepare ()
Implementiert
Ausnahmen
Beispiele
Im folgenden Beispiel wird eine OleDbCommand Verbindung erstellt und 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 ist, und eine Zeichenfolge, 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 CommandType dieser Aufsatz festgelegt StoredProcedureist, sollte der Aufruf Prepare erfolgreich ausgeführt werden, obwohl dies zu einer no-opführen kann.
Geben Sie vor dem Aufrufen Prepareden Datentyp der einzelnen Parameter in der zu erstellenden Anweisung an. Für jeden Parameter mit einem Datentyp variabler Länge müssen Sie die Size-Eigenschaft auf die erforderliche maximale Größe festlegen. Prepare gibt einen Fehler zurück, wenn diese Bedingungen nicht erfüllt sind.
Wenn Sie eine Execute Methode nach dem Aufrufen aufrufen Prepare, wird jeder Parameterwert, der größer als der durch die Size-Eigenschaft angegebene Wert ist, automatisch auf die ursprüngliche angegebene Größe des Parameters abgeschnitten, und es werden keine Abkürzungsfehler zurückgegeben.
Ausgabeparameter (ob vorbereitet oder nicht) müssen über einen vom Benutzer angegebenen Datentyp verfügen. Wenn Sie einen Datentyp mit variabler Länge angeben, müssen Sie auch die maximale Größe angeben.