2011-12-08 22 views
1

データベースからデータを取得して自分のフォームに挿入しようとしました。コードはWindowsフォームアプリケーションでデータベースからデータを取得中にエラーが発生しました

notificationList.Add(new notificationForm(
      (String)dataset.Tables["alertdetails"].Rows[0]["memberName"], 
      (String)dataset.Tables["alertdetails"].Rows[0]["locationName"], 
      (String)dataset.Tables["alertdetails"].Rows[0]["photo"], 
      "", 
      (String)dataset.Tables["alertdetails"].Rows[0]["memberid"], 
      "", 
      "", x, y, alertId)); 

を行く私のnotificationFormの引数が

public notificationForm(String name, String location, String imageExtension, 
         String alertType,String memberid,String date,String time, 
         int x,int y,String alertid) 

でエラーが型のオブジェクトをキャストすることができません

を行く '可能System.Int32' '可能System.String' を入力します。

私はmemberidを取得します。誰もそれを修正する方法を知っていますか?それはmemberName、locationNameと写真のためにうまくいきます。

答えて

1
dataset.Tables["alertdetails"].Rows[0]["memberid"] 

データベースのデータ型がmemberidの場合、整数値を返します。 最後にToString()を追加するか、intにキャストしてください。

例:

dataset.Tables["alertdetails"].Rows[0]["memberid"].ToString() 
         OR 
Convert.ToInt32(dataset.Tables["alertdetails"].Rows[0]["memberid"]) 
+0

はあなたに感謝します。できます! – Thomas

0

int(32ビット整数)にキャストします。これはエラーメッセージに表示される内容です。

データベーステーブルの 'memberid'列のタイプを確認してください。おそらくそれは整数です。

関連する問題