又是gridview更新怪问题:所有都正常,唯有更新时

sxzz 2008-07-09 06:17:20
启用了gridview的编辑和删除功能,删除正常,但一旦编辑更新,就把更新字段的值清空。
插入也正常,如格式错误还报错提示。
但更新时即使格式错误也不提示,更新后依然清空编辑数据。
INSERT INTO [tbPaperTempList] ([papertemplist_id], [papertemplist_ptid], [papertemplist_stypeid], [papertemplist_sdiffid], [papertemplist_snum], [papertemplist_sscore]) VALUES (@papertemplist_id, @papertemplist_ptid, @papertemplist_stypeid, @papertemplist_sdiffid, @papertemplist_snum, @papertemplist_sscore)
插入正常
DELETE FROM [tbPaperTempList] WHERE [papertemplist_id] = @papertemplist_id
删除正常
UPDATE [tbPaperTempList]
SET [papertemplist_snum ]= @papertemplist_snum, [papertemplist_sscore] = @papertemplist_sscore
WHERE ([papertemplist_id] = @papertemplist_id)
为什么更新旧不正常了呢?
这里gridview.datakeynames=papertemplist_id,是隐藏字段
请问应从何处查找原因?原因会是什么?
...全文
501 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
amandag 2008-07-09
  • 打赏
  • 举报
回复
你的更新语句有以下三个参数
UPDATE [tbPaperTempList]
SET [papertemplist_snum ]= @papertemplist_snum, [papertemplist_sscore] = @papertemplist_sscore
WHERE ([papertemplist_id] = @papertemplist_id)

可只有一个条件在你的GridView中出现,剩下两个参数在哪里呢?
<asp:BoundField DataField="papertemplist_id" HeaderText="papertemplist_id" ReadOnly="True" SortExpression="papertemplist_id" Visible="False" />
toxxj 2008-07-09
  • 打赏
  • 举报
回复
更新语句要让sqldatasource控件自动产生,不要自己修改啊
重新建立一个试试
sxzz 2008-07-09
  • 打赏
  • 举报
回复
没有定义load事件
添加后还是不管用
为什么另一个页就不出问题?
百思不得其解,其实在网上也找了很多,都没能解决。
nagexiatiank 2008-07-09
  • 打赏
  • 举报
回复
在load事件里少了这句吧
if(Page.IsPostBack)
{
return;
}
sxzz 2008-07-09
  • 打赏
  • 举报
回复
是的
<asp:GridView ID="GVPMM" runat="server" AutoGenerateColumns="False" DataKeyNames="papertemplist_id"
DataSourceID="PaperMMSqlDs" EmptyDataText="尚未数据,请添加!">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="CkBSelectAll" runat="server" AutoPostBack="True" OnCheckedChanged="CkBSelectAll_CheckedChanged"
Text="全选" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="CkBSelect" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<EditItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
Text="更新"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
Text="取消"></asp:LinkButton>
</EditItemTemplate>
<HeaderTemplate>
<asp:LinkButton ID="LBtnDeleteAll" runat="server" OnClick="LBtnDeleteAll_Click">删除所选</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
Text="编辑"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Delete"
Text="删除"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="papertemplist_id" HeaderText="papertemplist_id" ReadOnly="True"
SortExpression="papertemplist_id" Visible="False" />
<asp:BoundField DataField="papertemplist_ptid" HeaderText="papertemplist_ptid" SortExpression="papertemplist_ptid"
Visible="False" />
<asp:BoundField DataField="型" HeaderText="型" ReadOnly="True" SortExpression="型" />
<asp:BoundField DataField="明" HeaderText="明" ReadOnly="True" SortExpression="明">
<ItemStyle Width="200px" />
</asp:BoundField>
<asp:BoundField DataField="度" HeaderText="度" ReadOnly="True" SortExpression="度" />
<asp:BoundField DataField="数" HeaderText="数" SortExpression="数" />
<asp:BoundField DataField="分" HeaderText="分" SortExpression="分" />
</Columns>
</asp:GridView>
carl974 2008-07-09
  • 打赏
  • 举报
回复
修改任何字段更新时都会清空吗?

把你的gridview发出来
sxzz 2008-07-09
  • 打赏
  • 举报
回复
没有事件代码,gridview+sqldatasource,只是在sqldatasource的updatequery中添加以上更新代码,其他也是。
没有什么特别,在另一个类似功能中也正常,大家有没有碰到类似问题?怎么解决的?
koyote_love 2008-07-09
  • 打赏
  • 举报
回复
把事件代码贴出来看看

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