मैं TADODataSet
(D7) का उपयोग कर रहा हूं।
मैं अपने डेटासेट के साथ डिज़ाइन-मोड में लगातार फ़ील्ड नहीं बनाता हूं।रनटाइम पर TDataSet लुकअप फ़ील्ड कैसे बनाएं?
dsItems.CommandText := 'select ID, ItemName, UserIDCreate from Items';
dsUsers.CommandText := 'select ID, LoginName from Users'; // lookup dataset
dsItems
पर मैं डबल क्लिक करें और "सभी फ़ील्ड जोड़ें" और उसके बाद तो "नया दायर" और मेरे देखने फील्ड परिभाषित करते हैं, सब कुछ ठीक काम कर रहा है। जिसके परिणामस्वरूप dsItems
शामिल करना चाहिए: ID, ItemName, UserIDCreate, LoginName_Lookup
कर सकते हैं मैं डिजाइन समय में यह सब कर से बचने के लिए कैसे और बाद में एक लुक फील्ड जोड़ें/या उससे पहले (यकीन है कि नहीं?) डेटासेट खोला जाता है।
दूसरे शब्दों में: मैं कैसे अनुकरण और फिर "नया दायर" रन-टाइम में दायर देखने जोड़ने के लिए "सभी फ़ील्ड जोड़ें" करते हैं?
नोट: मैं जब आईडीई से जॉन कोड चल रहा एक अपवाद मिलता है। डेटासेट: EOleException with message 'An unknown error has occured'
खोलने का प्रयास करते समय अपवाद होता है।
function TCustomADODataSet.LocateRecord (ADODB.pas)
लाइन if FieldCount = 1 then FLookupCursor.Find...
मैं पालन कार्यक्रम क्योंकि जवाब को स्वीकार कर रहा हूँ में काम कर रहा है।
यह अच्छा होगा अगर कोई IDE के अंदर फॉर्म चलाते समय अपवाद प्राप्त करने (या नहीं) को सत्यापित कर सके।
क्या आपका मतलब है कि मुझे इस कोड को चलाने के लिए डिज़ाइन-मोड में "जो भी फ़ील्ड आपको लगातार फ़ील्ड के रूप में उपयोग करने की आवश्यकता होगी" बनाने की आवश्यकता है? – Vlad
मुझे डेटासेट खोलने का प्रयास करते समय 'अज्ञात त्रुटि आई है' संदेश के साथ 'EOleException' मिलता है। – Vlad
आप रनटाइम पर सभी लगातार फ़ील्ड जोड़ सकते हैं। कौन सा हिस्सा अपवाद फेंक रहा है और कौन सी रेखा? –