2017-08-24 9 views
5

में गणना क्षेत्र पर स्थित फ़ंक्शन का उपयोग करके हम का उपयोग कैसे कर सकते हैं फ़ंक्शन या डेल्फी टैडोटेबल में गणना किए गए फ़ील्ड का उपयोग करके एक ही ऑपरेशन फ़ंक्शन का उपयोग करें? कुछ इसडेल्फी

SampleAdotable.locate('samplefield',text,[lopartialkey]);

की तरह जहां samplefield इस संदेश के साथ एक अपवाद बनाई गई है SampleAdotable.In सामान्य मामले में एक गणना क्षेत्र है:

Item can not be found in the collection corresponding to the requested name or ordinal 

आप

उत्तर

8

धन्यवाद यदि आपका SampleField है fkCalculated टाइप करें, मुझे नहीं लगता कि आप इस क्षेत्र का उस क्षेत्र के रूप में उपयोग कर सकते हैं जिसका मूल्य आप Locate पर कॉल में ढूंढने का प्रयास करते हैं।

कारण यह है कि Locate कॉल TCustomADODataSet.LocateRecord जो त्रुटि आप बोली और कारण यह होता है उत्पन्न करता है कि SampleField एडीओ Recordset में एक क्षेत्र TCustomADODataSet अंतर्निहित नहीं है है। Cursor.MoveNext पर कॉल में अपवाद होता है।

आप जो चाहते हैं उसे करने के लिए, डेटाबेस से पंक्ति डेटा प्राप्त करने के लिए उपयोग की जाने वाली SQL अभिव्यक्ति में गणना किए गए फ़ील्ड का निर्माण करने का प्रयास करें। आपके द्वारा उपयोग किए जा रहे सर्वर के आधार पर, आपको पंक्तियां प्राप्त करने के लिए TAdoTable के बजाय TAdoQuery का उपयोग करने की आवश्यकता हो सकती है।