2009-05-13 17 views
30

में कैसे जोड़ना है, मैं एक डेटाटेबल को किसी अन्य डेटाटेबल में जोड़ना चाहता हूं। मुझे लगता है कि डेटाटेबल क्लास में दो विधियां हैं; "लोड (आईडीटाइडर)" और "मर्ज (डेटाटेबल)"। प्रलेखन से, दोनों मौजूदा डेटाटेबल के साथ आने वाले डेटा को 'विलय' करने के लिए प्रकट होते हैं यदि पंक्तियां मौजूद हैं। मैं डेटा एक्सेस लेयर में विलय कर रहा हूं।किसी डेटाटेबल को किसी अन्य डेटाटेबल

मैं एक आईडीटाइडर का उपयोग कर सकता हूं और डेटाटेबल्स को मर्ज करने के लिए लोड विधि का उपयोग कर सकता हूं। या मैं IDataReader का उपयोग कर डेटासेट लोड कर सकता हूं, डेटासेट से डेटाटेबल प्राप्त कर सकता हूं, और फिर डेटाटेबल्स को मर्ज करने के लिए मर्ज विधि का उपयोग कर सकता हूं।

मैं सोच रहा था कि कोई मुझे बता सकता है कि उपयोग करने का उचित तरीका कौन सा है?

वैकल्पिक रूप से, मुझे बताएं कि क्या आपके पास इस कार्य को पूरा करने के तरीके पर एक अलग सुझाव है।

उत्तर

40

मर्ज डेटाटेबल लेता है, लोड को आईडीटाइडर की आवश्यकता होती है - इसलिए आपकी डेटा परत आपको किस प्रकार तक पहुंच प्रदान करती है, इस पर निर्भर करता है कि आवश्यक विधि का उपयोग करें। मेरी समझ यह है कि लोड आंतरिक रूप से मर्ज को कॉल करेगा, लेकिन इसके बारे में 100% निश्चित नहीं है।

यदि आपके पास दो डेटाटेबल्स हैं, तो मर्ज का उपयोग करें।

14

आप अपना DataAdapter काम कर सकते हैं। DataAdapter.Fill(DataTable) आपकी नई पंक्तियों को DataTable में किसी भी मौजूदा पंक्तियों में जोड़ देगा।

+2

यहां सही उत्तर –

+1

कठिन कार्य करता है ठीक है! – ashubuntu

35

उसी कॉलम नाम में डेटाटाइप बराबर होना चाहिए।

dataTable1.Merge(dataTable2); 

उसके बाद परिणाम है:

dataTable1 = dataTable1 + dataTable2

+0

आप अपना समय बचाते हैं धन्यवाद – destinydz

4

दो datatables युक्त डेटासेट, अब यह के रूप में आवश्यक मर्ज हो जाएगा जोड़े

DataSet ds1 = new DataSet(); 
DataSet ds2 = new DataSet(); 

DataTable dt1 = new DataTable(); 
dt1.Columns.Add(new DataColumn("Column1", typeof(System.String))); 

DataRow newSelRow1 = dt1.NewRow(); 
newSelRow1["Column1"] = "Select"; 
dt1.Rows.Add(newSelRow1); 

DataTable dt2 = new DataTable(); 
dt2.Columns.Add(new DataColumn("Column1", typeof(System.String))); 

DataRow newSelRow2 = dt1.NewRow(); 
newSelRow2["Column1"] = "DataRow1Data"; // Data 
dt2.Rows.Add(newSelRow2); 

ds1.Tables.Add(dt1); 
ds2.Tables.Add(dt2); 

ds1.Tables[0].Merge(ds2.Tables[0]); 

अब DS1 होगा विलय डेटा

+0

सही काम करने के लिए आसान और अंतर्निहित तरीके होने पर कठोर होने की आवश्यकता नहीं है। एक प्रोग्रामर के रूप में जबरदस्त दबाव के साथ पहले से ही पकड़ा :) – ashubuntu

संबंधित मुद्दे