从Windows窗体应用程序中的数据库检索数据时出错

时间:2011-12-08 09:52:45

标签: database winforms

尝试从数据库中检索一些数据并将其放入我的表单中。代码

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和photo。

2 个答案:

答案 0 :(得分:1)

dataset.Tables["alertdetails"].Rows[0]["memberid"]
如果数据库中memberid的数据类型为int,则

为您提供整数值。 然后,在结尾处添加ToString()或将其转换为int。

示例:

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

答案 1 :(得分:0)

将其转换为int(32位整数),这是错误消息告诉您的。

检查' memberid'的类型数据库表中的列。据推测它是一个整数。