Partager via


OleDbCommand.Prepare Méthode

Définition

Crée une version préparée (ou compilée) de la commande sur la source de données.

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 ()

Implémente

Exceptions

Ce Connection n’est pas défini.

- ou -

Ce Connection n’est pas ouvert.

Exemples

L’exemple suivant crée une OleDbCommand connexion et ouvre la connexion. L’exemple prépare ensuite une procédure stockée sur la source de données en passant une chaîne qui est une instruction SQL SELECT et une chaîne à utiliser pour se connecter à la source de données.

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

Remarques

Si la CommandType propriété est définie TableDirectsur , Prepare ne fait rien. Si CommandType la valeur est définie StoredProcedure, l’appel doit Prepare réussir, bien qu’il puisse provoquer une no-op.

Avant d’appeler Prepare, spécifiez le type de données de chaque paramètre de l’instruction à préparer. Pour chaque paramètre qui a un type de données de longueur variable, vous devez définir la propriété Size sur la taille maximale nécessaire. Prepare retourne une erreur si ces conditions ne sont pas remplies.

Si vous appelez une Execute méthode après l’appel Prepare, toute valeur de paramètre supérieure à la valeur spécifiée par la propriété Size est automatiquement tronquée à la taille spécifiée d’origine du paramètre et aucune erreur de troncation n’est retournée.

Les paramètres de sortie (préparés ou non) doivent avoir un type de données spécifié par l’utilisateur. Si vous spécifiez un type de données de longueur variable, vous devez également spécifier la taille maximale.

S’applique à

Voir aussi