将SQL Server过程中的值赋给c#中的变量?

将SQL Server过程中的值赋给c#中的变量?,c#,sql,sql-server,stored-procedures,type-conversion,C#,Sql,Sql Server,Stored Procedures,Type Conversion,这是我在Microsoft Visual Studio ASP.NET MVC4中使用C编写的代码# 错误消息: 无法隐式转换类型 “System.Data.SqlClient.SqlCommand”改为“int” 我漏了一步吗?比如我必须做一种ExecuteReader()类型的事情吗 我在ASP.NETMVC4中找不到关于使用SQL命令的好资源 我知道不要使用SQL注入的字符串连接b/c,所以我尝试使用SQL Server存储过程 程序如下: CREATE PROCEDURE getRows

这是我在Microsoft Visual Studio ASP.NET MVC4中使用C编写的代码#

错误消息:

无法隐式转换类型 “System.Data.SqlClient.SqlCommand”改为“int”

我漏了一步吗?比如我必须做一种
ExecuteReader()
类型的事情吗

我在ASP.NETMVC4中找不到关于使用SQL命令的好资源

我知道不要使用SQL注入的字符串连接b/c,所以我尝试使用SQL Server存储过程

程序如下:

CREATE PROCEDURE getRows
AS
BEGIN
    select COUNT(*) 
    from myTable 
    where Status = 1
END
注意:我已尝试使用
(int)
int.Parse
进行强制转换。我想这和阅读有关吧?或者让getRows过程有一个输出?

它有一点更多:

信息。

还有一点:


信息。

ExecuteScalar()将在这种情况下帮助您。是的,这很有效!谢谢ExecuteScalar()将在这种情况下帮助您。是的,这很有效!非常感谢。
CREATE PROCEDURE getRows
AS
BEGIN
    select COUNT(*) 
    from myTable 
    where Status = 1
END
SqlConnection sqlConnection1 = new SqlConnection("Your Connection String");
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;

cmd.CommandText = "StoredProcedureName";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = sqlConnection1;

sqlConnection1.Open();

int numRows = (int)cmd.ExecuteScalar();

sqlConnection1.Close();