Aracılığıyla paylaş


CDaoQueryDef Sınıf

Genellikle veritabanına kaydedilmiş bir sorgu tanımını veya "sorgu tanımını" temsil eder.

Not

Veri Erişim Nesnesi (DAO), Office 2013 aracılığıyla desteklenir. DAO 3.6 son sürümdür ve kullanımdan kaldırılmış durumdadır.

Sözdizimi

class CDaoQueryDef : public CObject

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CDaoQueryDef::CDaoQueryDef Bir CDaoQueryDef nesne oluşturur. Gereksinimlerinize bağlı olarak sonraki arama Open veya Create.

Genel Yöntemler

Veri Akışı Adı Açıklama
CDaoQueryDef::Append Querydef değerini veritabanının QueryDefs koleksiyonuna kaydedilmiş sorgu olarak ekler.
CDaoQueryDef::CanUpdate Sorgu veritabanını güncelleştirebiliyorsa sıfır olmayan değerini döndürür.
CDaoQueryDef::Close Querydef nesnesini kapatır. bitirdiğinizde C++ nesnesini yok edin.
CDaoQueryDef::Create Temel alınan DAO sorgu tanımı nesnesini oluşturur. Querydef öğesini geçici bir sorgu olarak kullanın veya veritabanına kaydetmek için çağrısı Append yapın.
CDaoQueryDef::Execute querydef nesnesi tarafından tanımlanan sorguyu yürütür.
CDaoQueryDef::GetConnect Sorgu tanımıyla ilişkili bağlantı dizesi döndürür. bağlantı dizesi veri kaynağını tanımlar. (Yalnızca SQL doğrudan sorguları için; aksi takdirde boş bir dize.)
CDaoQueryDef::GetDateCreated Kaydedilen sorgunun oluşturulduğu tarihi döndürür.
CDaoQueryDef::GetDateLastUpdated Kaydedilen sorgunun son güncelleştirildiği tarihi döndürür.
CDaoQueryDef::GetFieldCount Sorgu tanımı tarafından tanımlanan alan sayısını döndürür.
CDaoQueryDef::GetFieldInfo Sorguda tanımlanan belirtilen alan hakkındaki bilgileri döndürür.
CDaoQueryDef::GetName Sorgu tanımı adını döndürür.
CDaoQueryDef::GetODBCTimeout Sorgu tanımı yürütülürken ODBC tarafından kullanılan zaman aşımı değerini döndürür ve sorgu eyleminin tamamlanmasına ne kadar süre izin verileceğini belirler.
CDaoQueryDef::GetParameterCount Sorgu için tanımlanan parametre sayısını döndürür.
CDaoQueryDef::GetParameterInfo Sorguya belirtilen parametre hakkında bilgi döndürür.
CDaoQueryDef::GetParamValue Belirtilen parametrenin değerini sorguya döndürür.
CDaoQueryDef::GetRecordsAffected Eylem sorgusundan etkilenen kayıt sayısını döndürür.
CDaoQueryDef::GetReturnsRecords Sorgu tanımı tarafından tanımlanan sorgu kayıtları döndürüyorsa sıfır olmayan değerini döndürür.
CDaoQueryDef::GetSQL Sorgu tanımı tarafından tanımlanan sorguyu belirten SQL dizesini döndürür.
CDaoQueryDef::GetType Sorgu türünü döndürür: silme, güncelleştirme, ekleme, tablo yapma vb.
CDaoQueryDef::IsOpen Sorgu tanımı açıksa ve yürütülebiliyorsa sıfır olmayan değerini döndürür.
CDaoQueryDef::Open Veritabanının QueryDefs koleksiyonunda depolanan mevcut bir sorgu tanımı açar.
CDaoQueryDef::SetConnect ODBC veri kaynağındaki sql geçiş sorgusu için bağlantı dizesi ayarlar.
CDaoQueryDef::SetName Kaydedilen sorgunun adını ayarlar ve sorgu tanımı oluşturulduğunda kullanılan adın yerini alır.
CDaoQueryDef::SetODBCTimeout Sorgu tanımı yürütülürken ODBC tarafından kullanılan zaman aşımı değerini (ODBC sorgusu için) ayarlar.
CDaoQueryDef::SetParamValue Belirtilen parametrenin değerini sorguya ayarlar.
CDaoQueryDef::SetReturnsRecords Sorgu tanımında kayıtların döndürülip döndürülmeyeceğini belirtir. Bu özniteliği TRUE olarak ayarlamak yalnızca SQL doğrudan sorgular için geçerlidir.
CDaoQueryDef::SetSQL Sorgu tanımı tarafından tanımlanan sorguyu belirten SQL dizesini ayarlar.

Ortak Veri Üyeleri

Veri Akışı Adı Açıklama
CDaoQueryDef::m_pDAOQueryDef Temel alınan DAO sorgu tanımı nesnesi için OLE arabirimine yönelik bir işaretçi.
CDaoQueryDef::m_pDatabase Sorgu tanımıyla ilişkilendirilen nesnenin işaretçisi CDaoDatabase . Sorgu tanımı veritabanına kaydedilebilir veya kaydedilmeyebilir.

