C# SQL Server的输出参数未打印到web表单
我有一个存储程序C# SQL Server的输出参数未打印到web表单,c#,asp.net,.net,sql-server,C#,Asp.net,.net,Sql Server,我有一个存储程序 create proc spAddEmployees @Name varchar(50), @Gender varchar(10), @Salary int, @EmployeeId int out as begin insert into tblEmployees values (@Name, @Gender, @Salary) select EmployeeId = SCOPE_IDENTITY() end 它有一个输出参数,告诉用
create proc spAddEmployees
@Name varchar(50),
@Gender varchar(10),
@Salary int,
@EmployeeId int out
as
begin
insert into tblEmployees values (@Name, @Gender, @Salary)
select EmployeeId = SCOPE_IDENTITY()
end
它有一个输出参数,告诉用户当前的作用域标识
标记看起来像
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<table style="border: 1px solid black; font-family:Arial">
<tr>
<td>
Employee Name
</td>
<td>
<asp:TextBox ID="txtEmployeeName" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Gender
</td>
<td>
<asp:DropDownList ID="ddlGender" runat="server">
<asp:ListItem>Male</asp:ListItem>
<asp:ListItem>Female</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td>
Salary
</td>
<td>
<asp:TextBox ID="txtSalary" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2">
<asp:Button ID="btnSubmit" runat="server" Text="Submit"
onclick="btnSubmit_Click" />
</td>
</tr>
<tr>
<td colspan="2">
<asp:Label ID="lblMessage" runat="server"></asp:Label>
</td>
</tr>
</table>
这个程序应该向tblEmployees表中添加一个新行,然后向用户输出存储过程的输出参数。它运行并在单击按钮时将行添加到数字中,但输出参数未打印到屏幕上。想法?也许:
select EmployeeId = SCOPE_IDENTITY()
在存储过程中,应:
select @EmployeeId = SCOPE_IDENTITY()
也许:
select EmployeeId = SCOPE_IDENTITY()
在存储过程中,应:
select @EmployeeId = SCOPE_IDENTITY()
存储过程中的语法不正确。
你应该使用
select @EmployeeId = SCOPE_IDENTITY()
^
检索输出参数的通常方法是通过命令集合。我不确定在这个过程中,参数是否被替换了
string EmpId = cmd.Parameters["@EmplyeeId"].Value.ToString();
存储过程中的语法不正确。
你应该使用
select @EmployeeId = SCOPE_IDENTITY()
^
检索输出参数的通常方法是通过命令集合。我不确定在这个过程中,参数是否被替换了
string EmpId = cmd.Parameters["@EmplyeeId"].Value.ToString();
感谢您的行业标准建议。知道你在做别人会觉得奇怪的事情总是好的。正如我说过的,关于第二点我不确定。我一直都是这样做的,但是简单地通过调试器就可以解决这个问题。谢谢行业标准的建议。知道你在做别人会觉得奇怪的事情总是好的。正如我说过的,关于第二点我不确定。我一直都是这样做的,但是一个简单的调试过程就可以解决这个问题。