मेरे पास सी # में एक दूरस्थ एसक्यूएल कनेक्शन है जिसे एक क्वेरी निष्पादित करने की आवश्यकता है और इसके परिणाम उपयोगकर्ताओं की स्थानीय हार्ड डिस्क पर सहेजने की आवश्यकता है। इस बात की वापसी की जा सकने वाली डेटा की काफी बड़ी मात्रा है, इसलिए इसे संग्रहीत करने के एक कुशल तरीके के बारे में सोचने की आवश्यकता है। मैंने पहले पूरे परिणाम को स्मृति में डालने से पहले पढ़ा है और फिर इसे लिखना अच्छा विचार नहीं है, इसलिए यदि कोई मदद कर सकता है, तो बहुत अच्छा होगा!सी # में एसक्यूएल डाटाएडर से फ़ाइल को कुशलतापूर्वक लिखने के लिए कैसे लिखें?
DataTable t = new DataTable();
string myQuery = QueryLoader.ReadQueryFromFileWithBdateEdate(@"Resources\qrs\qryssysblo.q", newdate, newdate);
using (SqlDataAdapter a = new SqlDataAdapter(myQuery, sqlconn.myConnection))
{
a.Fill(t);
}
var result = string.Empty;
for(int i = 0; i < t.Rows.Count; i++)
{
for (int j = 0; j < t.Columns.Count; j++)
{
result += t.Rows[i][j] + ",";
}
result += "\r\n";
}
तो अब मैं इस है:
मैं वर्तमान में, एक DataTable में एसक्यूएल परिणाम डेटा भंडारण कर रहा हूँ, हालांकि मैं यह बेहतर while(myReader.Read(){...}
नीचे में कुछ कर रही हो सकता है सोच रहा हूँ कोड है कि परिणाम हो जाता है विशाल परिणाम स्ट्रिंग। और मेरे पास डेटाटेबल है। ऐसा करने का एक बेहतर तरीका होना चाहिए?
धन्यवाद।
http://stackoverflow.com/questions/2244655/how-to-serialize-a-datatable-to-a-string –
का संभावित डुप्लिकेट क्या आप सिर्फ एक गैर प्रारूपित फ्लैट फ़ाइल पर लिख रहे हैं, या यह बेहतर होगा डेटा को .csv स्प्रेडशीट जैसे स्तंभों में रखें? – DOK
फ्लैट कॉमा-डेल फ़ाइल। – Sam