Aracılığıyla paylaş


ODBC: ODBC API İşlevlerini Doğrudan Çağırma

Veritabanı sınıfları bir veri kaynağı öğesine ODBC'dekine göre daha basit bir arabirim sağlar. Sonuç olarak, sınıflar tüm ODBC API'larını içermez. Sınıfların yeteneklerini dışında kalan herhangi bir işlevsellik için, ODBC API işlevlerini doğrudan çağırmanız gereklidir. Örneğin, ODBC katalog işlevlerini (::SQLColumns, ::SQLProcedures, ::SQLTables vd.) doğrudan çağırmanız gerekir.

Not

ODBC veri kaynaklarına bu konuda açıklandığı gibi MFC ODBC sınıfları üzerinden, ya da MFC Veri Erişim Nesnesi (DAO) üzerinden erişilebilir.

Bir ODBC API işlevini doğrudan çağırmak için çerçeve olmadan görüşmeleri yapıyor olduğunuzdaki aynı adımları uygulamanız gerekir. Bu adımlar şunlardır:

  • Çağrının döndürdüğü herhangi bir sonuç için depolama ayır.

  • İşlevin parametre imzasına bağlı olarak bir ODBC HDBC veya HSTMT tutamacı geçirin. ODBC işleyicisini almak için AFXGetHENV makrosunu kullanın.

    CDatabase::m_hdbc ve CRecordset::m_hstmt üye değişkenleri, kendi başınıza ayırıp başlatmanıza gerek olmaması için mevcuttur.

  • Ek çağrı ODBC, ana aramaya hazırlanma veya ana aramayı izleme işlevini gerçekleştirilebilir.

  • İşlemi tamamladığınızda, depolamayı ayırın.

Bu adımlar hakkında daha fazla bilgi için MSDN belgesindeki Açık Veritabanı Bağlanabilirliği (ODBC) SDK konusuna bakın.

Bu adımlara ek olarak, işlev dönüş değerlerini denetlemek, programınızın bitmek için bir zaman uyumsuz bir çağrı beklemediğinden emin olmak vb. gibi işlemler için fazladan adım gerçekleştirmeniz gerekir. Bu son adımları AFX_SQL_ASYNC ve AFX_SQL_SYNC makrolarını kullanarak kolaylaştırabilirsiniz. Daha fazla bilgi için bkz. MFC Başvurusu'nda Makrolar ve Geneller'e bakın.

Ayrıca bkz.

Kavramlar

ODBC Basics