无法将类型'int'隐式转换为'string'

时间:2011-08-08 13:11:19

标签: c#

我的代码:

public void FillMaxBankCode()
{
    try
    {
        DataSet ds = new DataSet();
        ds = bol.SelectMaxBankCode();
        string j = ds.Tables[0].Rows[0].ToString();
        txtbankid.Text = int.Parse(j); //ERROR HERE
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}



  public DataSet SelectMaxBankCode()
    {
        try
        {
            **Squery = "EXEC SelectMaxBankCode";**
            return dal.DBread(Squery);
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

我是C#的新手,上面的代码显示错误..有人可以帮忙吗?

4 个答案:

答案 0 :(得分:5)

txtbankid.Text属性类型是一个字符串。不要使用int.parse。没有必要。只需:txtbankid.Text = j;

答案 1 :(得分:0)

public void FillMaxBankCode()
        {
            try
            {
                DataSet ds = new DataSet();
                ds = bol.SelectMaxBankCode();
                string j = ds.Tables[0].Rows[0].ToString();
                txtbankid.Text = j;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

答案 2 :(得分:0)

int.Parse(..)用于将包含数字的字符串转换为整数。您正尝试对字符串执行函数int.Parse(..),然后将其分配给另一个字符串。这不起作用,因为int.Parse(..)返回整数。请在此处阅读Int32.Parse (String) method

答案 3 :(得分:0)

如果你想在分配之前确保该值是整数,我建议你使用TryParse

// check if the table and row exists
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
    string j = ds.Tables[0].Rows[0].ToString();
    int value = 0;
    if (int.TryParse(j, out value))
        txtbankid.Text = value.ToString();
}