c#中,DataTable.Select()中括号里的参数的语法规则,是个什么样的? 本人新手,请教

如题所述

第1个回答  2012-05-07
Select(String)/Select(String, String)/Select(String, String, DataViewRowState)
private void GetRows()
{
// Get the DataTable of a DataSet.
DataTable table = DataSet1.Tables["Suppliers"];
DataRow[] rows = table.Select();

// Print the value one column of each DataRow.
for(int i = 0; i < rows.Length ; i++)
{
Console.WriteLine(rows[i]["CompanyName"]);
}
}
*****

private void GetRowsByFilter()
{
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);

// Print column 0 of each returned row.
for(int i = 0; i < foundRows.Length; i ++)
{
Console.WriteLine(foundRows[i][0]);
}
}
****

private void GetRowsByFilter()
{
DataTable table = DataSet1.Tables["Orders"];

// Presuming the DataTable has a column named Date.
string expression = "Date > '1/1/00'";

// Sort descending by column named CompanyName.
string sortOrder = "CompanyName DESC";
DataRow[] foundRows;

// Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression, sortOrder);

// Print column 0 of each returned row.
for(int i = 0; i < foundRows.Length; i ++)
{
Console.WriteLine(foundRows[i][0]);
}
}
*****

private static void GetRowsByFilter()
{
DataTable customerTable = new DataTable("Customers");
// Add columns
customerTable.Columns.Add("id", typeof(int));
customerTable.Columns.Add("name", typeof(string));

// Set PrimaryKey
customerTable.Columns[ "id" ].Unique = true;
customerTable.PrimaryKey = new DataColumn[]
{ customerTable.Columns["id"] };

// Add ten rows
for(int id=1; id<=10; id++)
{
customerTable.Rows.Add(
new object[] { id, string.Format("customer{0}", id) });
}
customerTable.AcceptChanges();

// Add another ten rows
for(int id=11; id<=20; id++)
{
customerTable.Rows.Add(
new object[] { id, string.Format("customer{0}", id) });
}

string expression;
string sortOrder;

expression = "id > 5";
// Sort descending by column named CompanyName.
sortOrder = "name DESC";
// Use the Select method to find all rows matching the filter.
DataRow[] foundRows =
customerTable.Select(expression, sortOrder,
DataViewRowState.Added);

PrintRows(foundRows, "filtered rows");

foundRows = customerTable.Select();
PrintRows(foundRows, "all rows");
}

private static void PrintRows(DataRow[] rows, string label)
{
Console.WriteLine("\n{0}", label);
if(rows.Length <= 0)
{
Console.WriteLine("no rows found");
return;
}
foreach(DataRow row in rows)
{
foreach(DataColumn column in row.Table.Columns)
{
Console.Write("\table {0}", row[column]);
}
Console.WriteLine();
}
}

自己看看文档
http://technet.microsoft.com/zh-cn/library/system.data.datatable.select(v=vs.110)
第2个回答  2012-05-07
DataTable.Select() 括号里的为一个条件, 类似SQL的 where 条件
比如 DataTable中有字段A 查询 字段A等1的数据 可以用 DataTable.Select("A=1")本回答被提问者采纳
第3个回答  2012-05-07
1、select(string):
private void GetRowsByFilter()
{
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);

// Print column 0 of each returned row.
for(int i = 0; i < foundRows.Length; i ++)
{
Console.WriteLine(foundRows[i][0]);
}
}
2、select(string,string)

private void GetRowsByFilter()
{
DataTable table = DataSet1.Tables["Orders"];

// Presuming the DataTable has a column named Date.
string expression = "Date > '1/1/00'";

// Sort descending by column named CompanyName.
string sortOrder = "CompanyName DESC";
DataRow[] foundRows;

// Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression, sortOrder);

// Print column 0 of each returned row.
for(int i = 0; i < foundRows.Length; i ++)
{
Console.WriteLine(foundRows[i][0]);
}
}
第4个回答  2012-05-07
vs 不是有提示吗 要么不加参数 要么加string 类型的参数
string 有什么语法规则啊

...里的参数的语法规则,是个什么样的? 本人新手,请教
private static void PrintRows(DataRow[] rows, string label)

c#winform中的datatable 的select()的模糊查询咋整?
包含零个或多个字符的任意字符串 _(下划线) 任何单个字符 [ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符:?同于DOS命令中的?通配符,代表单个字符 大致同上,不同的是代只能代表单个数字 select * from tab where id='11__00'...

c# datatable.select();的问题
在你的代码中 dt31 = dt30.Select("发票号= '"+a+"'");显然dt31是Datatable类型,赋值号后面是DataRow数组。分析楼主的意思,可能是想要dt30中的发票号为 a的数据,组成一个新的Datatable作为Gridview的数据源吧?要是的话可以用下面的代码:string a;a =dt30.Rows[0][1].ToString();Data...

关于c#中DataTable的Select过滤
DataRow[] drs = dtTrees.Select("pid not in (" + a + ")"); \/\/这里用not in \/\/drs就是所要的查询结果。

C# DataTable中Select()方法 中可以执行sql语句么???
不可以,DataTable的select方法中只有 条件和排序两个,而条件只能用简单的静态条件,所以不能执行SQL语句。

c#熟悉DataTable的Select的朋友来看一个问题,关于单引号的
dt.Select("pid='11873' and from='1'") 我用这个试了 没有问题啊! 语法没有问题,报错信息为:不能找到列 说明是你的列名写错了 id ,vc_name没有写错吧,确定和数据表的列名相同。

C# DataTable.select条件返回行数和直接写sql语句查询条件返回行数不...
dt_sqlOld.select() 返回的是DataRow[]类型,sql语句查出来返回的是DataTable类型,所以它们是不一样的

C# 判断当前值是否存在datatable的指定列中。
你上面有两个for循环,外面那个是必要的,里面那个可以去掉,改成KK.contains(ExceDT.Rows[i][0].ToString())来判断。还有你第二个for循环的写法也是错的,有一个不同你就执行了么?应该是所有都不同才会执行。

C# datatable.select()报错:索引超出了数组界限
没有查询出该ID对应的数据,然后你用索引去取就会越界了 DataRow [] rows= o.Select("ID="+ID.ToString(), "");if (rows.Count() > 0){ var data = rows[0];var treeText = data["TreeText"].ToString();}

C#中怎么多datatable中某列中升序排列的数据按照指定的差值分组?
在 C# 中,你可以使用 LINQ 查询来实现这一目的。首先,你需要使用 OrderBy 方法将数据表中的数据按照指定的列升序排列。然后,你可以使用 GroupBy 方法将数据分组,按照指定的差值分组。例如,假设你有一个名为 dataTable 的数据表,其中包含一列名为 value 的数值数据,你想将这些数据按照每 5 个为...

相似回答