using System;
using System.Data;
using System.Data.SqlClient;namespace PopDataSet
{
class PopDataSet
{
static void Main(string[] args)
{
//create connection
SqlConnection conn = new SqlConnection(@"server = XP-201009071433; integrated security = sspi;Database = Northwind;"); //Query
string sql = @"select
productname,
unitprice
from
products
where
unitprice<20
";
try
{
//Open connction
conn.Open(); //Create data adapter
SqlDataAdapter da = new SqlDataAdapter(sql,conn); //Create and fill dataset
DataSet ds = new DataSet();
da.Fill(ds,"products"); //Get data table
DataTable dt = ds.Tables["products"]; //Display data
foreach (DataColumn row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
Console.WriteLine(row[col]);
Console.WriteLine("".PadLeft(20),'=');
}
}
catch (SqlException ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
//Close Connection
conn.Close();
Console.ReadLine();
}
}
}
}
Error 1 Cannot apply indexing with [] to an expression of type 'System.Data.DataColumn' 错误就在红色划线处,我想用嵌套的foreach循环,访问每一列,但是这个错误不知道怎么弄
using System.Data;
using System.Data.SqlClient;namespace PopDataSet
{
class PopDataSet
{
static void Main(string[] args)
{
//create connection
SqlConnection conn = new SqlConnection(@"server = XP-201009071433; integrated security = sspi;Database = Northwind;"); //Query
string sql = @"select
productname,
unitprice
from
products
where
unitprice<20
";
try
{
//Open connction
conn.Open(); //Create data adapter
SqlDataAdapter da = new SqlDataAdapter(sql,conn); //Create and fill dataset
DataSet ds = new DataSet();
da.Fill(ds,"products"); //Get data table
DataTable dt = ds.Tables["products"]; //Display data
foreach (DataColumn row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
Console.WriteLine(row[col]);
Console.WriteLine("".PadLeft(20),'=');
}
}
catch (SqlException ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
//Close Connection
conn.Close();
Console.ReadLine();
}
}
}
}
Error 1 Cannot apply indexing with [] to an expression of type 'System.Data.DataColumn' 错误就在红色划线处,我想用嵌套的foreach循环,访问每一列,但是这个错误不知道怎么弄
{
foreach (DataColumn col in dt.Columns)
Console.WriteLine(row[col]);
Console.WriteLine("".PadLeft(20),'=');
}
{
foreach (DataColumn column in table.Columns)
{
Console.WriteLine(row[column]);
}
}
foreach (DataColumn row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
Console.WriteLine(row[col]);
Console.WriteLine("".PadLeft(20),'=');
}
改成: foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
Console.WriteLine(row[col]);
Console.WriteLine("".PadLeft(20),'=');
}