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
{
}