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

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

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

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

源错误:

行 20: string userName = StrHelper.ConvertSql(UserName.Text.ToString());
行 21: string userPwd = StrHelper.EncryptPassword(PassWord.Text.ToString(), StrHelper.PasswordType.MD5);
行 22: if (bs.isLoginValidate(userName, userPwd))
行 23: {
行 24:

源文件: d:\wgm\vs\text\web\Login.aspx.cs 行: 22

堆栈跟踪:

[NullReferenceException: 未将对象引用设置到对象的实例。]
Leyp.SQLServerDAL.UserDAL.isExistsUserName(String UserName) in C:\Users\yuqin\Desktop\Leyipai\SQLServerDAL\UserDAL.cs:181
Leyp.SQLServerDAL.UserDAL.isLoginValidate(String UserName, String PassWord) in C:\Users\yuqin\Desktop\Leyipai\SQLServerDAL\UserDAL.cs:207
Login.LoginButton_Click(Object sender, ImageClickEventArgs e) in d:\wgm\vs\text\web\Login.aspx.cs:22
System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +115
System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) +120
System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563

#**_在这里分享一下我这问题的原因:是因为我的数据库表不全。希望能帮到后来人。_**#

你对象实例化了么?创建对象了么?

可能是值得问题,断点调试下

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



系统登陆
    <link rel="stylesheet" type="text/css" href="css/Login.css"/>

<SCRIPT src="js/jquery.js" type=text/javascript></SCRIPT>
<SCRIPT src="js/jquery-cookieplug.js" type=text/javascript></SCRIPT>

