当前位置:编程学习 > C#/ASP.NET >>

未将对象引用设置到对象的实例。 帮忙看看

19”应用程序中的服务器错误。
--------------------------------------------------------------------------------

未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误: 


行 19:         string logpwd = pwd.Text;
行 20:         // Response.Write(lognam+logpwd);
行 21:         string str = sb.dscmdlogin(lognam, logpwd);
行 22:         if (str != "success")
行 23:         {
 

源文件: h:\网站\index\login.aspx.cs    行: 21 

堆栈跟踪: 


[NullReferenceException: 未将对象引用设置到对象的实例。]
   Buesiness.dscmdlogin(String lognam, String logpwd) +126
   login.btn_click(Object sender, EventArgs e) in h:\网站\index\login.aspx.cs:21
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +104
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5612

 


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42 



#################################原文件
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class login : System.Web.UI.Page
{
    protected void btn_click(object sender, EventArgs e)
    {
        Buesiness sb = new Buesiness();
        string lognam = usn.Text;
        string logpwd = pwd.Text;
        // Response.Write(lognam+logpwd);
     string str = sb.dscmdlogin(lognam, logpwd);
        if (str != "success")
        {
            Response.Write("D");
        }
        else
        {
            Response.Write("C");
        }
    }
}

################################逻辑层
    public string dscmdlogin(string lognam, string logpwd)
    {
        buesiness bs=new buesiness();
        string sql = "select * from [usr_table] where usr_name='" + lognam + "' and usr_pwd='" + logpwd + "'";

        DataSet ds2=db.Dataset1(sql);
        int cont = ds2.Tables[0].DefaultView.Count;//判断用户是否存在
        if (cont <= 0)
        {
            return "fail";
        }
        else if (cont > 1)
        {
            return "fail";
        }
        else
        {
            return "success";
        }
    }

--------------------编程问答-------------------- dscmdlogin 这个函数是在dll中? 
估计是这两句中的某一句: 
        DataSet ds2=db.Dataset1(sql); 
        int cont = ds2.Tables[0].DefaultView.Count;//判断用户是否存在 

我估计你的SELECT 语句没有查到数据. --------------------编程问答-------------------- 是没查到,而且数据库里的字段类型也有问题
         
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,