各位看看我三层结构调用Model业务实体类,在一个页面怎样使用Model两次,结果出错!郁闷,今天发现没分了,全部加上

anna10 2008-10-28 10:54:23
我写的三层结构:
首先判断用户是否存在,不存在就添加进去,存在就提示不能添加
两个if语句一起执行数据就不能添加进去,一个一个if语句测试(把另外一个注释)就是没问题。
问题1:Model在一个页面是不是不能使用两次?
问题1:怎样解决这个问题啊

UserBLL userBLL = new UserBLL(); 
User user = new User();//实例化业务实体

user.UserId = this.txtUserId.Text.ToString().Trim();
myUser.UserName = this.txtUserName.Text.ToString().Trim();
myUser.UserPwd = this.txtUserPwd.Text.ToString().Trim();

if (userBLL.CheckUeer(user)) //检查用户ID是否存在
{
if (userBLL.AddUser(User)) //保存该用户
{
Response.Write("<script>alert('保存成功!')</script>");
}
else
{
Response.Write("<script>alert('保存过程出现错误,请重试!')</script>");
}
}
else
{
Response.Write("<script>alert('用户ID已经存在,请重新输入!')</script>");
}
...全文
262 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
anna10 2008-10-28
  • 打赏
  • 举报
回复
我也是觉得dr产生的影响,
jimu8130 2008-10-28
  • 打赏
  • 举报
回复
外面这些代码应该没问题吧,我猜测可能是sqlhelper的问题,建议lz好好单步调试下,是不是sqlhelper中的调用完后资源没有释放掉?
careful 2008-10-28
  • 打赏
  • 举报
回复
sqlHelper.RunSQL(sql, paramList, out dr);
这句执行后检查下dr看看
anna10 2008-10-28
  • 打赏
  • 举报
回复
那个应该没问题,true,false只是判断是否添加成功返回操作用户,我直接到数据库里没看没有数据

yue911ok 2008-10-28
  • 打赏
  • 举报
回复
错误应该在这里:
BLL

C# codeUserDAO userDAO = new UserDAO();

public bool CheckUser(UserInfo user)
{
return userDAO.CheckUser(user);
}

public bool AddUser(UserInfo user)
{
if (userDAO.AddUser(user) > 0)
{
return false;
}
else
{
return true;
}
}
anna10 2008-10-28
  • 打赏
  • 举报
回复
真的郁闷,单个功能测试也没问题,可以单独检查用户存在是否;不判断就可以直接增加用户,
careful 2008-10-28
  • 打赏
  • 举报
回复
加断点,单步走一下肯定能找出问题,7楼说的对,肯定是不经意的小错误,只有你自己仔细找找就找到了
anna10 2008-10-28
  • 打赏
  • 举报
回复
实体类我重新写了
UI
UserBLL userBLL = new UserBLL(); 
UserInfo user =new UserInfo();//实例化业务实体

user.UserId = this.txtUserId.Text.ToString().Trim();
user.UserName = this.txtUserName.Text.ToString().Trim();
user.UserPwd = this.txtUserPwd.Text.ToString().Trim();

if (userBLL.CheckUser(user)) //检查用户ID是否存在
{
if (userBLL.AddUser(user)) //保存该用户
{
Response.Write("<script>alert('保存成功!')</script>");
}
else
{
Response.Write("<script>alert('保存过程出现错误,请重试!')</script>");
}
}
else
{
Response.Write("<script>alert('用户ID已经存在,请重新输入!')</script>");
}


BLL
UserDAO userDAO = new UserDAO();

public bool CheckUser(UserInfo user)
{
return userDAO.CheckUser(user);
}

public bool AddUser(UserInfo user)
{
if (userDAO.AddUser(user) > 0)
{
return true;
}
else
{
return false;
}
}


DAL
SQLHelper sqlHelper = new SQLHelper();
public bool CheckUser(UserInfo userInfo)
{
SqlParameter[] paramList ={
sqlHelper.CreateInParam("@UserId",SqlDbType.VarChar,50,userInfo.UserId)
};
string sql = "select * from MyUser where UserId=@UserId";
SqlDataReader dr = null;
sqlHelper.RunSQL(sql, paramList, out dr);
if (dr.Read())
{
return false;
}
else
{
return true;
}
}

public int AddUser(UserInfo userInfo)
{
SqlParameter[] paramList ={
sqlHelper.CreateInParam("@UserId",SqlDbType.VarChar,50,userInfo.UserId),
sqlHelper.CreateInParam("@UserName",SqlDbType.VarChar,50,userInfo.UserName),
sqlHelper.CreateInParam("@UserPwd",SqlDbType.VarChar,50,userInfo.UserPwd)
};
string sql="insert into MyUser (UserId,UserName,UserPwd) values (@UserId,@UserName,@UserPwd)";
return sqlHelper.RunSQL(sql, paramList);

}
anna10 2008-10-28
  • 打赏
  • 举报
回复
回6楼那里是两个地方都写错了,刚好没影响,真的想不通,我把全部代码都写上
greatverve 2008-10-28
  • 打赏
  • 举报
回复
看不出来代码哪里出问题了,可能是你不仔细吧,问题可能出在不经意的小地方。
careful 2008-10-28
  • 打赏
  • 举报
回复
兄弟:
是userBLL.CheckUser
还是
userBLL.CheckUeer
是不是这里错了
greatverve 2008-10-28
  • 打赏
  • 举报
回复
如果分开了就能执行,说明你的check方法可能有毛病,不存在的,判断出来是存在。
greatverve 2008-10-28
  • 打赏
  • 举报
回复
Model就是一个类。类中的属性或方法怎么会只能使用一次?问题不在这里。
anna10 2008-10-28
  • 打赏
  • 举报
回复
提示没有方法实现AddUser(),可以我不判断用户是否存在,直接增加也没问题

下面是异常
 public bool AddUser(System.Security.Principal.IPrincipal User)
{
throw new NotImplementedException();
}
careful 2008-10-28
  • 打赏
  • 举报
回复
user.UserId = this.txtUserId.Text.ToString().Trim();
myUser.UserName = this.txtUserName.Text.ToString().Trim();
不是 user.UserName ?
看代码貌似没问题

两个if语句一起执行数据就不能添加进去,有什么提示呢?
但步调试下就知道了嘛
anna10 2008-10-28
  • 打赏
  • 举报
回复
上面代码的myUser写错了,问题跟上面一样
UserBLL userBLL = new UserBLL(); 
User user = new User();//实例化业务实体

user.UserId = this.txtUserId.Text.ToString().Trim();
user.UserName = this.txtUserName.Text.ToString().Trim();
user.UserPwd = this.txtUserPwd.Text.ToString().Trim();

if (userBLL.CheckUeer(user)) //检查用户ID是否存在
{
if (userBLL.AddUser(User)) //保存该用户
{
Response.Write("<script>alert('保存成功!')</script>");
}
else
{
Response.Write("<script>alert('保存过程出现错误,请重试!')</script>");
}
}
else
{
Response.Write("<script>alert('用户ID已经存在,请重新输入!')</script>");
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