gpt4 book ai didi

c# - 从 gridview 中的存储过程捕获 SQLException

转载 作者:太空宇宙 更新时间:2023-11-03 20:32:05 24 4
gpt4 key购买 nike

我有一个名为 UPDATE_INFO 的存储过程 (SP),在该 SP 中,我抛出了一些 SQLExceptions

RAISERROR ('Exception Created',16,1);

我在 girdview 中使用那个 SP,现在我想要的是每当抛出异常时,我都可以捕获它并显示它,以便用户可以知道出了什么问题。

但我不知道该怎么做,我认为 Gridview 已经捕获了来自 SP 的所有异常

有没有人有办法做到这一点?

代码部分:

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">

<asp:UpdatePanel ID="UpdatePane" runat="server">
<ContentTemplate >
<asp:GridView ID="GridView" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ProjectID"
DataSourceID="DataSource" >
<Columns>
<asp:CommandField ShowEditButton="True" CausesValidation="false" />
<asp:BoundField DataField="Name" HeaderText="Name"
SortExpression="ProjectID"/>
</Columns>
</asp:GridView>

</ContentTemplate>
</asp:UpdatePanel>


<asp:SqlDataSource ID="DataSource" runat="server"
ConflictDetection="CompareAllValues"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"

SelectCommand="SELECT" SelectCommandType="StoredProcedure"
UpdateCommand="UPDATE" UpdateCommandType="StoredProcedure">

<UpdateParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="original_Name" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
</asp:Content>

最佳答案

您需要处理 OnRowUpdated 事件并检测是否有任何类似这样的错误:

protected void GridView_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
if (e.Exception != null)
{
//show nice error message however you want
// I imagine by firing javascript on the page
e.ExceptionHandled = true; //important not forgetting this
}
}

在您的标记中:

<asp:GridView ID="GridView" OnRowUpdated="GridView_RowUpdated" runat="server" AllowPaging="真"....

关于c# - 从 gridview 中的存储过程捕获 SQLException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7037310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com