CDatabase::Open

sanalboolAçık (lpctstrlpszDSN,boolbExclusive yanlışboolbReadOnly = yanlışlpctstrlpszConnect = "odbc;",boolbUseCursorLib=true=);
atmak ( CDBException, CMemoryException );

Dönüş değeri

Bağlantı başarıyla yapıldıktan, sıfır olmayan; Aksi halde 0 kullanıcı seçerse, daha fazla bağlantı bilgilerini soran bir iletişim kutusu görüntülendiğinde iptal edin. Diğer tüm durumlarda, çerçeve bir istisna atar.

Parametreleri

lpszDSN

Veri kaynağı adı belirtir — bir isim kayıtlı odbc odbc Yöneticisi program. dsn değeri lpszConnect içinde belirtilen Eğer (formunda "dsn lt; = veri-kaynağı >"), onu yeniden lpszDSNbelirtilmemeli. Bu durumda, lpszDSN nullolmalıdır. Aksi takdirde, kullanıcı bir veri kaynağı seçmek bir veri kaynağı iletişim kutusu kullanıcıya sunmak istiyorsanız boş geçebilir. Daha fazla bilgi için açıklamalar bölümüne bakın.

bExclusive

Sınıf kitaplığı bu sürümünde desteklenmiyor. Bu parametre trueise şu anda bir onaylama işlemi başarısız olur. Veri kaynağını her zaman (özel değil) paylaşılan olarak açıldı.

bReadOnly

Salt okunur ve veri kaynağına güncelleştirmeyi önlemek için bağlantı düşünüyorsanız doğru . Tüm bağımlı kayıt kümesi bu özniteliği devralır. Varsayılan değer false olur.

lpszConnect

Bir bağlantı dizesini belirtir. Bağlantı dizesi, muhtemelen bir veri kaynağı adı, bir kullanıcı kimliği geçerli veri kaynağı, bir kullanıcı kimlik dizesi (veri kaynağı bir gerektiriyorsa, parola) ve diğer bilgileri gibi bilgileri birleştirir. Bütün bağlantı dizesi "odbc" dizesini öncelenmemesi gerekir (büyük veya küçük harf). "odbc" dizesini bağlantı bir odbc veri kaynağına; olduğunu belirtmek için kullanılır Bu yukarı doğru uyumluluk için ise sınıf kitaplığı gelecekteki sürümlerinde olmayan odbc veri kaynaklarını desteklemiyor olabilir.

bUseCursorLib

Yüklenecek odbc imleç kitaplığı dll istiyorsanız doğru . İmleç kitaplığı (sürücü bunları destekliyorsa) etkin kümelere kullanımını engelleyen temel odbc sürücüsü, bazı işlevleri maskeler. İmleç kitaplığı yüklü ise desteklenen tek imleçler statik anlık ve salt ileri imleçler vardır. Varsayılan değer trueolur. Eğer sen plan-e ondan ya olmadan doğrudan CRecordset bir recordset nesnesi oluşturmak, imleç kitaplığı yüklenmemelidir.

Açıklamalar

Yeni oluşturulmuş bir CDatabase nesnesi başlatılamıyor bu üye işlevini çağırın. Bir recordset nesnesi oluşturmak için kullanmadan önce veritabanı nesnesi başlatılmalıdır.

&Notnbsp;OpenEx üye işlevini çağırarak bir veri kaynağına bağlanmak ve veritabanı nesnesini başlatmak için tercih edilen yoludur.

Açık arama parametreleri bağlantıyı yapmak için yeterli bilgi içermiyorsa, odbc sürücüsü kullanıcıdan gerekli bilgileri almak için bir iletişim kutusu açar. Açıkaradığınızda, bağlantı dizesi, lpszConnect, özel CDatabase nesnesinde depolanır ve GetConnect üye işlevini çağırarak kullanılabilir.

İsterseniz önce bir parola gibi kullanıcı bilgilerini almak için Açık çağrı sonra bu bilgileri size geçmek için Açıkbağlantı dizesini ekleyin, kendi iletişim kutusunu açabilirsiniz. Veya böylece uygulamanızın bir CDatabase nesnesi üzerinde Açık çağrı sonraki yeniden geçmek bağlantı dizesini kaydetmek isteyebilirsiniz.

Birden çok düzeyde giriş yetkilendirme (her biri için farklı bir CDatabase nesnesi) için bağlantı dizesini kullanabilirsiniz veya diğer veri kaynağı özgü bilgileri iletmek için. Hakkında daha fazla bilgi için bağlantı dizeleri, bkz: Bölüm 5 odbc sdk Programcı Başvurusu.

Örneğin, dbms ana kullanılamıyorsa, bağlantı girişimi zaman aşımına mümkündür. Bağlantı girişimi başarısız olursa, Açık bir CDBException atar.

Örnek

/ / CDatabase bir nesneyi katıştırma
/ / Belge sınıfı
CDatabase m_dbCust;

/ / &Nesneye bağlanmak bir
/ / veri kaynağı (şifre yok)
/ / odbc bağlantısı iletişim kutusu
/ / her zaman gizli kalır
m_dbCust.Open (_t ("mydatasource"), yanlış,
 nbsp;             YANLIŞ _T ("ODBC;UID = JOES "),

// ...Ya da sorgu için tüm kullanıcı
/ / bağlantı bilgileri
m_dbCust.Open (null)

CDatabase ge&nel bakış |nbsp; Sınıf üyeleri | Hiyerarşi çizelgesi

Ayrıca bkz: CDatabase::OpenEx, CDatabase::CDatabase, CDatabase::Close, CDBException, CRecordset::Open

Index