Полагаю, одним из значений поля является null
, и вы вызываете метод Trim
для этого объекта null
, и он выдает ошибку.Выполните правильную проверку на ноль перед обращением к значениям.
string msg =string.empty;
while (reader.Read())
{
string fName=string.empty;
string lName=string.empty;
string fullName=string.empty;
if (!reader.IsDBNull(reader.GetOrdinal("FirstName")))
fName = reader.GetString(reader.GetOrdinal("FirstName"));
if (!reader.IsDBNull(reader.GetOrdinal("LastName")))
lName= reader.GetString(reader.GetOrdinal("LastName"));
fullName=fName.Trim()+ " "+lName.Trim();
msg = "Retrieval Successful";
}
РЕДАКТИРОВАТЬ: Всегда рекомендуется хранить порядковые индексы в переменной и использовать ее вместо вызова GetOrdinal
каждый развнутри цикла, особенно когда дело касается очень многих записей.Это увеличит скорость выполнения вашего кода.
int fNameLocation = reader.GetOrdinal("FirstName");
while (reader.Read())
{
string fName=string.empty;
string lName=string.empty;
string fullName=string.empty;
if (!reader.IsDBNull(fNameLocation))
fName = reader.GetString(fNameLocation );
//process Other fields
}