不能隐式转换类型'int'& # 39;字符串# 39;
本文关键字:转换 字符串 类型 int 不能 | 更新日期: 2023-09-27 18:04:43
我的代码:
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#的新手,上面的代码显示错误。有人能帮忙吗?
txtbankid.Text
属性类型为字符串。不要使用int.parse
。没有必要。只需:txtbankid.Text = j;
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);
}
}
int.Parse(..)
用于将包含数字的字符串转换为整数。您正试图在字符串上执行函数int.Parse(..)
,但随后将其分配给另一个字符串。这不起作用,因为int.Parse(..)
返回一个整数。在这里阅读有关Int32的信息。解析(String)方法
如果你想在赋值之前确保值是一个整数,我建议你使用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();
}