ODBC: ODBC API İşlevlerini Doğrudan Çağırma
Veritabanı sınıfları, bir veri kaynağına ODBC'den daha basit bir arabirim sağlar. Sonuç olarak, sınıflar tüm ODBC API'sini kapsüllemez. Sınıfların yeteneklerinin dışında kalan tüm işlevler için ODBC API işlevlerini doğrudan çağırmanız gerekir. Örneğin, ODBC katalog işlevlerini (::SQLColumns
, ::SQLProcedures
, ::SQLTables
ve diğerlerini) doğrudan çağırmanız gerekir.
Not
ODBC veri kaynaklarına bu konuda açıklandığı gibi MFC ODBC sınıfları aracılığıyla veya MFC Veri Erişim Nesnesi (DAO) sınıfları aracılığıyla erişilebilir.
Bir ODBC API işlevini doğrudan çağırmak için, çağrıları çerçeve olmadan yapıyorsanız uygulayacağınız adımları uygulamanız gerekir. Adımlar şunlardır:
Çağrının döndürdüğü sonuçlar için depolama alanı ayırın.
İşlevin parametre imzalarına bağlı olarak bir ODBC
HDBC
veyaHSTMT
tanıtıcı geçirin. ODBC tutamacını almak için AFXGetHENV makrosunu kullanın.Üye değişkenleri
CDatabase::m_hdbc
veCRecordset::m_hstmt
kullanılabilir, böylece bunları kendiniz ayırmanız ve başlatmanız gerekmez.Belki de ana çağrıya hazırlanmak veya bu çağrıyı izlemek için ek ODBC işlevleri çağırın.
bitirdiğinizde depolama alanını serbest bırakma.
Bu adımlar hakkında daha fazla bilgi için bkz . ODBC Programcı Başvurusu.
Bu adımlara ek olarak, işlev dönüş değerlerini denetlemek, programınızın zaman uyumsuz bir çağrının bitmesini beklemediğinden emin olmak vb. için ek adımlar uygulamanız gerekir. AFX_SQL_ASYNC ve AFX_SQL_SYNC makrolarını kullanarak bu son adımları basitleştirebilirsiniz. Daha fazla bilgi için bkz . MFC makroları ve genelleri.