以下是我的代码。我试图将一些数据显示为来自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;
}
}
}
}
}
答案 0 :(得分:2)
这是一种更轻松的方式来做你想做的事情:
using (SqlDataAdapter adapter = new SqlDataAdapter(comm))
{
adapter.Fill(table);
}
foreach(var row in table.Rows)
{
Console.WriteLine(String.Join(",", row.ItemArray));
}
答案 1 :(得分:0)
根据您的回复,我能够使用foreach解决如下
{
adapter.Fill(table);
}
foreach (DataRow row in table.Rows)
{
Console.WriteLine(String.Join(",", row.ItemArray));
}
非常感谢这是最简单的方法