0

我的 3 层架构有问题。由于从 object 到 Int 的隐式转换,我似乎无法计算玩家的数量。

下拉列表

protected void ddlManufacturer_SelectedIndexChanged(object sender, EventArgs e)
{
    BLLPlayer playerBLL = new BLLPlayer();

 Label1.Text =  playerBLL.countPlayer(Convert.ToInt32(ddlManufacturer.SelectedValue)).ToString();
}

BL播放器

public int countPlayer (int ManufacturerID)
   {

   return Adapter.ScalarQuery(ManufacturerID);

   }

错误

在此处输入图像描述

4

4 回答 4

2

如果 ScalarQuery 在后台返回 int 则:

return (int)Adapter.ScalarQuery(ManufacturerID);

但它可能会返回一个字符串,所以你需要

return Convert.ToInt32(Adapter.ScalarQuery(ManufacturerID));
于 2012-07-22T16:00:13.863 回答
0

试试这个:

  return (int)Adapter.ScalarQuery(ManufacturerID);

或这个:

  public object countPlayer (int ManufacturerID)
于 2012-07-22T16:01:23.633 回答
0

请转换 Adapter.ScalarQuery(ManufacturerID); 到 int

于 2012-07-22T16:02:27.373 回答
0
return Convert.ToInt32(Adapter.ScalarQuery(ManufacturerID));

或者

int playerCount=0;

var success=Int32.TryParse(Adapter.ScalarQuery(ManufacturerID), ref playerCount);

if(success)
return playerCount;
else
//handle when parsing failed
于 2012-07-22T16:02:58.250 回答