Bagikan melalui


IConditionGenerator::GenerateForLeaf method (structuredquery.h)

Menghasilkan ekspresi kueri khusus untuk apa yang akan menjadi ekspresi kueri daun.

Sintaks

HRESULT GenerateForLeaf(
  [in]          IConditionFactory   *pConditionFactory,
  [in]          LPCWSTR             pszPropertyName,
  [in]          CONDITION_OPERATION cop,
  [in]          LPCWSTR             pszValueType,
  [in]          LPCWSTR             pszValue,
  [in]          LPCWSTR             pszValue2,
  [in]          IRichChunk          *pPropertyNameTerm,
  [in]          IRichChunk          *pOperationTerm,
  [in]          IRichChunk          *pValueTerm,
  [in]          BOOL                automaticWildcard,
  [out]         BOOL                *pNoStringQuery,
  [out, retval] ICondition          **ppQueryExpression
);

Parameter

[in] pConditionFactory

Jenis: IConditionFactory*

Objek IConditionFactory yang dapat digunakan untuk membuat simpul yang diperlukan.

[in] pszPropertyName

Jenis: LPCWSTR

Nama properti, atau NULL jika tidak ada nama properti.

[in] cop

Jenis: CONDITION_OPERATION

Jenis enumerasi CONDITION_OPERATION mengidentifikasi operasi.

[in] pszValueType

Jenis: LPCWSTR

Jenis semantik yang menjelaskan nilai dalam pszValue dan pszValue2.

[in] pszValue

Jenis: LPCWSTR

String yang dihasilkan oleh IConditionGenerator::RecognizeNamedEntities yang mewakili nilai . Jika pszValue2 bukan NULL, maka ini mewakili awal rentang nilai.

[in] pszValue2

Jenis: LPCWSTR

Jika bukan NULL, string yang dihasilkan oleh IConditionGenerator::RecognizeNamedEntities yang mewakili akhir rentang nilai. Jika NULL, maka pszValue mewakili nilai diskrit.

[in] pPropertyNameTerm

Jenis: IRichChunk*

Penunjuk ke objek IRichChunk yang berisi informasi tentang bagian apa dari string input yang menghasilkan nama properti.

[in] pOperationTerm

Jenis: IRichChunk*

Penunjuk ke objek IRichChunk yang berisi informasi tentang bagian apa dari string input yang menghasilkan operasi.

[in] pValueTerm

Jenis: IRichChunk*

Arahkan ke objek IRichChunk yang berisi informasi tentang bagian apa dari string input yang menghasilkan nilai.

[in] automaticWildcard

Jenis: BOOL

TRUE jika kondisi yang dihasilkan harus mengembalikan hasil yang dimulai dengan nilai yang ditentukan, jika bermakna. FALSE jika kondisi yang dihasilkan harus mengembalikan hasil yang cocok dengan nilai yang ditentukan dengan tepat.

[out] pNoStringQuery

Jenis: BOOL*

VARIANT_TRUE jika pohon kondisi di ppQueryExpression harus menjadi kueri lengkap, atau VARIANT_FALSE jika kueri lengkap harus menjadi pembedaan pohon kondisi di ppQueryExpression dan pohon kondisi yang akan digunakan jika metode ini telah mengembalikan S_FALSE.

[out, retval] ppQueryExpression

Jenis: ICondition**

Menerima penunjuk ke pohon kondisi ICondition .

Nilai kembali

Jenis: HRESULT

Mengembalikan salah satu dari berikut ini, atau nilai kesalahan sebaliknya.

Menampilkan kode Deskripsi
S_OK
Berhasil menghasilkan kondisi.
S_FALSE
Kondisi tidak dihasilkan, dan pengurai kueri harus menghasilkan satu dengan cara lain.

Keterangan

Jika metode ini mengembalikan S_FALSE, pengurai kueri panggilan harus menghasilkan simpul daun N dengan nama properti, operasi, dan nilai ini. Jika metode ini mengembalikan S_FALSE dan pNoStringQuery berisi VARIANT_FALSE, kueri yang dihasilkan penuh adalah disjunction (OR) dengan simpul daun N dan pohon kondisi di ppQueryExpression sebagai subkondisi.

Jika metode ini mengembalikan S_OK dan pNoStringQuery berisi VARIANT_TRUE, pohon kondisi di ppQueryExpression adalah kueri lengkap.

Nilai pszValue2 bukan NULL hanya untuk kueri rentang, seperti date:1/2/2003..1/30/2006, di mana pszValue berisi nilai untuk 1/2/2003 dan pszValue2 berisi nilai untuk 30/1/2006. Generator kondisi dapat memilih untuk menolak rentang dengan selalu mengembalikan S_OK ketika pszValue2 bukan NULL.

Generator kondisi dapat dengan aman mengabaikan argumen pPropertyNameTerm, pOperationTerm, dan pValueTerm. Namun, itu akan menggunakannya untuk menghasilkan simpul daun yang memiliki informasi yang benar tentang asal-usul dalam string kueri nama properti, operator, dan nilai, dengan meneruskannya ke MakeLeaf.

Dalam banyak kasus, generator kondisi dapat mengabaikan argumen automaticWildcard karena tidak akan berlaku. Namun, jika pohon kondisi yang dihasilkan melakukan beberapa bentuk pencarian string, di mana pencarian awalan (COP_VALUE_STARTSWITH dari CONDITION_OPERATION) dan pencarian string yang tepat (COP_EQUAL dari CONDITION_OPERATION) bermakna, maka yang pertama harus dihasilkan ketika automaticWildcardVARIANT_TRUE, dan yang terakhir ketika automaticWildcardVARIANT_FALSE.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP dengan SP2, Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 dengan SP1 [hanya aplikasi desktop]
Target Platform Windows
Header structuredquery.h

Lihat juga

CONDITION_CREATION_OPTIONS

CONDITION_OPERATION

CONDITION_TYPE

ICondition

ICondition2

IConditionFactory

IConditionGenerator

Referensi