मैं एक SQL क्वेरी लिखने की कोशिश कर रहा हूं जो दर्ज किए गए फ़ील्ड द्वारा ग्रिडव्यू फ़िल्टर करता है। चार फ़ील्ड, शीर्षक, प्रथम नाम, उपनाम और कंपनी नाम हैं।LINQ SQL क्वेरी जांचें कि कोई ऑब्जेक्ट फ़ील्ड शून्य नहीं है
पहले तीन ठीक हैं क्योंकि वे कभी शून्य नहीं हैं लेकिन चौथा शून्य हो सकता है। निम्नलिखित LINQ क्वेरी बस ठीक काम करता है:
var listofclients = from client in allcients
where client.Title.ToLower().Contains(titletxtbox.Text.Trim().ToLower())
where client.Firstname.ToLower().Contains(firstnametxtbox.Text.Trim().ToLower())
where client.Surname.ToLower().Contains(surnametxtbox.Text.Trim().ToLower())
orderby client.Name
लेकिन जब मैं कोशिश करते हैं और कंपनी के लिए इसे में एक फिल्टर डाल मैं जब कंपनी रिक्त है कार्यावधि में एक त्रुटि प्राप्त होगी
var listofclients = from client in allcients
where client.Title.ToLower().Contains(titletxtbox.Text.Trim().ToLower())
where client.Firstname.ToLower().Contains(firstnametxtbox.Text.Trim().ToLower())
where client.Surname.ToLower().Contains(surnametxtbox.Text.Trim().ToLower())
where client.Company.Name.ToLower().Contains(companynametxtbox.Text.Trim().ToLower())
orderby client.Name
क्या मैं करूंगा जानना, क्या क्वेरी बनाने का कोई तरीका है ताकि यह केवल क्लाइंट के दौरान फ़िल्टर हो। कॉम्पनी फ़ील्ड शून्य नहीं है।
मैं एसक्यूएल इंजेक्शन के लिए भी कमजोर हूं या जैसे कि मैं इस तरह के टेक्स्टबॉक्स फ़ील्ड से सीधे खींचता हूं। मुझे इस मामले में पता है कि यह डीबी से जुड़ा नहीं है, लेकिन अगर यह एक बूंद हो सकता है। या यहां तक कि अगर यह डीबी से जुड़ा हुआ नहीं है तो क्या वे सूची में वस्तुओं के साथ परेशान हो सकते हैं?
धन्यवाद
जॉन हॉकिन्स
कि पुनः प्राप्त डेटासेट पर छानने हालांकि करेंगे। मुझे लगता है कि जॉन चाहता है कि एसक्यूएल चयन के हिस्से के रूप में कंपनी का नाम शामिल किया जाए। – sipwiz
@sipwiz: नहीं। जब तक "से ... चुनें" पर कॉल करने वाला कोई ToList() या समकक्ष नहीं है, ऑब्जेक्ट listofclient एक IQueryable है (इसलिए इस बिंदु पर कोई डेटा पुनर्प्राप्त नहीं किया गया है)। जिसका अर्थ है कि अनुरोध अभी भी निष्पादित नहीं किया गया है, इसलिए डेटा को पुनर्प्राप्त करने से पहले "कहां" खंड किया जाएगा। –
हाँ बिल्कुल तभी जब आप ToList या इसी तरह की विधि को वास्तविक एसक्यूएल आमंत्रण कहते हैं। – omoto