datatable的select()结果,怎么获取行号啊?

datarow[] dr=tb.select(string);
然后查出结果是一条记录,那怎么获取这个结果在哪个行呢?
(我目的就是操作查询结果所在那行的数据!有么有别的方法呢?)
当然,用循环可实现!但这对大的数据量,速度比较慢!
哪位高手请教我一下啊!
你们好像都没理解问题!
不需要操作数据库,只对datatable操作!
只对datatable操作!
只对datatable操作!
只对datatable操作!

第1个回答  推荐于2016-08-16

如果你只是要修改DataTable里的DataRow的话没有必要找到它的行号,直接在Select后得到的DataRow上修改就行了,它的修改会直接反映到DataTable上(其实就是直接修改了DataTable上的DataRow,这和数据库不一样不要弄混了),代码如下

  private void button1_Click(object sender, EventArgs e)

        {

            DataTable dataTable = new DataTable();

            dataTable.Columns.Add("ID");

            dataTable.Columns.Add("Name");

            for (int i = 1; i < 5; i++)

            {

                dataTable.Rows.Add(new object[] { i, i + 1000 });

            }

            DataRow[] dataRows = dataTable.Select("id > 2");

            for (int i = 0; i < dataRows.Length; i++)

            {

                dataRows[i].ItemArray = new object[] { i + 100, i + 5000 };

            }

        }

本回答被提问者采纳
第2个回答  2010-07-16
1楼回答的太那啥的。人家不一定看的懂。
我用的是oracle,给你举一个简单的例子。我要查询表A同时显示是第几列
select rownum,a.* from 表A a
这样你可以直接通过取rownum的值来获得行数
第3个回答  2010-07-16
row number
第4个回答  2010-07-16
数据库内应该有对应的ID
Select查询取出那个ID就知道了
在Datarow中就是Row Number
相似回答