动态创建复选框时出现异常

时间:2013-07-28 01:43:24

标签: c# nullreferenceexception

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

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

运行此代码时出现异常:

  

对象引用未设置为对象的实例。

为什么会这样?我确信读者有行,我测试的问题是添加控制代码。

1 个答案:

答案 0 :(得分: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);
}