TABLE {<br> FONT-SIZE: 12px; COLOR: #333333; LINE-HEIGHT: 150%; FONT-FAMILY: &quot;宋体&quot;<br> }<br> BODY {<br> MARGIN: 0px<br> }<br>


用户:51aspx 
密码:
 
 
广州乐易拍有限公司版权所有 2008-2009
请使用IE6.0 SP1以上浏览器,最佳显示分辨率1024×768
</form>


我是在看别人提供的代码,在仿写练习时碰到这个问题,说实话,我都不知道应该怎么问

aspx页代码:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



系统登陆
    <link rel="stylesheet" type="text/css" href="css/Login.css"/>

<SCRIPT src="js/jquery.js" type=text/javascript></SCRIPT>
<SCRIPT src="js/jquery-cookieplug.js" type=text/javascript></SCRIPT>

TABLE {<br> FONT-SIZE: 12px; COLOR: #333333; LINE-HEIGHT: 150%; FONT-FAMILY: &quot;宋体&quot;<br> }<br> BODY {<br> MARGIN: 0px<br> }<br>


用户:51aspx 
密码:
 
 
广州乐易拍有限公司版权所有 2008-2009
请使用IE6.0 SP1以上浏览器,最佳显示分辨率1024×768
</form>



我都是仿它的,在它的原程序里,可以运行,换我自己这样一页一页抄过来,就不行

调试,一行一行的检查,看什么对象为null了。如果对象为null在它的实例上调方法或者访问属性都会引发空指针异常..

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>系统登陆</title>

        <link rel="stylesheet" type="text/css" href="css/Login.css"/>

    <SCRIPT src="js/jquery.js" type=text/javascript></SCRIPT>
    <SCRIPT src="js/jquery-cookieplug.js" type=text/javascript></SCRIPT>
  <STYLE type=text/css>TABLE {
    FONT-SIZE: 12px; COLOR: #333333; LINE-HEIGHT: 150%; FONT-FAMILY: "宋体"
}
BODY {
    MARGIN: 0px
}
</STYLE>
</head>
<body leftMargin=0 background=images/bg.gif topMargin=0>
    <form id="form1" runat="server">

<DIV align=center>
<!--5-1-A-s-p-X--->
<TABLE cellSpacing=0 cellPadding=0 width=913 border=0>
  <TBODY>
  <TR>
    <TD width=461 style="height: 465px" valign="top">
      <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
        <TBODY>
        <TR>
          <TD>
            <DIV align=left><IMG height=80 src="images/log_mykd_n.gif" 
            width=212></DIV></TD></TR>
        <TR>
          <TD><IMG height=110 src="images/ren1_n.gif" 
        width=461></TD></TR>
        <TR>
          <TD><IMG height=230 src="images/ren2.jpg" 
        width=461></TD></TR></TBODY></TABLE></TD>
    <TD vAlign=top style="height: 465px">
      <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
        <TBODY>
        <TR>
          <TD vAlign=bottom height=190><IMG height=32 
            src="images/pic_text.gif" width=381></TD></TR></TBODY></TABLE>
      <TABLE  cellSpacing=0 cellPadding=0 width="100%"  border=0>
        <TBODY>
        <TR>
          <TD vAlign=top background=images/con1.gif>
            <TABLE style="MARGIN-TOP: 37px; MARGIN-LEFT: 8px" cellSpacing=0 
            cellPadding=0 width="100%" border=0>
              <TBODY>
              <TR>
                <TD><IMG height=34 src="images/pic_text_login.gif" 
                  width=253></TD></TR>
              <TR>
                <TD>
                  <TABLE style="MARGIN-TOP: 10px; width: 379px;" cellSpacing=0 cellPadding=0 border=0>
                    <TBODY>
                    <TR>
                      <TD noWrap style="width: 38px">
                          用户:</TD>
                      <TD style="width: 155px"><LABEL>
                          <asp:TextBox ID="UserName" runat="server"  Width="101px">51aspx</asp:TextBox>&nbsp;<asp:RequiredFieldValidator
                              ID="RequiredFieldValidator1" runat="server" ControlToValidate="UserName" ErrorMessage='<img src="images/false.gif">'></asp:RequiredFieldValidator></LABEL></TD></TR>
                    <TR style="PADDING-TOP: 5px">
                      <TD style="width: 38px">
                          密码:</TD>
                      <TD style="width: 155px"><LABEL>
                          <asp:TextBox ID="PassWord" runat="server" Text="123" TextMode="Password" Width="101px"></asp:TextBox>
                          <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="PassWord"
                              ErrorMessage='<img src="images/false.gif">'></asp:RequiredFieldValidator></LABEL></TD></TR>
                    <TR style="PADDING-TOP: 5px">
                      <TD style="width: 38px">&nbsp;</TD>
                      <TD style="width: 155px">
                        <TABLE cellSpacing=0 cellPadding=0 width="100%" 
border=0>
                          <TBODY>
                          <TR>
                            <TD>
                              <DIV align=left>
                                  &nbsp;<asp:ImageButton ID="LoginButton" runat="server" ImageUrl="images/but1.gif"
                                      OnClick="LoginButton_Click" /></DIV></TD></TR>
                          <TR>
                            <TD>
                              <DIV align=left><IMG height=18 
                              src="images/but1_y.gif" 
                            width=83></DIV></TD></TR>
                          <TR>
                            <TD>
                              </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
          <TD width=22><IMG height=229 src="images/con2.gif" 
            width=22></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=913 align=center border=0>
  <TBODY>
  <TR>
    <TD style="PADDING-BOTTOM: 10px" vAlign=bottom height=180>
      </TD></TR></TBODY></TABLE>




</DIV>

    </form>



</body>
</html>

 using System;
using System.Web.UI;
using Leyp.Components;
using Leyp.Model.View;
using Leyp.SQLServerDAL;
using Leyp.Components.Module;


public partial class Login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {


    }
    protected void LoginButton_Click(object sender, ImageClickEventArgs e)
    {

            UserDAL bs = new UserDAL();
            string userName = StrHelper.ConvertSql(UserName.Text.ToString());
            string userPwd = StrHelper.EncryptPassword(PassWord.Text.ToString(), StrHelper.PasswordType.MD5);
            if(bs.isLoginValidate (userName,userPwd))
            {

               Leyp.Model.User s=bs.getByUserName(userName);
               SessionUser ss = new SessionUser();
               ss.UserName = s.UserName;
               ss.TypeID = s.TypeID;
               ss.SubClassID = s.SubClassID;
               ss.GroupID = s.GroupID;
               Leyp.Components.Module.BaseLogin.SetSession(ss);//保存Session
               new BasePage().addSystemLog("登录进入系统");
               Response.Redirect("Index.aspx");

            }
           else{  


                Jscript.AjaxAlert(this,"登录失败!请检查用户名和密码");
                return ;
            }

    }
}

图片说明

看bs是否有isLoginValidate的方法和userName和userPwd的值

Leyp.SQLServerDAL.UserDAL.isExistsUserName(String UserName) in C:\Users\yuqin\Desktop\Leyipai\SQLServerDAL\UserDAL.cs:181

这个代码贴出来,181行,肯定是使用了null值的变量,如存储null的变量调用ToString之类的方法

各位前辈,这个问题我自己已经解决。查找出来的原因让我羞愧,是数据库问题。因为我是在学习C#,所以对原程序进行仿写,同时也仿写他的数据库

仿写数据库是,只是把我自认为这页面会用到的数据库表仿写过来,结果因为数据库没仿写完全,引用这个问题。

谢谢各位的帮助!