如何在数据集上运行查询

时间:2010-08-10 15:32:24

标签: c#

我希望对数据集运行查询。

是否可能。

如果是,请举个例子,如果没有,请提出替代解决方案。

3 个答案:

答案 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查询。但它不是免费的。