SqlDataReader.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 ordinal kolom, 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.
Penerapan
Pengecualian
Nama yang ditentukan bukan nama kolom yang valid.
Contoh
Contoh berikut menunjukkan cara menggunakan GetOrdinal metode .
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
string str = "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
ReadGetOrdinal(str);
}
private static void ReadGetOrdinal(string connectionString)
{
string queryString = "SELECT DISTINCT CustomerID FROM dbo.Orders;";
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlCommand command =
new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// Call GetOrdinal and assign value to variable.
int customerID = reader.GetOrdinal("CustomerID");
// Use variable with GetString inside of loop.
while (reader.Read())
{
Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
}
// Call Close when done reading.
reader.Close();
}
}
}
Keterangan
GetOrdinal
melakukan pencarian peka huruf besar/kecil terlebih dahulu. Jika gagal, pencarian kedua yang tidak peka huruf besar/kecil terjadi (perbandingan tidak peka huruf besar/kecil dilakukan menggunakan kolaterasi database). Hasil yang tidak terduga dapat terjadi ketika perbandingan dipengaruhi oleh aturan casing khusus budaya. Misalnya, dalam bahasa Turki, contoh berikut menghasilkan hasil yang salah karena sistem file dalam bahasa Turki tidak menggunakan aturan casing linguistik untuk huruf 'i' dalam "file". Metode ini memberikan IndexOutOfRange
pengecualian jika ordinal kolom berbasis nol tidak ditemukan.
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
sekali dan menetapkan hasil ke variabel bilangan bulat untuk digunakan dalam perulangan.