nad nad - 1 month ago 9
ASP.NET (C#) Question

Input string was not in a correct format error not getting resolved

I am trying to get the

String
value in a list but getting error as


Input string was not in a correct format.


There are many helpful links available on the net but didn't resolved mine one.

Here is my code.

newRow["EXP_TYPE_ID"] = Convert.ToString(e.Record["EXP_TYPE"]);
newRow["EXP_TYPE"] = CF.ExecuteScaler("Select Type_desc from type_mst where Type_Code = 'PAR' and Type_Abbr ='" + Convert.ToString(e.Record["EXP_TYPE"]) + "'").ToString();


and
CF.ExecuteScaler


public string ExecuteScaler(string StrQuery)
{
DB.EConnection();
cmd = new OracleCommand(StrQuery, DB.conn);
cmd.Connection = DB.conn;
int val=Convert.ToInt32(cmd.ExecuteScalar());
DB.conn.Close();
string ret = val.ToString();
return ret;
}


Note I can't change Scaler function.

update

StrQuery = Select Type_desc from type_mst where Type_Code = 'PAR' and Type_Abbr ='PUR'


and the value of the query

PURCHASER

Answer

I believe the exception is thrown in the following line?

int val=Convert.ToInt32(cmd.ExecuteScalar());

As you have said, cmd.ExecuteScalar() returns value "PURCHASER", which then you are trying to convert into int. That is clearly not possible, and this is what the exception is saying.

Please try it like that:

public string ExecuteScaler(string StrQuery)
{
    DB.EConnection();
    cmd = new OracleCommand(StrQuery, DB.conn);
    cmd.Connection = DB.conn;
    string ret = Convert.ToString(cmd.ExecuteScalar());
    DB.conn.Close();
    return ret;
}
Comments