强类型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