Tôi có kết nối sql từ xa trong C# cần thực hiện truy vấn và lưu kết quả của nó vào đĩa cứng cục bộ của người dùng. Có một lượng lớn dữ liệu mà điều này có thể trả về, vì vậy cần phải nghĩ đến cách lưu trữ hiệu quả. Tôi đã đọc trước đó trước tiên đưa toàn bộ kết quả vào bộ nhớ và sau đó viết nó không phải là một ý tưởng tốt, vì vậy nếu ai đó có thể giúp đỡ, sẽ là tuyệt vời!Cách ghi hiệu quả vào tệp từ bộ dữ liệu SQL trong C#?
Tôi hiện đang lưu trữ các dữ liệu kết quả sql vào một DataTable, mặc dù tôi đang nghĩ nó có thể là tốt hơn làm một cái gì đó trong while(myReader.Read(){...}
Dưới đây là đoạn code mà nhận được kết quả:
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";
}
Vì vậy, bây giờ tôi có điều này chuỗi kết quả rất lớn. Và tôi có dữ liệu. Phải có một cách tốt hơn để làm điều đó?
Cảm ơn.
Bản sao có thể có của http://stackoverflow.com/questions/2244655/how-to-serialize-a-datatable-to-a-string –
Bạn chỉ cần viết cho một tệp phẳng chưa được định dạng hoặc sẽ tốt hơn để đưa dữ liệu vào các cột như bảng tính .csv? – DOK
tệp dấu phẩy phẳng. – Sam