将数据库的结果拆分为多行

时间:2016-03-14 08:50:52

标签: c# sql

我正在学习使用C#显示数据库中的数据。我想用更整洁的设计来安排数据。我想打印出这样的结果:

以下是我尝试的代码:

SqlConnection con = new SqlConnection("Data Source=192.168.120.56;Initial Catalog=EDI;User ID=xxx;Password=xxx");
SqlCommand cmd = new SqlCommand("Select TOP 2 * FROM table ", con);
        con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);

for (int i = 0; i < dt.Rows.Count; i++)
{
    for (int j = 0; j < dt.Columns.Count; j++)
    {
        string a = dt.Rows[i][j].ToString() + "\t";
        Console.Write(a);
    }
}

3 个答案:

答案 0 :(得分:2)

我相信你想要做的是在每一行之后添加换行符:

for (int i = 0; i < dt.Rows.Count; i++)
{
    for (int j = 0; j < dt.Columns.Count; j++)
    {
        string a = dt.Rows[i][j].ToString() + "\t";
        Console.Write(a);
    }
    Console.Write("\n\r");
}

答案 1 :(得分:1)

使用Linq

var rows = dt.AsEnumerable().Select(row => String.Join("\t", row.ItemArray));

foreach(string row in rows)
{
    Console.WriteLine(row);
}

答案 2 :(得分:0)

构建一个字符串以保存您想要构建的字符串并显示它

string a = "";

for (int i = 0; i < dt.Rows.Count; i++)
        {
        for (int j = 0; j < dt.Columns.Count; j++)
        {
            a += dt.Rows[i][j].ToString() + "\t";
        }
         a += "\n";
    }

Console.Writeline(a);
相关问题