[c#] How to get data by SqlDataReader.GetValue by column name

I use SqlDataReader.GetValue method to read values from DB:

Log.WriteLine("Value of CompanyName column:" + thisReader.GetValue(1)); 

As parameter GetValue get index of column. How could I specify Column Name instead index?

This question is related to c# sql

The answer is


You can also do this.

//find the index of the CompanyName column
int columnIndex = thisReader.GetOrdinal("CompanyName"); 
//Get the value of the column. Will throw if the value is null.
string companyName = thisReader.GetString(columnIndex);

thisReader.GetString(int columnIndex)