OleDbCommand.Prepare Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
Ö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 TableDirect
Prepare 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.