Эй, ребята, у меня есть это странное исключение приведения, хотя мои типы данных верны в БД:
string sql =
string.Format(
@"select aim_network_id,aim_network_name,oxinetwork_id,pack_id,pack_name,p_face_value,pm_prefix from Operator where aim_network_id='{0}'",
gridbackOffice["aim_network_id", gridbackOffice.CurrentCell.RowIndex].Value);
OleDbCommand getSelectedGridDatecmd = new OleDbCommand(sql, conn);
OleDbDataReader reader = getSelectedGridDatecmd.ExecuteReader();
while (reader.Read())
{
txtAimNetworkID.Text = reader.GetString(0);
txtAimNetworkName.Text = reader.GetString(1);
txtPARNetworkID.Text = reader.GetString(2);
txtPARFaceValue.Text = reader["p_face_value"].ToString();
//in above line if i'm doing this `reader.GetString(5)` then i'm getting specified cast exception and that to randomly i.e some time it works fine and suddenly sometime gives this exception
txtPARPackID.Text = reader.GetString(3);
txtPARPackName.Text = reader.GetString(4);
txtPARPMPrefix.Text = reader["pm_prefix"].ToString();
}
Я немного запутался, если я использую это reader["p_face_value"].ToString()
, тогда мой код работает очень гладко, но в чем проблема с использованием этого reader.GetString(5)
, по моему мнению, оба метода возвращают строку, никто не сталкивался с этой ошибкой b4?
.... Ошибка в 4-й и 7-й строке цикла while.
Исключение : указанное приведение недействительно (InvalidCastException необработанное)