SqlCommand.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.
SQL Server örneğinde komutun hazırlanmış 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
Örnekler
Aşağıdaki örnekte yönteminin kullanımı gösterilmektedir Prepare .
private static void SqlCommandPrepareEx(string connectionString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlCommand command = new SqlCommand(null, connection);
// Create and prepare an SQL statement.
command.CommandText =
"INSERT INTO Region (RegionID, RegionDescription) " +
"VALUES (@id, @desc)";
SqlParameter idParam = new SqlParameter("@id", SqlDbType.Int, 0);
SqlParameter descParam =
new SqlParameter("@desc", SqlDbType.Text, 100);
idParam.Value = 20;
descParam.Value = "First Region";
command.Parameters.Add(idParam);
command.Parameters.Add(descParam);
// Call Prepare after setting the Commandtext and Parameters.
command.Prepare();
command.ExecuteNonQuery();
// Change parameter values and call ExecuteNonQuery.
command.Parameters[0].Value = 21;
command.Parameters[1].Value = "Second Region";
command.ExecuteNonQuery();
}
}
Private Sub SqlCommandPrepareEx(ByVal connectionString As String)
Using connection As New SqlConnection(connectionString)
connection.Open()
Dim command As New SqlCommand("", connection)
' Create and prepare an SQL statement.
command.CommandText = _
"INSERT INTO Region (RegionID, RegionDescription) " & _
"VALUES (@id, @desc)"
Dim idParam As SqlParameter = _
New SqlParameter("@id", SqlDbType.Int, 0)
Dim descParam As SqlParameter = _
New SqlParameter("@desc", SqlDbType.Text, 100)
idParam.Value = 20
descParam.Value = "First Region"
command.Parameters.Add(idParam)
command.Parameters.Add(descParam)
' Call Prepare after setting the Commandtext and Parameters.
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
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, özelliğini gereken en büyük boyuta ayarlamanız Size gerekir. Prepare bu koşullar karşılanmazsa bir hata döndürür.
Not
Veritabanı bağlamı Transact-SQL USE <database>
deyimi yürütülerek veya yöntemi çağrılarak ChangeDatabase değiştirilirse Prepare , ikinci kez çağrılmalıdır.
çağrısı Prepareyaptıktan sonra bir yöntemi çağırırsanız, özelliği tarafından Size belirtilen değerden daha büyük olan herhangi bir Execute
parametre değeri, parametrenin belirtilen özgün boyutuna otomatik olarak kesilir 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, en büyük Sizedeğerini de belirtmeniz gerekir.
Visual Studio 2010'a Prepare başlamadan önce bir özel durum oluşturdu. Visual Studio 2010'da başlayarak, bu yöntem özel durum oluşturmaz.