C# 如何从存储过程中获取值并将其与if子句进行比较

C# 如何从存储过程中获取值并将其与if子句进行比较,c#,sql,stored-procedures,if-statement,linq-to-sql,C#,Sql,Stored Procedures,If Statement,Linq To Sql,我的数据集为: EmployeeTrackDatacontextDataContext db = new EmployeeTrackDatacontextDataContext(); DataSet logStatusDs = new DataSet(); 我使用的存储过程是: public DataSet Sequence(Int32 userId) { //load the List one time to be used thru out the intire applicati

我的数据集为:

EmployeeTrackDatacontextDataContext db = new EmployeeTrackDatacontextDataContext();
DataSet logStatusDs = new DataSet();
我使用的存储过程是:

public DataSet Sequence(Int32 userId)
{
    //load the List one time to be used thru out the intire application
    var ConnString = System.Configuration.ConfigurationManager.ConnectionStrings["EMSJConnectionString"].ConnectionString;
    using (SqlConnection connStr = new SqlConnection(ConnString))
    {
        using (SqlCommand cmd = new SqlCommand("get_LoginStatusQ", connStr))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@UserId", userId);
            cmd.Connection.Open();
            new SqlDataAdapter(cmd).Fill(logStatusDs);

            //DataTable dt = logStatusDs.Tables[0].Rows[0];
        }
    }

    return logStatusDs;
}
将返回以下数据:

ALTER PROCEDURE [dbo].[get_LoginStatusQ]  
   @UserId int
AS   
BEGIN  
   SET NOCOUNT ON;

   SELECT TOP 1 LoginStatus 
   FROM UserTime 
   WHERE UserId = 2 
   ORDER BY UserTimeId DESC
END
方法

         LoginStatus
       ________________   
       1 |    In     |
我在PageLoad上运行它

在这个方法之后,我想从存储过程中获取返回值,它是“In”,并在IF语句中比较它。我该怎么做

例:


请举例说明

您只是从查询返回一个值。这可以使用ExecuteScalar来完成,而不是构建和填充数据集及其表

If(ReturnValueOfStoredProcedure != "In")
{   do stuf...}
else
{  do stuff...  }      
现在的电话是简单的

public string  Sequence(Int32 userId)
{
    //load the List one time to be used thru out the intire application
    var ConnString = System.Configuration.ConfigurationManager.ConnectionStrings["EMSJConnectionString"].ConnectionString;
    using (SqlConnection connStr = new SqlConnection(ConnString))
    {
        using (SqlCommand cmd = new SqlCommand("get_LoginStatusQ", connStr))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@UserId", userId);
            cmd.Connection.Open();
            object result = cmd.ExecuteScalar();
            return result == null ? string.Empty : result.ToString()
        }
    }
}
唯一需要查找的是ExecuteScalar的返回值,如果查询没有找到具有给定ID的用户,则返回值可能为null

public string  Sequence(Int32 userId)
{
    //load the List one time to be used thru out the intire application
    var ConnString = System.Configuration.ConfigurationManager.ConnectionStrings["EMSJConnectionString"].ConnectionString;
    using (SqlConnection connStr = new SqlConnection(ConnString))
    {
        using (SqlCommand cmd = new SqlCommand("get_LoginStatusQ", connStr))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@UserId", userId);
            cmd.Connection.Open();
            object result = cmd.ExecuteScalar();
            return result == null ? string.Empty : result.ToString()
        }
    }
}
string status = Sequence(Convert.ToInt32(Session["userid"])) 
if(status == "In")
{  

}
else
{

}