我遇到了删除的问题!请大家帮忙!
dim strsql as string = "delete from [fw_gbook] where id="& e.item.itemindex+1 &""
为什么e.item.itemindex+1取出来的ID是0、1、2、3、4、5、6.......!怎么不是真正的ID!
按第一个就是1
delete from [fw_gbook] where id=1
按第二个就是2
delete from [fw_gbook] where id=1
怎么都是真正的ID号啊!所以删除不了!
请大家帮忙!
问题点数:20、回复次数:10Top
1 楼luluso(真系好难捉摸啊!!)回复于 2004-09-02 22:32:14 得分 0
为什么e.item.itemindex+1取出来的ID是0、1、2、3、4、5、6.......!怎么不是真正的ID!
正真id是什么?Top
2 楼passacaglia(神秘园)回复于 2004-09-02 22:35:16 得分 0
DataGrid1.DataKeys[e.Item.ItemIndex]
把真正的ID做为DataGrid1的DataKeyTop
3 楼brightheroes(在地狱中仰望天堂)回复于 2004-09-02 22:35:49 得分 0
建议你用一个不可见的列来绑定ID
Top
4 楼lkk2073(三楼楼长)回复于 2004-09-02 22:40:01 得分 5
先设置DataGrid的属性的DataKeyField为ID
dim strsql as string = "delete from [fw_gbook] where id="& DataGrid1.DataKeys[e.item.itemindex] +1 &""
Top
5 楼wangrenda(浪人)回复于 2004-09-02 22:54:39 得分 5
e.item.itemindex+1
你这个写法是行的"序号",而不是我们用的编号也就是ID,这个和数据库中的记录是无关的.
就想楼上说的那样,把DataKeyField设置为你的主键Top
6 楼ceo7288(小鱼儿)回复于 2004-09-02 22:59:31 得分 0
“/asp_net_book”应用程序中的服务器错误。
--------------------------------------------------------------------------------
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误信息: BC30203: 需要标识符。
源错误:
行 29:
行 30: sub datagrid1_delete(obj as object,e as datagridcommandeventargs)
行 31: dim strsql as string = "delete from [fw_gbook] where id="& DataGrid1.DataKeys[e.item.itemindex]+1 &""
行 32: response.Write(strsql)
行 33: executex(strsql)
Top
7 楼ceo7288(小鱼儿)回复于 2004-09-02 23:07:20 得分 0
请大家帮忙!Top
8 楼zhgroup(王员外)回复于 2004-09-02 23:28:01 得分 0
DataGrid1.DataKeys[e.item.itemindex]+1是否有值?
另外,如果想要从DataGrid中得到绑定表的ID,可以根据该行的索引值来判ID值,具体如
int ID = Convert.ToInt32(objDataGrid[行索引,ID所在的列索引].ToString()),这样也能得到,不知道这个对你有没有用?Top
9 楼sujiadong(流星鱼之恋)回复于 2004-09-02 23:28:44 得分 10
dim strsql as string="delete from fw_gbook where where id="& DataGrid1.DataKeys(e.item.itemindex)Top
10 楼leisang(仰望深邃的星空)回复于 2004-09-02 23:30:51 得分 0
用DataKeyField最好!Top




