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

BLLPlayer

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); をキャストしてください。整数に

于 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 に答える