OleDbCommand.Prepare Yöntem

Tanım

Veri kaynağında komutun hazırlanmış (veya derlenmiş) bir sürümünü oluşturur.

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

Uygulamalar

Özel durumlar

Connection ayarlanmadı.

-veya-

Connection açık değil.

Örnekler

Aşağıdaki örnek bir OleDbCommand oluşturur ve bağlantıyı açar. Örnek daha sonra sql SELECT deyimi olan bir dizeyi ve veri kaynağına bağlanmak için kullanılacak dizeyi geçirerek veri kaynağında bir saklı yordam hazırlar.

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

Açıklamalar

CommandType özelliği olarak TableDirectPrepare ayarlanırsa hiçbir şey yapmaz. olarak ayarlanırsa CommandTypeStoredProcedureçağrısı Prepare başarılı olmalıdır, ancak işlem yapılmamasına neden olabilir.

çağrısı Prepareyapmadan önce, hazırlanacak deyimdeki her parametrenin veri türünü belirtin. Değişken uzunlukta veri türüne sahip her parametre için Boyut özelliğini gereken en büyük boyuta ayarlamanız gerekir. Prepare bu koşullar karşılanmazsa bir hata döndürür.

çağrısı yaptıktan sonra bir Execute yöntemi çağırırsanızPrepare, Size özelliği tarafından belirtilen değerden daha büyük olan tüm parametre değerleri otomatik olarak parametrenin belirtilen özgün boyutuna yuvarlanır ve kesme hatası döndürülür.

Çıkış parametreleri (hazırlanmış olsun veya olmasın) kullanıcı tarafından belirtilen bir veri türüne sahip olmalıdır. Değişken uzunlukta bir veri türü belirtirseniz , boyut üst sınırını da belirtmeniz gerekir.

Şunlara uygulanır

Ayrıca bkz.