OleDbCommand.Prepare Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea una versione preparata o compilata del comando nell'origine dati.
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 ()
Implementazioni
Eccezioni
Esempio
L'esempio seguente crea un oggetto OleDbCommand e apre la connessione. Nell'esempio viene quindi preparata una stored procedure nell'origine dati passando una stringa che è un'istruzione SQL SELECT e una stringa da usare per connettersi all'origine dati.
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
Commenti
Se la CommandType proprietà è impostata su TableDirect
, Prepare non fa nulla. Se CommandType è impostato su StoredProcedure
, la chiamata a Prepare deve avere esito positivo, anche se può causare un no-op.
Prima di chiamare Prepare, specificare il tipo di dati di ogni parametro nell'istruzione da preparare. Per ogni parametro con tipo di dati di lunghezza variabile, è necessario impostare la proprietà Size sulla dimensione massima necessaria. Prepare restituisce un errore se queste condizioni non vengono soddisfatte.
Se si chiama un Execute
metodo dopo aver chiamato Prepare, qualsiasi valore di parametro maggiore del valore specificato dalla proprietà Size viene troncato automaticamente alla dimensione specificata originale del parametro e non vengono restituiti errori di troncamento.
I parametri di output (se preparati o meno) devono avere un tipo di dati specificato dall'utente. Se si specifica un tipo di dati di lunghezza variabile, è necessario specificare anche la dimensione massima.