Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在数据集上运行查询?_C#_Winforms - Fatal编程技术网

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

C# 如何在数据集上运行查询?,c#,winforms,C#,Winforms,我有一个名为dsView的DataSet包含数据。下面是我用来读取XML的代码: dsView = new DataSet(); dsView.ReadXml(@"\c:MyXml.xml"); 数据有一个名为MEN的表,其中包含Fname和Lname字段。如何在此dsView上运行查询?(例如:select*from-MEN,其中Fname='zz')您不能在数据集上运行完整的SQL语句——但是数据集中的数据表有一个名为select(string)的方法,该方法选择符合特定条件的数据行对象数

我有一个名为
dsView
DataSet
包含数据。下面是我用来读取XML的代码:

dsView = new DataSet();
dsView.ReadXml(@"\c:MyXml.xml");

数据有一个名为
MEN
的表,其中包含
Fname
Lname
字段。如何在此
dsView
上运行查询?(例如:
select*from-MEN,其中Fname='zz'

您不能在
数据集上运行完整的SQL语句
——但是
数据集中的
数据表
有一个名为
select(string)
的方法,该方法选择符合特定条件的
数据行
对象数组

查看

您可能需要执行以下操作(未经测试):


AFAIK您只能使用

您可以使用此处执行以下操作:

DataRow[] foundRows = dsView.Table[0].Select("Fname = `zz`");
dsView.Table[0]
应该指向男性的表格,并且应该有一列Fname

有效表达式与DataColumn表达式相同:

我认为您不能在
数据集上运行SQL查询,因为它没有查询引擎。但是你可以试试

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

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

关于msdn的更多信息这里有一个我用来制作菜单的例子

Dim dstpage As DataSet
dstpage = businessService.GetData()
Dim userTable As DataTable
userTable = dstpage.Tables(0)
If userTable.Rows.Count > 0 Then
   Dim results As DataRow()
   results = userTable.Select("PAGE_GROUP_NAME='People'")
   For i As Integer = 0 To results.Count - 1
       FilePath = userTable.Rows(i)("FILE_PATH").ToString()
       PageName = userTable.Rows(i)("PAGE_NAME").ToString()
   Next
End If

您可以使用此代码。我希望它对您有所帮助。

的可能副本应该与该问题合并,因为此问题包含更好的答案。@Gali:在
数据行数组上进行foreach操作
-这只是标准的ADO.NET。。。。
Dim dstpage As DataSet
dstpage = businessService.GetData()
Dim userTable As DataTable
userTable = dstpage.Tables(0)
If userTable.Rows.Count > 0 Then
   Dim results As DataRow()
   results = userTable.Select("PAGE_GROUP_NAME='People'")
   For i As Integer = 0 To results.Count - 1
       FilePath = userTable.Rows(i)("FILE_PATH").ToString()
       PageName = userTable.Rows(i)("PAGE_NAME").ToString()
   Next
End If
// Create a table of five different people.
    // ... Store their size and sex.
    DataTable table = new DataTable("Players");
    table.Columns.Add(new DataColumn("Size", typeof(int)));
    table.Columns.Add(new DataColumn("Sex", typeof(char)));

    table.Rows.Add(100, 'f');
    table.Rows.Add(235, 'f');
    table.Rows.Add(250, 'm');
    table.Rows.Add(310, 'm');
    table.Rows.Add(150, 'm');

    // Search for people above a certain size.
    // ... Require certain sex.
    DataRow[] result = table.Select("Size >= 230 AND Sex = 'm'");
    foreach (DataRow row in result)
    {
        Console.WriteLine("{0}, {1}", row[0], row[1]);
    }