在Access Query中获取行号

时间:2012-05-11 07:48:22

标签: c# ms-access

我如何获取与条件匹配的特定行的行号(或索引)?

示例:

如果我想选择:

SELECT * FROM tblAccount WHERE [Account ID] = 2343 LIMIT 0, 1

如何获取所选行的行号?

感谢。

2 个答案:

答案 0 :(得分:0)

行号不是SQL查询结果的属性,而不是键 - 但我想这不是你所追求的。如果在访问表中需要它,则必须在表中创建并维护它作为列。

将结果提取到DataTable后,您可以使用Select和IndexOf方法找到特定于DataTable的行号。

您能否提供有关您想要使用它的更多信息?

答案 1 :(得分:0)

查看下面的代码

OleDbConnection cn = new OleDbConnection();
OleDbCommand cmd = new OleDbCommand();
DataTable schemaTable; 
OleDbDataReader myReader; 

//Open a connection to the SQL Server Northwind database.
cn.ConnectionString = "Provider=SQLOLEDB;Data Source=server;User ID=login;
                       Password=password;Initial Catalog=Northwind";
cn.Open();

//Retrieve records from the Employees table into a DataReader.
cmd.Connection = cn;
cmd.CommandText = "SELECT * FROM tblAccount WHERE [Account ID] = 2343 LIMIT 0, 1";
myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo); 

//Retrieve column schema into a DataTable.
schemaTable = myReader.GetSchemaTable();
...

schemaTable会告诉您schemaTable.Column.Count之类的所有内容,以告知列号