有个项目,三层构架,在数据访问层中 Insert提示用户成功的信息是否应该在UI层?那么在Insert返回一个bool是否有这个必要?

解决方案 »

  1.   

    如果不在UI层提示用户成功,那么在哪显示呢?答案就是肯定在UI层了, INSERT是否有必要返回BOOL,这个所谓不大吧,也可以不范围,但是异常得捕获完全,如果出错,得抛出来在让上层进行判断
      

  2.   

    DAL层如不返回一个bool 那么UI怎么知道数据库操作是成功还是失败的呢如UIif(dal.insert()==ture)
    {
       messagebox.show("success!");}
    请指教.
      

  3.   

    MessageBox.show() 类的代码只适合在UI层,数据层和逻辑层根本不需要使用到windows.forms这个ns
    数据访问层中的Insert可以通过抛出异常(建议)、返回值的方式来处理失败信息。
      

  4.   

    try
    {
    dal.insert();
    MessageBox.show("Success!");
    }
    catch(Exception ex)
    {
    MessageBox,show(ex.Message);
    }
      

  5.   

    想法不全面,实际情况是,即使你在逻辑层写一个bool的方法,如果操作不成功的话实际上还是抛出一个异常到UI层实际上怎么写都无所谓,关键是你的异常要处理好,包括异常信息的日志记录,而且把这个异常抛出到UI层。
      

  6.   

    DAL层如不返回一个bool   那么UI怎么知道数据库操作是成功还是失败的呢 如UI if(dal.insert()==ture) 

          messagebox.show("success!"); } 
    请指教.try
    {
       dal.insert();
       messagebox.show("success!");
    }
    catch
    {
       messagebox.show("failed!");
    }
    关键还是你逻辑层怎么写,最好是把这个异常抛出来
      

  7.   

    ui层!
    因为它调用的是中间层的方法,是通过中间层的方法的返回值判断界面的验证是否合法,当然关于提示框也得在UI层去写了~