如何在数据集上运行查询?

时间:2011-04-20 07:01:40

标签: c# winforms

我有一个名为DataSet的{​​{1}}包含数据。这是我用来读取XML的代码:

dsView

数据有一个名为dsView = new DataSet(); dsView.ReadXml(@"\c:MyXml.xml"); 的表格,其中包含字段MENFname。如何对此Lname运行查询? (例如:dsView

6 个答案:

答案 0 :(得分:14)

您无法在DataSet上运行完整的SQL语句 - 但DataTable中的DataSet确实有一个名为Select(string)的方法,该方法会选择DataRow的数组符合特定条件的对象。

查看MSDN docs on DataTable

您可能需要执行类似(未经测试)的操作:

DataTable tblMEN = dsView.Tables["MEN"];
DataRow[] results = tblMen.Select("Fname = 'zz'");

答案 1 :(得分:1)

我认为您不能在DataSet上运行SQL查询,因为它没有查询引擎。但你可以尝试LINQ to DataSet

另外,如果您只对数据感兴趣(而不是DataSet的数据绑定属性),我建议您使用LINQ to XML来查询文档。

答案 2 :(得分:0)

AFAIK您只能使用Select method.

DataTable 上运行Sql Like查询

你可以在这里使用this overload of DataTable.Select来做这样的事情:

DataRow[] foundRows = dsView.Table[0].Select("Fname = `zz`");

dsView.Table[0]应指向 MEN 表,并且应该有一列 Fname

有效表达式与DataColumn表达式相同:
http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression.aspx

答案 3 :(得分:0)

dsView.Table[0].DefaultView.RowFilter = "Fname = 'zz'";
// now default view contains the filtered rows
//ds.Table[0].DefaultView

有关msdn

DefaultVeiw的更多信息

答案 4 :(得分:0)

以下是我用来制作菜单的示例。

$('#settingsColumnAggregate')
.find('option[value="Sum"], option[value="Avg"], option[value="Max"], option[value="Min"]')
.hide();

答案 5 :(得分:0)

def abc
   a = *(1..100)
   a.each do |i|
       if i % 3 == 0 
       puts "three"
       elsif i % 5 == 0
       puts "five"
       else
         puts i
       end
     end
   end

你可以使用这个代码。我希望它对你有帮助。