我在DataGrid上加了一列删除列,如果绑定的表是一个主键的话,应该是在绑定的时候this.DataGrid1.DataKeyField = "主键";
然后在删除事件中用:string id=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();来取出主键的值,滞后就是用主键来更改数据库了。但我的表用的是联合主键,我就不会删除了。我的表:create table voteDetails
(
voteID int foreign key references voteMaster(voteID),
voteDetailsID int not null,
voteItem varchar(20) not null,
voteNum int default 0,
primary key(voteID,voteDetailsID)
)
谁能告诉我一下怎么删除其中的一行,最好写下代码,先谢谢了。
然后在删除事件中用:string id=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();来取出主键的值,滞后就是用主键来更改数据库了。但我的表用的是联合主键,我就不会删除了。我的表:create table voteDetails
(
voteID int foreign key references voteMaster(voteID),
voteDetailsID int not null,
voteItem varchar(20) not null,
voteNum int default 0,
primary key(voteID,voteDetailsID)
)
谁能告诉我一下怎么删除其中的一行,最好写下代码,先谢谢了。
上面的语句是从根本上错了吗?还是有些小错误?望指点。
create table voteDetails
(
voteID int foreign key references voteMaster(voteID),
voteDetailsID int not null,
voteItem varchar(20) not null,
voteNum int default 0,
primary key(voteID,voteDetailsID)
)你的voteMaster表主键是voteID,voteDetails表主键是voteID,voteDetailsID,你删除的时候,先删除voteDetails表,然后再删除voteMaster表。
或者,你设置删除的机制为级联删除,也可以:参考这里:
级联删除(ON DELETE CASCADE的用法)
http://www.cnblogs.com/291099657/archive/2010/04/02/1703467.html
gridview1.DataKeys[e.Row.RowIndex][0].ToString();
gridview1.DataKeys[e.Row.RowIndex][1].ToString();
...
我就是想再删除的时候能获得DataGrid所绑定表的两个主键。最好写下代码啊。