entuser。User_Name.Value = 'entuser.User_Name.Value' 引发类型为 'System.Data.SqlTypes.SqlNullValueExcep



目前我正在处理一个项目,但我遇到了这种类型的错误。我执行了这个过程,并在调试模式下将数据传递到实体文件,但当我返回到aspx页面时,我得到了这个null异常。我该如何解决。有人帮我吗?。

UserDAL文件

这是一个过程

public UserENT PR_IP_User_LoginUser(SqlInt32 UserID)
{
using (SqlConnection objconn = new SqlConnection(ConnectionString))
{
objconn.Open();
using (SqlCommand objcmd = objconn.CreateCommand())
{
try
{
#region Prepaed Command
objcmd.CommandType = CommandType.StoredProcedure;
objcmd.CommandText = "PR_IP_User_LoginUser";
objcmd.Parameters.AddWithValue("@UserID", UserID);
#endregion
UserENT entuser = new UserENT();
#region Read and set controls
using (SqlDataReader objSDR = objcmd.ExecuteReader())
{
while (objSDR.Read())
{
if (!objSDR["User_Name"].Equals(DBNull.Value))
{
entuser.User_Name = Convert.ToString(objSDR["User_Name"].ToString().Trim());
}
if (!objSDR["Password"].Equals(DBNull.Value))
{
entuser.Password = Convert.ToString(objSDR["Password"].ToString().Trim());
}
if (!objSDR["User_ID"].Equals(DBNull.Value))
{
entuser.User_ID = Convert.ToInt32(objSDR["User_ID"]);
}
if (!objSDR["ContactNo"].Equals(DBNull.Value))
{
entuser.ContactNo = Convert.ToString(objSDR["ContactNo"]);
}
if (!objSDR["Email_ID"].Equals(DBNull.Value))
{
entuser.Email_ID = Convert.ToString(objSDR["Email_ID"]);
}
if (!objSDR["Is_Admin"].Equals(DBNull.Value))
{
entuser.Is_Admin = Convert.ToBoolean(objSDR["Is_Admin"]);
}
}
return entuser;
}
#endregion
}
catch (Exception e)
{
Message = e.InnerException.Message;
return null;
}
finally
{
objconn.Close();
}
}
}
}
#endregion

在客户端,或者可以说aspx页面

按钮点击事件

protected void btnLogin_Click(object sender, EventArgs e)
{ 
#region Server Side Validation
String strerr = "";
if (txtusername.Text.Trim() == "")
{
strerr += "Enter UserName";
}
if (txtpassword.Text.Trim() == "")
{
strerr += "Enter Password";
}
if (strerr != "")
{
lblMessage.EnableViewState = true;
lblMessage.Text = strerr;
}
#endregion
#region Gather Data
SqlString Username, userpass;
if (txtusername.Text.Trim() != "")
{
Username = txtusername.Text.Trim();
}
if (txtpassword.Text.Trim() != "")
{
userpass = txtusername.Text.Trim();
}
#endregion
UserBAL baluser = new UserBAL();
UserENT entuser = new UserENT();
SqlInt32 UserID_Res;
SqlString User_name_res, User_Password_res;
SqlInt32 userid = Convert.ToInt32(txtuserid.Text.Trim());
if (Request.QueryString["User_ID"] == null)
{
if (baluser.Login(userid) != null)
{
User_name_res = entuser.User_Name.Value.ToString().Trim();
UserID_Res = Convert.ToInt32(entuser.User_ID.Value);
User_Password_res = entuser.Password.Value.ToString().Trim();
if (User_name_res == txtusername.Text.Trim() || User_Password_res == txtpassword.Text.Trim())
{
Response.Redirect("AddSubject.aspx");
}
else
{
Response.Redirect("AddTopic.aspx");
}
}
}

#endregion

与"相关联的C#代码;。aspx";页面(或代码隐藏(在服务器端执行。

我假设UserBAL.Login((函数在登录后返回用户的数据。可能需要获取返回的对象。

按钮点击事件:

protected void btnLogin_Click(object sender, EventArgs e)
{
...

UserENT entuser = baluser.Login(userid);
if (entuser  != null)
{
...

感谢每一位帮助我解决错误的人。现在我解决了我的错误。i只需通过数据获取和检查程序中的数据并返回布尔值。再次感谢:(

相关内容

最新更新