Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL Server的输出参数未打印到web表单_C#_Asp.net_.net_Sql Server - Fatal编程技术网

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();

感谢您的行业标准建议。知道你在做别人会觉得奇怪的事情总是好的。正如我说过的,关于第二点我不确定。我一直都是这样做的,但是简单地通过调试器就可以解决这个问题。谢谢行业标准的建议。知道你在做别人会觉得奇怪的事情总是好的。正如我说过的,关于第二点我不确定。我一直都是这样做的,但是一个简单的调试过程就可以解决这个问题。