输入字符串格式错误,无法解析

时间:2016-10-07 06:20:33

标签: c# asp.net

我试图在列表中获取String值,但收到错误

  

输入字符串的格式不正确。

网上有很多有用的链接,但我的解决方案没有解决。

这是我的代码。

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();

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;
}

注意我无法更改Scaler功能。

更新

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

和查询的值

买方

1 个答案:

答案 0 :(得分:1)

我相信异常会在以下行中抛出?

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

正如您所说,cmd.ExecuteScalar()返回值"PURCHASER",然后您尝试转换为int。这显然是不可能的,这就是例外所说的。

请这样试试:

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;
}