IDataRecord.GetOrdinal(String) 方法
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回已命名字段的索引。
public:
int GetOrdinal(System::String ^ name);
C#
public int GetOrdinal(string name);
abstract member GetOrdinal : string -> int
Public Function GetOrdinal (name As String) As Integer
- name
- String
要查找的字段的名称。
已命名字段的索引。
下面的示例演示如何使用继承 GetOrdinal 的方法。
C#
public static void ReadData(string connectionString)
{
string queryString = "SELECT DISTINCT CustomerID FROM Orders";
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
OdbcCommand command = new OdbcCommand(queryString, connection);
connection.Open();
OdbcDataReader reader = command.ExecuteReader();
int customerID = reader.GetOrdinal("CustomerID");
while (reader.Read())
{
Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
}
// Call Close when done reading.
reader.Close();
}
}
Public Sub ReadData(ByVal connectionString As String)
Dim queryString As String = "SELECT DISTINCT CustomerID FROM Orders"
Using connection As New OdbcConnection(connectionString)
Dim command As New OdbcCommand(queryString, connection)
connection.Open()
Dim reader As OdbcDataReader = command.ExecuteReader()
Dim customerID As Integer = reader.GetOrdinal("CustomerID")
While reader.Read()
Console.WriteLine("CustomerID={0}", reader.GetString(customerID))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
GetOrdinal
首先执行区分大小写的查找。 如果失败,则进行第二次不区分大小写的搜索。
GetOrdinal
不区分假名宽度。 如果未找到命名字段的索引, IndexOutOfRangeException
则会引发 。
因为基于序号的查找比命名查找更高效,因此在循环内调用 GetOrdinal
效率低下。 通过调用 GetOrdinal
一次并将结果分配给整数变量以在循环中使用来节省时间。
产品 | 版本 |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |