0

这是我在运行时创建复选框的代码:

if (reader.HasRows)
            {
                while (reader.Read())
                {
                   CheckBox xb = new CheckBox();
                   xb.Text = reader["AnalysisGroup"].ToString();
                   xb.Name = reader["AnalysisGroup"].ToString();
                   xb.SetBounds(100,50, 200, 10);
                   panel1.Controls.Add(xb);                        
                }
            }

运行此代码时出现异常:

你调用的对象是空的。

为什么会这样?我确信读者有行,并且我测试了问题在于添加控制代码。

4

1 回答 1

2

myReader["AnalysisGroup"]可以为 null ,如下所示,

if (myReader["AnalysisGroup"] != DBNull.Value)
{
    string val = reader["AnalysisGroup"].ToString();
    CheckBox xb = new CheckBox();
    xb.Text = val;
    xb.Name = val;
    xb.SetBounds(100, 50, 200, 10);
    panel1.Controls.Add(xb);
}
于 2013-07-28T01:53:48.463 回答