返回在 C# 中成功插入的记录 ASP.NET

Returning record inserted successfully in C# ASP.NET

在我的 DAL 中,我有以下内容:

DB.ExecuteNonQuery(DBCommand);

然后在我的 BLL 中我有以下内容:

DAL.data.insertticket(a);

然后在我的表示层中我有:

DAL.collection cobj = new collection();
BLL.business bobj = new business();
bobj.insertticket(cobj);

如何检查记录是否已插入数据库,然后让我的 lbl 淡入并在 2 秒后消失?

<asp:Label ID="lblUpdatedMessage" runat="server" 
           Text="Ticket Updated"></asp:Label>

我考虑过在我的表示层中执行以下操作:

if (DAL.data.insertticket(a) == true) {
    lblUpdatedMessage.Visible = true;
}

但我收到一条错误消息:

The name 'a' does not exist in the current context

ExecuteNonQuery returns 表示执行查询的记录数 modified/deleted/inserted 的整数值。如果插入失败则为零,否则大于零(取决于调用影响的行数)。您需要做的就是将该值返回到调用链,直到您可以在表示层中处理它。

并且不要只是从表示层直接跳到数据层。这会使您构建的层结构完全无效:

数据层

int InsertObject(yourValidObjectInstance)
{
    .... code to prepare the command to be executed ...

    // returns 0 if no record has been added (failure)
    int recordsAffected = DB.ExecuteNonQuery(DBCommand);
    return recordAffected;
}

业务层

... code that checks if your object follows the business rules 
... and the validity of your object

int records = DAL.InsertObject(yourValidObject);
// True if you have inserted your records
return (record > 0);

表示层

if(BusinessLayer.AddObject(yourValidObject))
   // execute your presentation code.....