我有一个 formview,它像往常一样通过表适配器执行插入存储过程。除非插入失败,sp 上名为 error_msg 的输出参数设置为
"Insert failed because XXXX is required".
如何捕获此值并将其打印在用户的屏幕上?我似乎无法找到它。
我有一个 formview,它像往常一样通过表适配器执行插入存储过程。除非插入失败,sp 上名为 error_msg 的输出参数设置为
"Insert failed because XXXX is required".
如何捕获此值并将其打印在用户的屏幕上?我似乎无法找到它。
缺少一些详细信息,例如您是否使用ObjectDataSource
,您正在使用哪个数据库等。
那么这是一个为 SQL Server 检索输出参数的示例。
将数据源绑定到您的 FormView
<asp:ObjectDataSource ID="myDataSource" runat="server"
InsertCommand="myProcedure"
InsertCommandType="StoredProcedure"
Inserted="myDataSource_Inserted">
<InsertParameters>
<asp:Parameter Name="returnValue" Type="String" Direction="InputOuput" />
<asp:Parameter Name="myField1" Type="Int32" />
<asp:Parameter Name="myField2" Type="String" />
</InsertParameters>
</asp:ObjectDataSource>
并在 SQL Server 中创建一个过程:
CREATE PROCEDURE myProcedure
(
@myField1 int,
@myField2 varchar(50),
@returnValue varchar(100) OUT
)
AS
BEGIN
INSERT INTO myTable VALUES (@myField1, @myField2)
IF @@ERROR <> 0
SET @returnValue='Insert failed because XXXX is required'
END
对象数据源还有一个事件方法,您可以使用它来检索参数信息:
protected void myDataSource_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
{
string returnValue = Convert.ToString(e.ReturnValue);
//your code here...
}