Aracılığıyla paylaş


İşlem (ODBC)

Bu konu MFC ODBC sınıfları için geçerlidir.

İşlem, bir dizi güncelleştirmeyi tümünün tek seferde tamamlandığı veya işlemi geri almanız durumunda hiçbirinin tamamlanmadığı gruplandırma veya veri kaynağına toplama yöntemidir.İşlem kullanmazsanız veri kaynağındaki değişiklikler isteğe bağlı kabul edilmek yerine otomatik olarak kabul edilir.

[!NOT]

Tüm ODBC veritabanı sürücüleri hareketleri desteklemez.Sürücünüzün verilen bir veritabanı işlemlerini destekleyip desteklemediğini belirlemek için CDatabase veya CRecordset nesnenizin CanTransact üye işlevini çağırın.CanTransact öğesinin, veri kaynağının tam işlem desteği verip vermediğini belirttiğini unutmayın.Açık CRecordset nesnesi üzerindeki hareket etkisini denetlemek için, CommitTrans ve Geri Al'dan sonra, CDatabase::GetCursorCommitBehavior ve CDatabase::GetCursorRollbackBehavior çağrısı da yapmalısınız.

Bir CRecordset nesnesinin AddNew ve Düzenle üye işlevlerine yapılan çağrılar, Güncelleştir öğesini çağırdığınızda veri kaynağını hemen etkiler.Silme çağrısı da hemen etkili olur.Buna karşılık, gerçekleştirilen ama açıkça CommitTrans öğesi çağrılana kadar tamamlanmayan AddNew, Edit, Update ve Delete öğelerine yapılan çoklu çağrılardan oluşan bir işlem kullanabilirsiniz.Bir işlem oluşturarak, bu türde çağrılar yapabilirsiniz ve aynı zamanda bu çağrıları geri alabilme özelliğinizi korursunuz.Kritik bir kaynak kullanılamıyorsa veya diğer bir koşul tüm işlemin tamamlanmasını engelliyorsa, işlemi uygulamak yerine geri dönebilirsiniz.Bu durumda, işleme ait değişikliklerin hiçbiri veri kaynağını etkilemez.

[!NOT]

Geçerli olarak, CRecordset sınıfı yığın satır getirme uyguladıysanız veri kaynağı güncelleştirmelerini desteklemez.Buna göre AddNew, Düzenleme, Silmek, veya Güncelleştirme için çağrı yapamazsınız.Ancak, güncelleştirmeleri gerçekleştirmek için kendi işlevlerinizi yazabilir ve bu işlevleri belirtilen bir hareket içinde arayabilirsiniz.Toplu satır yakalama hakkında daha fazla bilgi için bkz. Kayıt Kümesi: Kayıtları Toplu Yakalama (ODBC).

[!NOT]

İşlemler kayıt kümenizi etkilemenin yanı sıra CDatabase nesnenizle ilişkilendirilmiş ODBC HDBC öğesini, veya o HDBC'ye dayalı bir ODBC HSTMT'sini kullandığınız sürece doğrudan çalıştırdığınız SQL deyimlerini de etkiler.

İşlemler, aynı anda güncelleştirilmesi gereken birden çok kayda sahip olduğunuzda özellikle yararlıdır.Bu durumda, örneğin en son güncelleştirme yapılmadan bir özel durum atıldığında ortaya çıkabilecek yarı tamamlanmış işlemi önlemeniz gerekir.Güncelleştirmeleri bir işlem olarak gruplandırmak değişikliklerde bir kurtarma (geri alma) sağlar ve kayıtları işlem öncesi duruma döndürür.Örneğin, Bir banka A hesabından B hesabına para aktarırsa, fonların doğru şekilde işlenmesi için hem A hesabından para çekme hem de B hesabına para yatırma işlemleri başarılı olmalı veya işlemin tamamı başarısız olmalıdır.

Veritabanı sınıflarında, işlemleri CDatabase nesneleri aracılığıyla gerçekleştirirsiniz.CDatabase nesnesi, bir veri kaynağına yapılan bağlantıyı gösterir ve CDatabase nesnesiyle ilişkili bir veya daha fazla kayıt, kayıt kümesi üye işlevleri aracılığıyla veritabanının üzerindeki tablolarda çalışır.

[!NOT]

İşlemlerin yalnızca bir düzeyi desteklenir.İşlemleri iç içe geçiremez ve bir işlemi birden çok veritabanı nesnesine yayamazsınız.

Aşağıdaki konular işlemlerin nasıl gerçekleştirildiğine dair daha fazla bilgi sağlar:

Ayrıca bkz.

Kavramlar

Açık veritabanı bağlantısı (odbc)