使用 C# 正确显示数组

本文关键字:显示 数组 使用 | 更新日期: 2023-09-27 18:34:07

下面是我的代码。我正在尝试将一些数据显示为来自SQL服务器的数组绘图。问题是当我到达foreach时,我似乎无法让它正确显示数据,它要么不断重复数据,要么只是不显示它。 我很抱歉,如果这个问题看起来很基本,我是编程的菜鸟,从我所研究的内容来看,我认为我需要将writeline更改为写入,并可能做另一个循环......只是不完全确定任何建议会有所帮助。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            string connection = "Data Source=INIWS64-04;Initial Catalog=INEW18_2013;Network Library=DBMSSOCN; User ID=recordsadmin;Password=security";
            DataTable table = new DataTable();
            string Sql = "";
            Sql = "select * from qryEDocRequest order by Request_ID";
            using (SqlConnection conn = new SqlConnection(connection))
            {
                try
                {
                    conn.Open();
                    SqlCommand comm = new SqlCommand(Sql, conn);
                    using (SqlDataAdapter adapter = new SqlDataAdapter(comm))
                    {
                        adapter.Fill(table);
                    }
                    for (int i = 0; i < table.Rows.Count; ++i)
                    {
                        DataRow row = table.Rows[i];
                        for (int w = 0; w < table.Columns.Count; ++w)
                        {
                            StringBuilder array = new StringBuilder();
                            foreach (Char Item in row.ItemArray.ToString())
                            {
                                array.Append(Item + ",");
                            }
                            Console.WriteLine(array);

                        }
                    }
                }
                catch (Exception Test)
                {
                    throw Test;
                }
            }
        }
    }
}

使用 C# 正确显示数组

这里有一个更简单的方法来完成你正在尝试做的事情:

using (SqlDataAdapter adapter = new SqlDataAdapter(comm))
{
    adapter.Fill(table);
}
foreach(var row in table.Rows)
{
    Console.WriteLine(String.Join(",", row.ItemArray));
}
根据您的

回答,我能够使用 foreach 解决如下问题

{
adapter.Fill(table);
}
foreach (DataRow row in table.Rows)
{
Console.WriteLine(String.Join(",", row.ItemArray));
}

非常感谢这是最简单的方法