Açıklamalar

Sorgu tanımı, sorguyu açıklayan SQL deyimini ve "Oluşturulma Tarihi" ve "ODBC Zaman Aşımı" gibi özelliklerini içeren bir veri erişim nesnesidir. Ayrıca, kaydetmeden geçici sorgu tanımı nesneleri oluşturabilirsiniz, ancak veritabanında yaygın olarak yeniden kullanılan sorguları kaydetmek kullanışlı ve çok daha verimlidir. CDaoDatabase nesnesi, kaydedilen sorgu tanımlarını içeren QueryDefs koleksiyonu adlı bir koleksiyon tutar.

Not

DAO veritabanı sınıfları, Açık Veritabanı Bağlantısı (ODBC) temelinde Microsoft Foundation Sınıfı (MFC) veritabanı sınıflarından farklıdır. Tüm DAO veritabanı sınıf adları "CDao" ön ekini alır. DAO sınıflarıyla ODBC veri kaynaklarına erişmeye devam edebilirsiniz. Genel olarak, DAO tabanlı MFC sınıfları ODBC tabanlı MFC sınıflarından daha yeteneklidir; DAO tabanlı sınıflar, ODBC sürücüleri de dahil olmak üzere verilere kendi veritabanı altyapısı üzerinden erişebilir. DAO tabanlı sınıflar, DAO'yu doğrudan çağırmak zorunda kalmadan sınıflar aracılığıyla tablo ekleme gibi Veri Tanım Dili (DDL) işlemlerini de destekler.

Kullanım

Mevcut kaydedilmiş sorguyla çalışmak veya yeni bir kaydedilmiş sorgu veya geçici sorgu oluşturmak için querydef nesnelerini kullanın:

  1. Her durumda, önce sorgunun ait olduğu CDaoDatabase nesnesine bir işaretçi sağlayarak bir CDaoQueryDef nesne oluşturur.

  2. Ardından, ne istediğinize bağlı olarak aşağıdakileri yapın:

    • Var olan bir kaydedilmiş sorguyu kullanmak için querydef nesnesinin Open member işlevini çağırarak kaydedilen sorgunun adını sağlayın.

    • Yeni bir kaydedilmiş sorgu oluşturmak için sorgunun adını sağlayarak querydef nesnesinin Üye oluştur işlevini çağırın. Ardından, veritabanının QueryDefs koleksiyonuna ekleyerek sorguyu kaydetmek için Ekle'yi çağırın. Create querydef'i açık duruma getirir, bu nedenle çağrısı Create yaptıktan sonra öğesini çağırmazsınız Open.

    • Geçici bir sorgu tanımı oluşturmak için çağrısında bulunur Create. Sorgu adı için boş bir dize geçirin. arama.Append

Sorgu tanımı nesnesini kullanmayı bitirdiğinizde, nesnenin Close member işlevini çağırın; ardından querydef nesnesini yok edin.

İpucu

Kaydedilmiş sorgular oluşturmanın en kolay yolu, bunları oluşturmak ve Microsoft Access kullanarak veritabanınızda depolamaktır. Ardından bunları MFC kodunuzda açabilir ve kullanabilirsiniz.

Amaçlar

Aşağıdaki amaçlardan herhangi biri için bir querydef nesnesi kullanabilirsiniz:

  • Nesne oluşturmak CDaoRecordset için

  • Nesnenin Execute üye işlevini çağırarak doğrudan bir eylem sorgusu veya SQL geçiş sorgusu yürütmek için

Select, action, crosstab, delete, update, append, make-table, data definition, SQL pass-through, union ve bulk queries gibi her tür sorgu için querydef nesnesi kullanabilirsiniz. Sağladığınız SQL deyiminin içeriği sorgunun türünü belirler. Sorgu türleri hakkında bilgi için bkz Execute . ve GetType üye işlevleri. Kayıt kümeleri genellikle satır döndüren sorgular için kullanılır; genellikle SELECT kullanan sorgular ... FROM anahtar sözcükleri. Execute toplu işlemler için en yaygın olarak kullanılır. Daha fazla bilgi için bkz. Execute ve CDaoRecordset.

Sorgu Tanımları ve Kayıt Kümeleri

Bir nesne oluşturmak CDaoRecordset için bir querydef nesnesi kullanmak için genellikle daha önce açıklandığı gibi bir sorgu tanımı oluşturur veya açarsınız. Ardından, çağırdığınızda CDaoRecordset::Opensorgu tanımı nesnenize bir işaretçi geçirerek bir kayıt kümesi nesnesi oluşturma. Geçirdiğiniz sorgu tanımı açık durumda olmalıdır. Daha fazla bilgi için bkz. sınıfı CDaoRecordset.

Açık durumda olmadığı sürece bir kayıt kümesi (sorgu tanımı için en yaygın kullanım) oluşturmak için sorgu tanımı kullanamazsınız. veya Createöğesini çağırarak Open sorgu tanımı açık duruma yerleştirin.

Dış Veritabanları

