我希望对数据集运行查询。
是否可能。
如果是,请举个例子,如果没有,请提出替代解决方案。
答案 0 :(得分:4)
您可以使用LINQ to DataSet。有很多一般的例子here。
答案 1 :(得分:3)
您无法在DataSet上运行完整的SQL查询,但有几个选项:
(1)您可以使用DataSet.Select()方法过滤它们:
http://msdn.microsoft.com/en-us/library/det4aw50.aspx
DataTable table = DataSet1.Tables["Orders"];
// Presuming the DataTable has a column named Date.
string expression;
expression = "Date > #1/1/00#";
DataRow[] foundRows;
// Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression);
(2)您可以使用LINQ to DataSet。
DataTable orders = ds.Tables["SalesOrderHeader"];
var query =
from order in orders.AsEnumerable()
where order.Field<bool>("OnlineOrderFlag") == true
select new
{
SalesOrderID = order.Field<int>("SalesOrderID"),
OrderDate = order.Field<DateTime>("OrderDate"),
SalesOrderNumber = order.Field<string>("SalesOrderNumber")
};
foreach (var onlineOrder in query)
{
Console.WriteLine("Order ID: {0} Order date: {1:d} Order number: {2}",
onlineOrder.SalesOrderID,
onlineOrder.OrderDate,
onlineOrder.SalesOrderNumber);
}
更多示例位于:http://msdn.microsoft.com/en-us/library/bb387004.aspx
答案 2 :(得分:0)
还有一个3rd party library几乎允许 完成对数据集的SQL查询。但它不是免费的。