Kueri CAML dengan Masalah Berisi dan Atau Klausul

Apa yang ingin saya capai : Ambil array kata kunci sebagai input dan kueri Daftar Sharepoint untuk mengembalikan semua baris yang berisi kata kunci dalam daftar.

Saya telah membuat kueri CAML sederhana untuk menanyakan daftar saya dengan satu kata kunci (pdf) .

<Query><Where><Contains><FieldRef Name='Keyword'/><Value Type='Text'>pdf</Value></Contains></Where></Query>

Ini berfungsi dengan baik.

Namun, ketika saya mencoba menggunakan klausa Or dalam kueri CAML (lihat di bawah), saya mendapatkan kesalahan berikut

"Satu atau lebih jenis bidang tidak dipasang dengan benar. Buka halaman pengaturan daftar untuk menghapus bidang ini."

<Query><Where><Or><Contains><FieldRef Name='Keyword'/><Value Type='Text'>pdf</Value></Contains></Or></Where></Query>

Saya mencari sintaks di Google dan semuanya terlihat bagus. Tolong beri tahu saya apa yang hilang.

Terima kasih sebelumnya.


person c_y    schedule 05.07.2012    source sumber
comment
Jika Anda menggunakan SharePoint 2007, mungkin ada satu di luar sana untuk tahun 2010) saya sarankan Anda mencoba menggunakan pembuat CAML yang akan membuat hidup Anda lebih mudah!   -  person Truezplaya    schedule 05.07.2012
comment
Truezplaya, sayangnya..ada batasan mengunduh perangkat lunak di perusahaan saya. Saya hanya menggunakan layanan daftar di sharepoint dari Javascript saya dan tidak akan membutuhkannya di masa mendatang. Apakah ada alat online untuk mengevaluasi sintaksis?   -  person c_y    schedule 05.07.2012
comment
Sayangnya menurutku tidak ada. Alat ini akan meningkatkan efisiensi saat menulis CAML jadi saya pikir Anda punya alasan bagus untuk mendapatkan salinannya. Jika Anda menulis CAML sekali, saya yakin Anda akan menemukannya lagi!   -  person Truezplaya    schedule 06.07.2012


Jawaban (2)


Pada CAML Query jika ingin menggunakan OR harus dan harus mempunyai 2 syarat.

person bhargava    schedule 05.07.2012
comment
Jumlah kata kuncinya bisa 1-n. Saya sedang membangun klausa Where secara dinamis. Jadi, sepengetahuan saya, saya perlu mengecualikan klausa OR jika ada satu kata kunci dan memasukkannya jika ada lebih dari satu ? - person c_y; 05.07.2012

Nama referensi bidang harus berupa nama internal. Anda dapat menemukannya dengan membuka halaman kolom di pengaturan daftar/perpustakaan dan namanya adalah akhir dari URL. Spasi dan garis bawah pada nama harus ditangani secara berbeda.

person zen00    schedule 21.07.2012