Tusd = decimal.Parse(drTExp.GetValue(0).ToString());
Here You are getting this error because when compiler try to convert drTExp.GetValue(0).ToString() to decimal its getting wrong string format.
This happens when your string is empty or null or its not containing any decimal value.
Here you can avoid this by checking for the string before you do the conversation.And use Convert.ToString() instead of .ToString()
Tusd = !string.IsNullOrEmpty(Convert.ToString(drTExp.GetValue(0)))
?
decimal.Parse(Convert.ToString(drTExp.GetValue(0)))
:
0;