vs2005提示:
未处理NULLReferenceException
未将对象引用设置到对象的实例
提示代码(c#):
cn.Open();请问高手问题在哪里?

解决方案 »

  1.   

    补充:
    部分代码如下:
            public BookItem()
            {
                strConn = ConfigurationManager.ConnectionStrings["LibraryConnectionString"].ConnectionString;
                cn = new SqlConnection(strConn);
            }
            public BookItem(string bookID, string titleID)
            {
                this.bookID = bookID;
                this.state = "馆内";
                this.titleID = titleID;
            }        //根据图书条码查找
            public int FindByBookID(string bookID)
            {
                try
                {
                    cn.Open();//提示错误的地方
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = cn;
                    cmd.CommandText = "select * from bookItem where bookID = '" + bookID + "'";
                    SqlDataReader dr = cmd.ExecuteReader();
                    if (dr.Read())
                    {
                        this.bookID = bookID;
                        this.titleID = dr[1].ToString();
                        this.state = dr[2].ToString();
                        dr.Close();
                        cn.Close();
                        return 1;
                    }
                    else
                    {
                        dr.Close();
                        cn.Close();
                        return 0;
                    }
                }
                catch (SqlException ex)
                {
                    //System.Diagnostics.Debug.Print(ex.Message);
                    cn.Close();
                    return 0;
                }
             }
      

  2.   

    1.你看一下ConfigurationManager.ConnectionStrings["LibraryConnectionString"].ConnectionString,配置节中的连接字符串是否能正确连接上你想要连接的数据库。
    2.看看cn这个对象定义的位置,应该定义在这个类里面。
    3.单步调试一下你的程序,在你觉得有问题的地方设置断点。
      

  3.   

    在配置文件中 ,检查 LibraryConnectionString 的字符串。
      

  4.   

    估计是你的Connection对象,没有实例化吧。
      

  5.   

    在此处断点strConn = ConfigurationManager.ConnectionStrings["LibraryConnectionString"].ConnectionString;
    看看你这里的strConn是不是空的(把鼠标移至strConn上就会显示他的值)
      

  6.   


    断点打在这句上 strConn = ConfigurationManager.ConnectionStrings["LibraryConnectionString"].ConnectionString;
      

  7.   

    程序的原因,你可以检查一下是否是空指针,(没有实例化一个对象就开始使用了)
    也有可能是VS2005开发环境本身的原因,像sql server2005/VS2005之类的软件本身也有一些没有测试到的bug,或者配置文件错误引起的问题,也会有这种错误,我都碰到过好多次了