Share via


OleDbCommand.Prepare Metode

Definisi

Membuat versi perintah yang disiapkan (atau dikompilasi) pada sumber data.

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

Penerapan

Pengecualian

Connection belum disetel.

-atau-

Tidak Connection terbuka.

Contoh

Contoh berikut membuat OleDbCommand dan membuka koneksi. Contohnya kemudian menyiapkan prosedur tersimpan pada sumber data dengan meneruskan string yang merupakan pernyataan SQL SELECT dan string yang akan digunakan untuk menyambungkan ke sumber data.

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

Keterangan

CommandType Jika properti diatur ke TableDirect, Prepare tidak melakukan apa pun. Jika CommandType diatur ke StoredProcedure, panggilan ke Prepare harus berhasil, meskipun dapat menyebabkan no-op.

Sebelum Anda memanggil Prepare, tentukan jenis data setiap parameter dalam pernyataan yang akan disiapkan. Untuk setiap parameter yang memiliki jenis data panjang variabel, Anda harus mengatur properti Ukuran ke ukuran maksimum yang diperlukan. Prepare mengembalikan kesalahan jika kondisi ini tidak terpenuhi.

Jika Anda memanggil Execute metode setelah Anda memanggil Prepare, nilai parameter apa pun yang lebih besar dari nilai yang ditentukan oleh properti Ukuran secara otomatis dipotong ke ukuran parameter asli yang ditentukan, dan tidak ada kesalahan pemotongan yang dikembalikan.

Parameter output (baik disiapkan atau tidak) harus memiliki jenis data yang ditentukan pengguna. Jika Anda menentukan jenis data panjang variabel, Anda juga harus menentukan Ukuran maksimum.

Berlaku untuk

Lihat juga