当前位置:编程学习 > C#/ASP.NET >>

强类型DataSet主从表数据删除问题

  各位老兄,我现在实验数据库为:Order(订单表):字段如下;OrderNo uniqueidentifier;OrderDate Date;TotalAmount money; OrderItem(订单明细表)OrderNo uniqueidentifier;(关联主表主键)ItemNo int ;(行号)ProductName varchar(30);Qty int;Price money.

   操作方法:首先新建数据集,然后建两个DataTableAdapter(选中支持开放式并发)。在生成OrderTableAdapter时,直接生(Delete、Update、Select、Insert)方法。而生成OrderItemTableAdapter时,只生成了Insert、Select方法,没有生成Delete、Update方法。不知为何?请指教。
   另在删除从表时,语句如下:
   public bool DeleteOrderItem(Guid orderno)
    {
        GfCardOptimisticConcurrency.OrderItemDataTable orderitem = AdapterItem.GetOrderItemByOrderNo(orderno);
        if (orderitem.Count <= 0) return false;
        int count = orderitem.Count;
        for (int i = 0; i < count; i++)
        {
            orderitem.Rows.Remove(orderitem[i]);
        }
        orderitem.AcceptChanges();
        AdapterItem.Update(orderitem);
        return true;
    }
   执行完后,从表中数据没有任何变动?不知为何。
--------------------编程问答-------------------- 看帖回帖好习惯 --------------------编程问答-------------------- PD生成的数据库创建语句。
/*==============================================================*/
/* Table: "Order"                                               */
/*==============================================================*/
create table "Order" (
   OrderNo              uniqueidentifier     not null
      constraint CKC_ORDERNO_ORDER check (OrderNo = upper(OrderNo)),
   TotalAmount          money                null,
   constraint PK_ORDER primary key nonclustered (OrderNo)
)
go

/*==============================================================*/
/* Table: OrderItem                                             */
/*==============================================================*/
create table OrderItem (
   OrderNo              uniqueidentifier     not null
      constraint CKC_ORDERNO_ORDERITE check (OrderNo = upper(OrderNo)),
   "LineNO"             int                  null,
   ProductName          varchar(30)          null,
   Price                money                null,
   Qty                  int                  null
)
go

/*==============================================================*/
/* Index: Relationship_1_FK                                     */
/*==============================================================*/
create index Relationship_1_FK on OrderItem (
OrderNo ASC
)
go --------------------编程问答-------------------- 是不是很少有人使用强类型呀? --------------------编程问答-------------------- orderitem.AcceptChanges();
要放在
AdapterItem.Update(orderitem);
之后吧 --------------------编程问答-------------------- ......只生成了Insert、Select方法,没有生成Delete、Update方法。不知为何?请指教。
====================================================
你数据库表中没有设置主键!
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,