मैंने अभी एक महीने पहले .NET प्रोग्रामर की एक छोटी सी टीम पर काम करना शुरू कर दिया था और हाल ही में हमारे टीम लीड के साथ एक चर्चा में आया है कि हम अपने कोड में डाटाबेसिंग का उपयोग क्यों नहीं करते हैं। हर बार जब हम डेटा ग्रिड के साथ काम करते हैं, तो हम डेटा टेबल के माध्यम से पुनरावृत्ति करते हैं और ग्रिड पंक्ति को पंक्ति से पॉप्युलेट करते हैं; कोड आम तौर पर इस तरह दिखता है:मुझे .NET में डेटा बाध्यकारी का उपयोग करके सावधान रहना चाहिए?
Dim dt as DataTable = FuncLib.GetData("spGetTheData ...")
Dim i As Integer
For i = 0 To dt.Rows.Length - 1 '(not sure why we do not use a for each here)'
gridRow = grid.Rows.Add()
gridRow(constantProductID).Value = dt("ProductID").Value
gridRow(constantProductDesc).Value = dt("ProductDescription").Value
Next
'(I am probably missing something in the code, but that is basically it)'
हमारी टीम का नेतृत्व करते हुए कहा था कि वह बाध्यकारी जब शेरिडन ग्रिड नियंत्रण, VB6 के साथ काम कर रहे डेटा का उपयोग कर जला दिया गया, और ADO नब्बे के दशक में वापस recordsets। उसे यकीन नहीं है कि सही समस्या क्या थी, लेकिन उसे याद है कि बाध्यकारी अपेक्षा के अनुसार काम नहीं करता था और उसे कुछ बड़ी समस्याएं हुईं। तब से, उन्होंने डेटा बाध्यकारी पर भरोसा नहीं किया है और डेटा को उनके सभी नियंत्रणों के लिए हाथ से लोड किया है।
वार्तालाप का कारण भी आया क्योंकि मुझे डेटा बहुत ही सरल होने के लिए बाध्यकारी पाया गया था और वास्तव में डेटा प्रस्तुति (इस मामले में, डेटा ग्रिड) को इन-मेमोरी डेटा स्रोत से अलग करना पसंद था (इस मामले में, विवरण सारणी)। ग्रिड में पंक्ति द्वारा डेटा पंक्ति "लोड हो रहा है" इस भेद को तोड़ने लग रहा था। मैंने यह भी देखा कि डब्ल्यूपीएफ और सिल्वरलाइट में एक्सएएमएल के आगमन के साथ, डेटा-बाइंडिंग आपके डेटा के साथ एक डिजाइनर के एक्सएएमएल कोड को साफ करने में सक्षम होने के लिए एक जरूरी है।
मुझे .NET में डेटा-बाइंडिंग का उपयोग करने के बारे में सावधान रहना चाहिए?
नेट में डाटाबेसिंग vcom6 में डेटाबेस से _completely_ अलग है। – SLaks
@Slaks मुझे कल्पना है। क्या आप किसी भी अच्छे संदर्भ के बारे में जानते हैं जिसे मैं पढ़ सकता हूं जो उस मामले को स्पष्ट रूप से बनाता है? –
कोड का यह टुकड़ा कम से कम 10 वर्षों के लिए पुराना दिखता है। – Andrey