Querydef nesneleri, dış veritabanı altyapısının yerel SQL diyalektini kullanmanın tercih edilen yoludur. Örneğin, bir Transact SQL sorgusu (Microsoft SQL Server'da kullanıldığı gibi) oluşturabilir ve bunu bir querydef nesnesinde depolayabilirsiniz. Microsoft Jet veritabanı altyapısını temel almayan bir SQL sorgusu kullanmanız gerektiğinde, dış veri kaynağına işaret eden bir bağlantı dizesi sağlamanız gerekir. Geçerli bağlantı dizesi olan sorgular veritabanı altyapısını atlar ve sorguyu doğrudan işlenmek üzere dış veritabanı sunucusuna geçirir.

İpucu

ODBC tablolarıyla çalışmanın tercih edilen yolu, bunları bir Microsoft Jet'e ( eklemektir. MDB) veritabanı.

İlgili bilgiler için DAO SDK'sında "QueryDef Nesnesi", "QueryDefs Koleksiyonu" ve "CdbDatabase Nesnesi" konularına bakın.

Devralma Hiyerarşisi

CObject

CDaoQueryDef

Gereksinimler

Üstbilgi: afxdao.h

CDaoQueryDef::Append

Yeni bir sorgu tanımı nesnesi oluşturmak için Create çağrısı yaptıktan sonra bu üye işlevini çağırabilirsiniz.

virtual void Append();

Açıklamalar

Append nesnesini veritabanının QueryDefs koleksiyonuna ekleyerek querydef'i veritabanına kaydeder. Querydef'i eklemeden geçici bir nesne olarak kullanabilirsiniz, ancak kalıcı olmasını istiyorsanız çağrısı Appendyapmalısınız.

Geçici bir sorgu tanımı nesnesi eklemeyi denerseniz, MFC CDaoException türünde bir özel durum oluşturur.

CDaoQueryDef::CanUpdate

Sorgu tanımında değişiklik yapıp yapamayacağınızı (örneğin adını veya SQL dizesini değiştirebileceğinizi) belirlemek için bu üye işlevini çağırın.

BOOL CanUpdate();

Dönüş Değeri

Sorgu tanımında değişiklik yapabilirseniz sıfır olmayan; aksi takdirde 0.

Açıklamalar

Şu durumda querydef değerini değiştirebilirsiniz:

  • Salt okunur açık bir veritabanını temel almaz.

  • Veritabanı için güncelleştirme izinleriniz var.

    Bu, güvenlik özelliklerini uygulayıp uygulamadığınıza bağlıdır. MFC güvenlik desteği sağlamaz; DAO'yu doğrudan arayarak veya Microsoft Access'i kullanarak uygulamayı kendiniz gerçekleştirmeniz gerekir. DAO Yardımı'nda "İzinler Özelliği" konusuna bakın.

CDaoQueryDef::CDaoQueryDef

Bir CDaoQueryDef nesne oluşturur.

CDaoQueryDef(CDaoDatabase* pDatabase);

Parametreler

pDatabase
Açık bir CDaoDatabase nesnesinin işaretçisi.

Açıklamalar

nesnesi, veritabanının QueryDefs koleksiyonunda depolanan mevcut bir sorgu tanımı, koleksiyonda depolanacak yeni bir sorgu veya depolanmayacak geçici bir sorguyu temsil edebilir. Sonraki adımınız sorgu tanımı türüne bağlıdır:

  • Nesne mevcut bir sorgu tanımı temsil ediyorsa, başlatmak için nesnenin Üyeyi aç işlevini çağırın.

  • Nesne kaydedilecek yeni bir sorgu tanımı temsil ederse, nesnenin Create member işlevini çağırın. Bu, nesnesini veritabanının QueryDefs koleksiyonuna ekler. Ardından nesnenin özniteliklerini ayarlamak için üye işlevlerini çağırın CDaoQueryDef . Son olarak, Ekle'yi çağır.

  • Nesne geçici bir sorgu tanımı temsil ediyorsa (veritabanına kaydedilmeyecekse), çağrısı Createyapın ve sorgunun adı için boş bir dize geçirin. çağrısı Createyaptıktan sonra, özniteliklerini doğrudan ayarlayarak querydef'i başlatın. arama.Append

Querydef özniteliklerini ayarlamak için SetName, SetSQL, SetConnect, SetODBCTimeout ve SetReturnsRecords üye işlevlerini kullanabilirsiniz.

Querydef nesnesini bitirdiğinizde, nesnenin Close member işlevini çağırın. Querydef işaretçiniz varsa, C++ nesnesini yok etmek için işlecini kullanın delete .

CDaoQueryDef::Close

querydef nesnesini kullanmayı bitirdiğinizde bu üye işlevini çağırın.

virtual void Close();

Açıklamalar

Sorgu tanımı kapatılıyorsa, temel alınan DAO nesnesi serbest bırakılıyor, ancak kaydedilen DAO sorgu tanımı nesnesini veya C++ CDaoQueryDef nesnesini yok etmiyor. Bu, veritabanının DAO'daki QueryDefs koleksiyonundan sorgu tanımı silen CDaoDatabase::D eleteQueryDef ile aynı değildir (geçici bir sorgu tanımı değilse).

CDaoQueryDef::Create

Yeni bir kaydedilmiş sorgu veya yeni bir geçici sorgu oluşturmak için bu üye işlevini çağır.

virtual void Create(
    LPCTSTR lpszName = NULL,
    LPCTSTR lpszSQL = NULL);

Parametreler

lpszName
Veritabanında kaydedilen sorgunun benzersiz adı. Dize hakkında ayrıntılı bilgi için DAO Yardımı'ndaki "CreateQueryDef Yöntemi" konusuna bakın. Varsayılan değeri kabul ederseniz boş bir dize, geçici bir sorgu tanımı oluşturulur. Böyle bir sorgu QueryDefs koleksiyonuna kaydedilmez.

lpszSQL
Sorguyu tanımlayan SQL dizesi. Varsayılan NULL değerini kabul ederseniz, dizeyi ayarlamak için daha sonra SetSQL'i çağırmanız gerekir. O zamana kadar sorgu tanımlanmamıştır. Ancak, tanımlanmamış sorguyu kullanarak bir kayıt kümesi açabilirsiniz; Ayrıntılar için bkz. Açıklamalar. QueryDefs koleksiyonuna querydef ekleyebilmeniz için önce SQL deyimi tanımlanmalıdır.

Açıklamalar

lpszName içinde bir ad geçirirseniz, veritabanının QueryDefs koleksiyonuna querydef'i kaydetmek için Ekle'yi çağırabilirsiniz. Aksi takdirde, nesne geçici bir sorgu tanımıdır ve kaydedilmez. Her iki durumda da sorgu tanımı açık durumdadır ve bunu kullanarak bir CDaoRecordset nesnesi oluşturabilir veya querydef'in Execute member işlevini çağırabilirsiniz.

lpszSQL'de bir SQL deyimi sağlamazsanız, sorguyu ile Execute çalıştıramazsınız, ancak bunu kullanarak kayıt kümesi oluşturabilirsiniz. Bu durumda MFC, kayıt kümesinin varsayılan SQL deyimini kullanır.

CDaoQueryDef::Execute

Querydef nesnesi tarafından tanımlanan sorguyu çalıştırmak için bu üye işlevini çağırın.

virtual void Execute(int nOptions = dbFailOnError);

Parametreler

nSeçenekler
Sorgunun özelliklerini belirleyen bir tamsayı. İlgili bilgiler için DAO Yardımı'ndaki "Yöntemi Yürütme" konusuna bakın. Bu bağımsız değişken için aşağıdaki sabitleri birleştirmek için bit düzeyinde OR işlecini (|) kullanabilirsiniz:

  • dbDenyWrite Diğer kullanıcılara yazma iznini reddedin.

  • dbInconsistent Tutarsız güncelleştirmeler.

  • dbConsistent Tutarlı güncelleştirmeler.

  • dbSQLPassThrough SQL geçişi. SQL deyiminin işlenmek üzere bir ODBC veritabanına geçirilmesine neden olur.

  • dbFailOnError Varsayılan değer. Hata oluşursa güncelleştirmeleri geri alma ve hatayı kullanıcıya bildirme.

  • dbSeeChanges Başka bir kullanıcı düzenlediğiniz verileri değiştiriyorsa bir çalışma zamanı hatası oluşturun.

Not

"Tutarsız" ve "tutarlı" terimlerinin açıklaması için DAO Yardımı'ndaki "Yöntemi Yürütme" konusuna bakın.

Açıklamalar

Bu şekilde yürütme için kullanılan sorgu tanımı nesneleri aşağıdaki sorgu türlerinden yalnızca birini temsil edebilir:

  • Eylem sorguları

  • SQL doğrudan sorguları

Execute seçme sorguları gibi kayıtları döndüren sorgular için çalışmaz. Executegenellikle UPDATE, INSERT veya SELECT INTO gibi toplu işlem sorguları ya da veri tanımı dili (DDL) işlemleri için kullanılır.

İpucu

ODBC veri kaynaklarıyla çalışmanın tercih edilen yolu, tabloları bir Microsoft Jet'e ( eklemektir. MDB) veritabanı. Daha fazla bilgi için DAO Yardımı'nda "DAO ile Dış Veritabanlarına Erişme" konusuna bakın.

En son Execute çağrıdan etkilenen kayıt sayısını belirlemek için querydef nesnesinin GetRecordsAffected member işlevini çağırın. Örneğin, GetRecordsAffected bir eylem sorgusu yürütülürken silinen, güncelleştirilen veya eklenen kayıt sayısı hakkında bilgi döndürür. Döndürülen sayı, art arda güncelleştirmeler veya silmeler etkin olduğunda ilgili tablolardaki değişiklikleri yansıtmaz.

Hem hem dbConsistent de dbInconsistent dahil ederseniz veya ikisini de eklerseniz, sonuç varsayılan değerdir. dbInconsistent

Execute kayıt kümesi döndürmez. Kayıtları Execute seçen bir sorguda kullanılması MFC'nin CDaoException türünde bir özel durum oluşturmasına neden olur.

CDaoQueryDef::GetConnect

Querydef'in veri kaynağıyla ilişkili bağlantı dizesi almak için bu üye işlevini çağırın.

CString GetConnect();

Dönüş Değeri

CString Sorgu tanımı için bağlantı dizesi içeren.

Açıklamalar

Bu işlev yalnızca ODBC veri kaynakları ve belirli ISAM sürücüleriyle kullanılır. Microsoft Jet (.MDB) veritabanlarında kullanılmaz; bu durumda boş GetConnect bir dize döndürür. Daha fazla bilgi için bkz. SetConnect.

İpucu

ODBC tablolarıyla çalışmanın tercih edilen yolu, bunları bir öğesine eklemektir. MDB veritabanı. Daha fazla bilgi için DAO Yardımı'nda "DAO ile Dış Veritabanlarına Erişme" konusuna bakın.

bağlantı dizesi hakkında bilgi için DAO Yardımı'ndaki "Özelliği Bağlama" konusuna bakın.

CDaoQueryDef::GetDateCreated

Sorgu tanımı nesnesinin oluşturulduğu tarihi almak için bu üye işlevini çağırın.

COleDateTime GetDateCreated();

Dönüş Değeri

Sorgu tanımı oluşturulduğu tarih ve saati içeren bir COleDateTime nesnesi.

Açıklamalar

İlgili bilgiler için DAO Yardımı'ndaki "DateCreated, LastUpdated Properties" konusuna bakın.

CDaoQueryDef::GetDateLastUpdated

Querydef nesnesinin en son güncelleştirildiği tarihi (adı, SQL dizesi veya bağlantı dizesi gibi herhangi bir özelliği değiştirildiğinde) almak için bu üye işlevini çağırın.

COleDateTime GetDateLastUpdated();

Dönüş Değeri

COleDateTime Sorgu tanımı en son güncelleştirilen tarih ve saati içeren bir nesne.

Açıklamalar

İlgili bilgiler için DAO Yardımı'ndaki "DateCreated, LastUpdated Properties" konusuna bakın.

CDaoQueryDef::GetFieldCount

Sorgudaki alan sayısını almak için bu üye işlevini çağırın.

short GetFieldCount();

Dönüş Değeri

Sorguda tanımlanan alan sayısı.

Açıklamalar

GetFieldCount sorgu tanımındaki tüm alanlarda döngü için kullanışlıdır. Bu amaçla ile kullanın GetFieldCount GetFieldInfo.

CDaoQueryDef::GetFieldInfo

Sorgu tanımında tanımlanan bir alan hakkında çeşitli türde bilgiler almak için bu üye işlevini çağırın.

void GetFieldInfo(
    int nIndex,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetFieldInfo(
    LPCTSTR lpszName,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parametreler

nIndex
Sorgu tanımındaki Alanlar koleksiyonunda dizine göre arama için istenen alanın sıfır tabanlı dizini.

fieldinfo
İstenen bilgileri döndüren bir CDaoFieldInfo nesneye başvuru.

dwInfoOptions
Alanla ilgili hangi bilgilerin alınacağını belirten seçenekler. Kullanılabilir seçenekler, işlevin döndürmesine neden olduklarıyla birlikte burada listelenir:

  • AFX_DAO_PRIMARY_INFO (Varsayılan) Ad, Tür, Boyut, Öznitelikler

  • AFX_DAO_SECONDARY_INFO Birincil bilgiler artı: Sıralı Konum, Gerekli, Sıfır Uzunluğa İzin Ver, Kaynak Alan, Yabancı Ad, Kaynak Tablo, Harmanlama Sırası

  • AFX_DAO_ALL_INFO Birincil ve ikincil bilgiler artı: Varsayılan Değer, Doğrulama Metni, Geçerlilik Kuralı

lpszName
Ada göre arama için istenen alanın adını içeren bir dize. kullanabilirsiniz CString.

Açıklamalar

fieldinfo'da döndürülen bilgilerin açıklaması için CDaoFieldInfo yapısına bakın. Bu yapı, yukarıdaki dwInfoOptions altındaki açıklayıcı bilgilere karşılık gelen üyelere sahiptir. Bir bilgi düzeyi isterseniz, önceki bilgi düzeylerini de alırsınız.

CDaoQueryDef::GetName

Sorgu tanımı tarafından temsil edilen sorgunun adını almak için bu üye işlevini çağırın.

CString GetName();

Dönüş Değeri

Sorgunun adı.

Açıklamalar

Sorgu tanımı adları benzersiz kullanıcı tanımlı adlardır. Sorgu tanımı adları hakkında daha fazla bilgi için DAO Yardımı'ndaki "Ad Özelliği" konusuna bakın.

CDaoQueryDef::GetODBCTimeout

ODBC veri kaynağına yapılan sorgu zaman aşımına uğramadan önce geçerli zaman sınırını almak için bu üye işlevini çağırın.

short GetODBCTimeout();

Dönüş Değeri

Sorgu zaman aşımına uğramadan önceki saniye sayısı.

Açıklamalar

Bu zaman sınırı hakkında bilgi için DAO Yardımı'ndaki "ODBCTimeout Özelliği" konusuna bakın.

İpucu

ODBC tablolarıyla çalışmanın tercih edilen yolu, bunları bir Microsoft Jet'e ( eklemektir. MDB) veritabanı. Daha fazla bilgi için DAO Yardımı'nda "DAO ile Dış Veritabanlarına Erişme" konusuna bakın.

CDaoQueryDef::GetParameterCount

Kaydedilen sorgudaki parametre sayısını almak için bu üye işlevini çağırın.

short GetParameterCount();

Dönüş Değeri

Sorguda tanımlanan parametre sayısı.

Açıklamalar

GetParameterCount sorgu tanımındaki tüm parametreler arasında döngü için kullanışlıdır. Bu amaçla ile kullanın GetParameterCount GetParameterInfo.

İlgili bilgiler için DAO Yardımı'ndaki "Parametre Nesnesi", "Parametre Koleksiyonu" ve "PARAMETERS Bildirimi (SQL)" konularına bakın.

CDaoQueryDef::GetParameterInfo

Sorgu tanımında tanımlanan bir parametre hakkında bilgi almak için bu üye işlevini çağırın.

void GetParameterInfo(
    int nIndex,
    CDaoParameterInfo& paraminfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetParameterInfo(
    LPCTSTR lpszName,
    CDaoParameterInfo& paraminfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parametreler

nIndex
Dizine göre arama için querydef'in Parameters koleksiyonunda istenen parametrenin sıfır tabanlı dizini.

paraminfo
İstenen bilgileri döndüren bir CDaoParameterInfo nesnesine başvuru.

dwInfoOptions
Parametre hakkında hangi bilgilerin alınacağını belirten seçenekler. Kullanılabilir seçenek, işlevin döndüreceği nedenlerle birlikte burada listelenmiştir:

  • AFX_DAO_PRIMARY_INFO (Varsayılan) Ad, Tür

lpszName
Ada göre arama için istenen parametrenin adını içeren bir dize. kullanabilirsiniz CString.

Açıklamalar

içinde paraminfodöndürülen bilgilerin açıklaması için yapısına CDaoParameterInfo bakın. Bu yapı, yukarıdaki açıklayıcı bilgilere dwInfoOptions karşılık gelen üyelere sahiptir.

İlgili bilgiler için DAO Yardımı'ndaki "PARAMETERS Bildirimi (SQL)" konusuna bakın.

CDaoQueryDef::GetParamValue

Querydef'in Parameters koleksiyonunda depolanan belirtilen parametrenin geçerli değerini almak için bu üye işlevini çağırın.

virtual COleVariant GetParamValue(LPCTSTR lpszName);
virtual COleVariant GetParamValue(int nIndex);

Parametreler

lpszName
Ada göre arama için değerini istediğiniz parametrenin adı.

nIndex
Dizine göre arama için querydef'in Parameters koleksiyonundaki parametresinin sıfır tabanlı dizini. GetParameterCount ve GetParameterInfo çağrılarıyla bu değeri alabilirsiniz.

Dönüş Değeri

Parametrenin değerini içeren COleVariant sınıfının nesnesi.

Açıklamalar

Parametreye ada veya koleksiyondaki sıralı konumuna göre erişebilirsiniz.

İlgili bilgiler için DAO Yardımı'ndaki "PARAMETERS Bildirimi (SQL)" konusuna bakın.

CDaoQueryDef::GetRecordsAffected

Son Execute çağrısından kaç kaydın etkilendiğini belirlemek için bu üye işlevini çağırın.

long GetRecordsAffected();

Dönüş Değeri

Etkilenen kayıt sayısı.

Açıklamalar

Döndürülen sayı, art arda güncelleştirmeler veya silmeler etkin olduğunda ilgili tablolardaki değişiklikleri yansıtmaz.

İlgili bilgiler için DAO Yardımı'ndaki "RecordsAffected Property" konusuna bakın.

CDaoQueryDef::GetReturnsRecords

Sorgu tanımında kayıtları döndüren bir sorgunun temel alınıp alınmadığını belirlemek için bu üye işlevini çağırın.

BOOL GetReturnsRecords();

Dönüş Değeri

Sorgu tanımı kayıtları döndüren bir sorguyu temel alıyorsa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu üye işlevi yalnızca SQL doğrudan sorguları için kullanılır. SQL sorguları hakkında daha fazla bilgi için bkz . Execute member işlevi. SQL doğrudan sorgularıyla çalışma hakkında daha fazla bilgi için bkz . SetReturnsRecords üye işlevi.

İlgili bilgiler için DAO Yardımı'ndaki "ReturnsRecords Özelliği" konusuna bakın.

CDaoQueryDef::GetSQL

Sorgu tanımının temel aldığı sorguyu tanımlayan SQL deyimini almak için bu üye işlevini çağırın.

CString GetSQL();

Dönüş Değeri

Sorgu tanımının temel aldığı sorguyu tanımlayan SQL deyimi.

Açıklamalar

Dizeyi anahtar sözcükler, tablo adları vb. için ayrıştırabilirsiniz.

İlgili bilgiler için DAO Yardımı'ndaki "SQL Özelliği", "Microsoft Jet Veritabanı Altyapısı SQL ve ANSI SQL Karşılaştırması" ve "Kodda SQL ile Veritabanı Sorgulama" konularına bakın.

CDaoQueryDef::GetType

Sorgu tanımı sorgu türünü belirlemek için bu üye işlevini çağırın.

short GetType();

Dönüş Değeri

Sorgu tanımı tarafından tanımlanan sorgunun türü. Değerler için bkz. Açıklamalar.

Açıklamalar

Sorgu türü, sorgu tanımı oluşturduğunuzda veya mevcut bir sorgu tanımında SetSQL üye işlevini çağırdığınızda querydef'in SQL dizesinde belirttiğiniz değere göre ayarlanır. Bu işlev tarafından döndürülen sorgu türü aşağıdaki değerlerden biri olabilir:

  • dbQSelect Seçmek

  • dbQAction Eylem

  • dbQCrosstab Çapraz

  • dbQDelete Silmek

  • dbQUpdate Güncelleştirmek

  • dbQAppend Ekleme

  • dbQMakeTable Tablo yapma

  • dbQDDL Veri tanımı

  • dbQSQLPassThrough Geçiş

  • dbQSetOperation Sendika

  • dbQSPTBulk ile, dbQSQLPassThrough kayıtları döndürmeyen bir sorgu belirtmek için kullanılır.

Not

SQL geçiş sorgusu oluşturmak için sabitini ayarlamayın dbSQLPassThrough . Bu, bir sorgu tanımı nesnesi oluşturduğunuzda ve bağlantı dizesi ayarladığınızda Microsoft Jet veritabanı altyapısı tarafından otomatik olarak ayarlanır.

SQL dizeleri hakkında bilgi için bkz . GetSQL. Sorgu türleri hakkında bilgi için bkz . Yürütme.

CDaoQueryDef::IsOpen

Nesnenin CDaoQueryDef şu anda açık olup olmadığını belirlemek için bu üye işlevini çağırın.

BOOL IsOpen() const;

Dönüş Değeri

Nesne şu anda açıksa CDaoQueryDef sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bir sorgu tanımı, nesneyi çağırmak Execute veya oluşturmak CDaoRecordset için kullanmadan önce açık durumda olmalıdır. Bir sorgu tanımı açık duruma getirmek için (yeni bir sorgu tanımı için) veya Open (mevcut bir sorgu tanımı için) öğesini çağırin Create .

CDaoQueryDef::m_pDatabase

Querydef nesnesiyle ilişkilendirilmiş CDaoDatabase nesnesine bir işaretçi içerir.

Açıklamalar

Veritabanına doğrudan erişmeniz gerekiyorsa bu işaretçiyi kullanın. Örneğin, veritabanının koleksiyonlarındaki diğer sorgu tanımı veya kayıt kümesi nesnelerinin işaretçilerini almak için.

CDaoQueryDef::m_pDAOQueryDef

Temel alınan DAO sorgu tanımı nesnesi için OLE arabirimine yönelik bir işaretçi içerir.

Açıklamalar

Bu işaretçi, diğer sınıflarla tamlık ve tutarlılık için sağlanır. Ancak MFC, DAO sorgu tanımlarını tamamen kapsüllediğinden buna ihtiyacınız olma olasılığı düşüktür. Bunu kullanıyorsanız, bunu dikkatli bir şekilde yapın. Özellikle, ne yaptığınızı bilmiyorsanız işaretçinin değerini değiştirmeyin.

CDaoQueryDef::Open

Veritabanının QueryDefs koleksiyonuna daha önce kaydedilmiş bir sorgu tanımı açmak için bu üye işlevini çağırın.

virtual void Open(LPCTSTR lpszName = NULL);

Parametreler

lpszName
Açılacak kaydedilen sorgu tanımı adını içeren bir dize. kullanabilirsiniz CString.

Açıklamalar

Sorgu tanımı açıldıktan sonra üye işlevini çağırabilir Execute veya nesne oluşturmak CDaoRecordset için querydef'i kullanabilirsiniz.

CDaoQueryDef::SetConnect

Sorgu tanımı nesnesinin bağlantı dizesi ayarlamak için bu üye işlevini çağırın.

void SetConnect(LPCTSTR lpszConnect);

Parametreler

lpszConnect
İlişkili CDaoDatabase nesnesi için bir bağlantı dizesi içeren dize.

Açıklamalar

bağlantı dizesi, ODBC'ye ve belirli ISAM sürücülerine gerektiğinde ek bilgi geçirmek için kullanılır. Microsoft Jet (.MDB) veritabanları için kullanılmaz.

İpucu

ODBC tablolarıyla çalışmanın tercih edilen yolu, bunları bir öğesine eklemektir. MDB veritabanı.

ODBC veri kaynağına sql geçiş sorgusunu temsil eden bir sorgu tanımı yürütmeden önce ile bağlantı dizesi SetConnect ayarlayın ve sorgunun kayıtları döndürip döndürmediğini belirtmek için SetReturnsRecords öğesini çağırın.

bağlantı dizesi yapısı ve bağlantı dizesi bileşenlerine örnekler hakkında daha fazla bilgi için DAO Yardımı'ndaki "Özelliği Bağlama" konusuna bakın.

CDaoQueryDef::SetName

Geçici olmayan bir sorgu tanımı adını değiştirmek istiyorsanız bu üye işlevini çağırın.

void SetName(LPCTSTR lpszName);

Parametreler

lpszName
İlişkili CDaoDatabase nesnesindeki örnek olmayan bir sorgunun yeni adını içeren dize.

Açıklamalar

Sorgu tanımı adları benzersiz, kullanıcı tanımlı adlardır. QueryDefs koleksiyonuna querydef nesnesi eklenmeden önce çağırabilirsiniz SetName .

CDaoQueryDef::SetODBCTimeout

BIR ODBC veri kaynağına yapılan sorgu zaman aşımına uğramadan önce zaman sınırını ayarlamak için bu üye işlevini çağırın.

void SetODBCTimeout(short nODBCTimeout);

Parametreler

nODBCTimeout
Sorgu zaman aşımına uğramadan önceki saniye sayısı.

Açıklamalar

Bu üye işlevi, bağlı "zaman aşımı" veri kaynağında sonraki işlemlerden önce varsayılan saniye sayısını geçersiz kılmanızı sağlar. Ağ erişim sorunları, aşırı sorgu işleme süresi vb. nedeniyle bir işlem zaman aşımına uğradı. Sorgu zaman aşımı değerini değiştirmek istiyorsanız, sorguyu bu sorgu tanımıyla yürütmeden önce çağırın SetODBCTimeout . (ODBC bağlantıları yeniden kullandıkça, zaman aşımı değeri aynı bağlantıdaki tüm istemciler için aynıdır.)

Sorgu zaman aşımları için varsayılan değer 60 saniyedir.

CDaoQueryDef::SetParamValue

Çalışma zamanında sorgu tanımında bir parametrenin değerini ayarlamak için bu üye işlevini çağırın.

virtual void SetParamValue(
    LPCTSTR lpszName,
    const COleVariant& varValue);

virtual void SetParamValue(
    int nIndex,
    const COleVariant& varValue);

Parametreler

lpszName
Değerini ayarlamak istediğiniz parametrenin adı.

varValue
Ayarlanacağı değer; bkz. Açıklamalar.

nIndex
Querydef'in Parameters koleksiyonundaki parametresinin sıralı konumu. GetParameterCount ve GetParameterInfo çağrılarıyla bu değeri alabilirsiniz.

Açıklamalar

parametresi, querydef'in SQL dizesinin bir parçası olarak önceden oluşturulmuş olmalıdır. Parametreye ada veya koleksiyondaki sıralı konumuna göre erişebilirsiniz.

Nesne olarak COleVariant ayarlanacağı değeri belirtin. nesnenizde COleVariant istenen değeri ve türü ayarlama hakkında bilgi için bkz. COleVariant sınıfı.

CDaoQueryDef::SetReturnsRecords

Dış veritabanına SQL doğrudan sorgu ayarlama işleminin bir parçası olarak bu üye işlevini çağırın.

void SetReturnsRecords(BOOL bReturnsRecords);

Parametreler

bReturnsRecords
Dış veritabanındaki sorgu kayıtları döndürüyorsa TRUE'yu geçirin; aksi takdirde YANLIŞ.

Açıklamalar

Böyle bir durumda, diğer CDaoQueryDef üye işlevlerini kullanarak sorgu tanımı oluşturmanız ve özelliklerini ayarlamanız gerekir. Dış veritabanlarının açıklaması için bkz . SetConnect.

CDaoQueryDef::SetSQL

Sorgu tanımı tarafından yürütülen SQL deyimini ayarlamak için bu üye işlevini çağırın.

void SetSQL(LPCTSTR lpszSQL);

Parametreler

lpszSQL
Yürütmeye uygun eksiksiz bir SQL deyimi içeren bir dize. Bu dizenin söz dizimi, sorgunuzun hedeflediğini DBMS'ye bağlıdır. Microsoft Jet veritabanı altyapısında kullanılan söz dizimi hakkında bir tartışma için DAO Yardımı'ndaki "Kodda SQL Deyimleri Oluşturma" konusuna bakın.

Açıklamalar

tipik bir kullanımı SetSQL , SQL doğrudan sorgusunda kullanmak üzere bir sorgu tanımı nesnesi ayarlamaktır. (Hedef DBMS'nizde SQL doğrudan sorgularının söz dizimi için DBMS'nizin belgelerine bakın.)

Ayrıca bkz.

CObject Sınıf
Hiyerarşi Grafiği
CDaoRecordset Sınıf
CDaoDatabase Sınıf
CDaoTableDef Sınıf
CDaoException Sınıf