1

我使用以下代码从 sql server 2005 读取数据并将该数据添加到列表中。然后我使用该列表创建一个文本文件。它工作正常。

    String con1 = System.Configuration.ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;

     try
            {
                List<string> list = new List<string>();

                using (SqlConnection con = new SqlConnection(con1))
                {
                    con.Open();

                    using (SqlCommand command = new SqlCommand("SELECT * FROM test", con))
                    {
                        SqlDataReader reader = command.ExecuteReader();
                        while (reader.Read())
                        {
                            string name = reader.GetString(0);
                            string dept = reader.GetString(1);
                            list.Add(name);
                            list.Add(dept);
                        }
                        StreamWriter SW;
                        SW = File.CreateText("d:\\test.txt");

                        foreach (string Txt in list)
                        {
                            SW.WriteLine(Txt);
                        }


                        SW.Close();
                    }
                }

我的问题是对齐,如果我创建文本文件,记录将逐行显示。这里 aaaa,cccc 是 name.bbbb,dddd 是 Dept。但它显示像,

aaaa
bbbb
cccc
dddd

我需要名字,像一张桌子一样分开

aaaa       bbbb
cccc       dddd

这个怎么做?

4

2 回答 2

2

更改此行

list.Add(name);
list.Add(dept);

list.Add(name + "\t" + dept);
于 2012-11-21T07:15:04.387 回答
2
for (int i = 0; i < list.Count; i += 2)
{
   SW.Write(list[i]);
   SW.Write("\t");
   SW.WriteLine(list[i+1]);
}
于 2012-11-21T07:16:14.290 回答