DataTableReader.GetOrdinal(String) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan kolom ordinal, dengan nama kolom.
public:
override int GetOrdinal(System::String ^ name);
public override int GetOrdinal (string name);
override this.GetOrdinal : string -> int
Public Overrides Function GetOrdinal (name As String) As Integer
Parameter
- name
- String
Nama kolom.
Mengembalikan
Ordinal kolom berbasis nol.
Pengecualian
Upaya dilakukan untuk membaca atau mengakses kolom dalam keadaan tertutup DataTableReader.
Nama yang ditentukan bukan nama kolom yang valid.
Contoh
Jika Anda hanya memiliki nama kolom, dalam hal ini nama kolom disediakan pengguna, dan Anda harus mengambil informasi dari kolom, Anda bisa menggunakan prosedur seperti berikut ini untuk mengekstrak informasi yang diperlukan. Dalam contoh ini, prosedur menerima nama kolom dan mengembalikan data yang terkandung dalam kolom tersebut untuk baris saat ini di DataTableReader :
private static object GetValueByName(
DataTableReader reader, string columnName)
{
// Consider when to use a procedure like this one carefully:
// if you're going to retrieve information from a column
// in a loop, it would be better to retrieve the column
// ordinal once, store the value, and use the methods
// of the DataTableReader class directly.
object columnValue;
try
{
int columnOrdinal = reader.GetOrdinal(columnName);
columnValue = reader.GetValue(columnOrdinal);
}
catch (ArgumentException ex)
{
// Throw all other errors back out to the caller.
columnValue = null;
}
return columnValue;
}
Private Function GetValueByName( _
ByVal reader As DataTableReader, _
ByVal columnName As String) As Object
' Consider when to use a procedure like this one carefully:
' If you're going to retrieve information from a column
' in a loop, it would be better to retrieve the column
' ordinal once, store the value, and use the methods
' of the DataTableReader class directly.
Dim columnValue As Object
Try
Dim columnOrdinal As Integer = reader.GetOrdinal(columnName)
columnValue = reader.GetValue(columnOrdinal)
Catch ex As ArgumentException
' Throw all other errors back out to the caller.
columnValue = Nothing
End Try
Return columnValue
End Function
Keterangan
Karena sebagian besar metode yang disediakan oleh DataTableReader kelas harus disediakan dengan nomor kolom ordinal, Anda dapat menggunakan GetOrdinal
metode untuk mengambil nomor kolom, dengan nama kolom.
GetOrdinal
melakukan pencarian peka huruf besar/kecil terlebih dahulu. Jika gagal, pencarian tidak peka huruf besar/kecil kedua akan dilakukan. Jika nomor kolom tidak ditemukan, IndexOutOfRangeException
maka akan dilemparkan.
GetOrdinal
tidak peka lebar kana.
Karena pencarian berbasis ordinal lebih efisien daripada pencarian bernama, tidak efisien untuk memanggil GetOrdinal
dalam perulangan. Hemat waktu dengan memanggil GetOrdinal
satu kali dan menetapkan hasil ke variabel bilangan bulat untuk digunakan dalam perulangan