我有一个DataTable
,它是从本地数据库中的 SQL 查询结果填充而来的,但我不知道如何从中提取数据。
测试程序中的主要方法:
static void Main(string[] args)
{
const string connectionString = "server=localhost\\SQLExpress;database=master;integrated Security=SSPI;";
DataTable table = new DataTable("allPrograms");
using (var conn = new SqlConnection(connectionString))
{
Console.WriteLine("connection created successfuly");
string command = "SELECT * FROM Programs";
using (var cmd = new SqlCommand(command, conn))
{
Console.WriteLine("command created successfuly");
SqlDataAdapter adapt = new SqlDataAdapter(cmd);
conn.Open();
Console.WriteLine("connection opened successfuly");
adapt.Fill(table);
conn.Close();
Console.WriteLine("connection closed successfuly");
}
}
Console.Read();
}
我用来创建数据库表的命令:
create table programs
(
progid int primary key identity(1,1),
name nvarchar(255),
description nvarchar(500),
iconFile nvarchar(255),
installScript nvarchar(255)
)
我该如何从 DataTable
中提取数据,并将其转换为有意义的形式以供使用?
foreach
可以工作,因为Rows
是一个集合(DataRowCollection
)。但是,如果您想使用一些Linq方法(例如.Where()
),则需要使用.Cast<DataRow>()
。 - Anderson Pimentel