错误: 
未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。 源错误: 
行 12:        public DataBase() 
行 13:        { 
行 14:            this._connectionString = "Server=(local);uid=sa;pwd=chen;database=BBS";  
行 15:        } 
行 16: 
源文件: C:\Documents and Settings\Administrator\桌面\CLBBS\CLBBS\DAL\DataBase.cs    行: 14 堆栈跟踪: 
[NullReferenceException: 未将对象引用设置到对象的实例。] 
  DAL.DataBase..ctor() in C:\Documents and Settings\Administrator\桌面\CLBBS\CLBBS\DAL\DataBase.cs:14 
  DAL.UserInfo..ctor() in C:\Documents and Settings\Administrator\桌面\CLBBS\CLBBS\DAL\UserInfo.cs:10 
  BLL.UserInfo..ctor() in C:\Documents and Settings\Administrator\桌面\CLBBS\CLBBS\BLL\UserInfo.cs:10 BLL下的UserInfo: 
using System; 
using System.Collections.Generic; 
using System.Text; namespace BLL 

    public class UserInfo 
    { 
      
        DAL.UserInfo du = new DAL.UserInfo(); 
      
        public int ReRowCount(MODEL.UserInfo mu) 
        { 
          return du.ReRowCount(mu.UserName, mu.Pwd); 
        } 
    } 

DAL下的UserInfo: 
using System; 
using System.Collections.Generic; 
using System.Text; namespace DAL 

    public class UserInfo 
    { 
      
        DataBase db = new DataBase(); 
      
        public int ReRowCount(string UserName, string Pwd) 
        { 
            string strSQL = "select * from UserInfo where UserName='" + UserName + "' and Pwd = '" + Pwd + "'"; 
            return db.ReRowCount(strSQL); 
        } 
    } 

DAL下的DataBase: 
using System; 
using System.Data; 
using System.Configuration; 
using System.Web; 
using System.Data.SqlClient; namespace DAL 

    public class DataBase 
    { 
        private string _connectionString; 
        public DataBase() 
        { 
            this._connectionString = "Server=(local);uid=sa;pwd=chen;database=BBS";  
        }         public SqlConnection GetConnection() 
        { 
            SqlConnection conn = new SqlConnection(this._connectionString); 
            conn.Open(); 
            return conn; 
        }         public int ReRowCount(string sql) 
        { 
            SqlConnection conn= GetConnection(); 
            SqlCommand cmd = new SqlCommand(sql, conn); 
            int count = Convert.ToInt32(cmd.ExecuteScalar()); 
            conn.Close(); 
            return count; 
        } 
    } 
      

解决方案 »

  1.   

    原因:(1)所设置的变量为空值或没有取到值,一般出现在传递参数的时候出现这个问题,也会在使用datagrid或gridview或datalist等数据控件时出现.(2)控件名称与codebehind里面的没有对应 (3)未用new初始化对象(4)在程序中所引用的控件不存在(5)在系统中安装有防火墙之类的东西,阻止运行所引用的控件.解决方法:
    (1)使用try..catch...finally捕捉错误,或直接用response.write()输出所取的变量值(2)查看代码中是否存在未初始化的变量你的原因应该是没有连接到数据库,检查用户名是否对,数据库是否有密码,SERVER好像应该是localhost吧,
      

  2.   

    this._connectionString = "Server=(local);uid=sa;pwd=chen;database=BBS";  
    这个没错啊。
    把int count = Convert.ToInt32(cmd.ExecuteScalar()); 修改一下看看。
    object obj = cmd.ExecuteScalar();
    int count = Convert.ToInt32(obj==null?"-1":obj);
      

  3.   

    源文件: C:\Documents and Settings\Administrator\桌面\CLBBS\CLBBS\DAL\DataBase.cs 你的文件在哪儿放的呢?虚拟目录这些都建立了没有?怎么在桌面上放的呀!