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

wg2586a0 2010-04-12 11:08:56
protected void ButAdd_Click(object sender, EventArgs e)//添加按钮
{
Model.Goods goods = new Model.Goods();
string GoodsType = DdlAddType.SelectedValue.ToString().Trim();//获取下拉列表框所选的类型名称
goods.TypeID = Convert.ToInt32(BLL.GoodsManager.getTypeId(GoodsType).Tables[0].Rows[0][0]);//将类型名 称传入getTypeId方法,获取TypeID
}
Goods是个商品类,它有个int型字段TypeID,TypeID与商品类型表tbl_type中的TypeID关联,在业务层BLL.GoodsManager类中有下面这个方法:

public static DataSet getTypeId(string GoodsType) //获取TypeID并返回一个dataset
{
string sql = "select id from tbl_type where type_name='" + GoodsType + "'";
DataSet ds = DAL.DBHelper.getDS(sql);
return ds;
}
为什么在点添加按钮后,编译器老是报错,无法将类型“int”隐式转换为“string”,错误的就是:
goods.TypeID = Convert.ToInt32(BLL.GoodsManager.getTypeId(GoodsType).Tables[0].Rows[0][0]);这句,
请大家帮忙看看啊,谢谢了。

...全文
401 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zengxianbing 2010-04-12
  • 打赏
  • 举报
回复
goods.TypeID = Convert.ToInt32(BLL.GoodsManager.getTypeId(GoodsType).Tables[0].Rows[0][0].ToString());
  • 打赏
  • 举报
回复
goods.TypeID = Convert.ToInt32(BLL.GoodsManager.getTypeId(GoodsType).Tables[0].Rows[0][0]).ToString();
linsheng0529 2010-04-12
  • 打赏
  • 举报
回复
支持,3楼和4楼的说法
浪子-无悔 2010-04-12
  • 打赏
  • 举报
回复
string GoodsType = DdlAddType.SelectedValue.ToString().Trim();//获取下拉列表框所选的类型名称
SelectedValue 这个本身就是INT 类型
getTypeId(GoodsType). 看看你这个方法传入的是不是INT 类型
如果是 就将上面
int GoodsType = DdlAddType.SelectedValue;
liuyileneal 2010-04-12
  • 打赏
  • 举报
回复
goods.TypeID = Convert.ToString(BLL.GoodsManager.getTypeId(GoodsType).Tables[0].Rows[0][0]);
很显然,goods.TypeID 是string类型的
njyang110 2010-04-12
  • 打赏
  • 举报
回复
无法将类型“int”隐式转换为“string”,
这个提示是哪个参数报的?
都有详细提示`你设个断点跟踪一下
明缘 2010-04-12
  • 打赏
  • 举报
回复
BLL.GoodsManager.getTypeId(GoodsType).Tables[0].Rows[0][0]
断点调试一下 这个部分 返回的类型,看看是不是 Object的。
krisviper 2010-04-12
  • 打赏
  • 举报
回复
goods.TypeID = Convert.ToInt32(BLL.GoodsManager.getTypeId(GoodsType).Tables[0].Rows[0][0].ToString());
lirenniao 2010-04-12
  • 打赏
  • 举报
回复
goods.TypeID = Convert.ToInt32(BLL.GoodsManager.getTypeId(GoodsType).Tables[0].Rows[0][0]["TypeID"].toString());//
Alden 2010-04-12
  • 打赏
  • 举报
回复
TypeID 类型是什么
int需要显式转化为string,对你这行代码中的int,使用Convert.ToString()
krisviper 2010-04-12
  • 打赏
  • 举报
回复
断点调试是个好习惯.

110,556

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