0

我想知道如何使用 Linq将数据从数据库表导出到文本文件。

数据库表名是Customer和 列是CustomerIDCustomername

我使用StreamWriter并且我想用数据库表中的数据填充文本文件Customer

这有效-但这DataGridView

 private void bExportEKsystem_Click(object sender, EventArgs e)
 {
     TextWriter sw = new StreamWriter("Test.txt", true);

     int rowcount = DataGridview1.Rows.Count;
     for (int i = 0; i < rowcount - 1; i++)
     {
         sw.WriteLine();
     }

    sw.Close();    
 }
4

2 回答 2

0

尝试这个:

        int rowcount = datagridview1.Rows.Count;
        IEnumerable<string> output = datagridview1.Rows.Cast<DataGridViewRow>().Select( row => (string) row.Cells[0].Value + row.Cells[1].Value);
        using(TextWriter sw = new StreamWriter("test.txt", true))
        {
            foreach (string s in output)
            {
                   sw.WriteLine(s);
            }            
        }

*编辑:最好使用 Stream 的 using 语句

于 2013-10-28T11:08:46.383 回答
0

你可以这样做:

IEnumerable<Customer> customers = from customer in db.Customer 
    select CustomerID,   Customername;

using(TextWriter sw = new StreamWriter("test.txt", true))
{
    foreach (var c in customers)
    {
        sw.WriteLine(c.ToString());
    }
}

您在哪里定义 Customer.ToString 以您喜欢的格式打印出客户信息......

于 2013-10-28T11:03:43.597 回答