我有一個從SQL查詢填充到本地數據庫的DataTable
,但我不知道如何從中提取數據。 主要方法(在測試程序):如何從DataTable中提取數據?
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循環允許索引?我不能做這樣的事,直到我改變了代碼如下所示: 的foreach(DataRow的行YourDataTable.Rows.Cast()) ... –
awh112
2015-06-04 15:03:56
即使較早的評論,但有沒有必要投射:'foreach'工作,因爲'行'是一個集合('DataRowCollection')。儘管如此,如果您想使用一些Linq方法(例如'.Where()'),您需要使用'.Cast()'。 –
2016-11-29 17:27:18
@marc_s謝謝 – 2017-01-06 13:19:00