MyGeneration学习笔记(6) :在Web Service中使用dOOdad(下)

    技术2022-05-11  88

           上一篇文章讲述了怎样插入一条记录,这里补充一下查询、修改和删除一条记录。相对插入而言,查询、修改和删除容易得多,下面分别给出我的一种实现:

     

    1.查询:

    // WebService端代码: [WebMethod] public   string  GetEmployee( int  empID) {    Employee emp = new Employee();    if(emp.LoadByPrimaryKey(empID))    {        return emp.ToXml();    }    else    {        return null;    }} // 客户端代码: webService service  =   new  webService();Employee emp  =  service.GetEmployee( int  empID);

     

    2. 更新:       ADO.Net 2.0中新增了一项功能:DataRow提供SetModified和SetAdded方法来改变其状态。上一篇文章中讲到,执行emps.FromXml之后,DataRow的状态为Added,这里我们可以将DataRow的状态改为Modified,当调用Save时,即可实现更新功能。

    // BusinessEntity.cs中添加一个函数: virtual   public   void  MarkAsModified() {   if (_dataRow != null)   {        _dataRow.SetModified();   }} // WebService端的代码: [WebMethod] public   bool  Update( string  str) {         Employee emp = new Employee();        emps.FromXml(str);        //此时DataRow的状态为Added        emps.AcceptChanges(); //此时DataRow的状态为Unchanged        emps.SetModified();        //此时DataRowd的状态为Modified        emps.Save();                  //保存修改} // 客户端代码: webService service  =   new  webService();Employee emp  =  service.GetEmployee( int  empID); // 同上面的查询 emp.Property  =  …………; service.Update(emp.Toxml());

     

    3. 删除:

    // 客户端只需将ID发过来就可以了 [WebMethod] public   bool  Delete( int  empID) {    Employee emp = new Employee();    if(emp.LoadByPrimaryKey(empID))    {         emp.MarkAsDeleted();         emp.Save();         return true;    }     else    {         return false;    }}

             现在还没有好的dOOdads模板来生成支持Web Service的业务实体,相信不久的将来会有的……

     

     

    最新回复(0)