使用ADO.NET从SQL中获取单个值
本文关键字:获取 单个值 SQL ADO NET 使用 | 更新日期: 2023-09-27 18:26:35
我已经走了这么远:
// Update status history if the current work flow item has a status
int workflowID = Convert.ToInt32(statusCode.SelectedValue);
string status = "select status from jm_accountworkflowdetail where workid = @workID";
SqlConnection sqlConnection2 = new SqlConnection(sqlDevelopment.ConnectionString);
SqlCommand sqlComm2 = new SqlCommand(status, sqlConnection2);
sqlComm2.Parameters.AddWithValue("@workID", workflowID);
查询将返回一个值("SOC"、"POS")或("),表示它没有附加状态。
我需要做的是,如果状态不是空的,那么执行一些其他代码。但我不知道如何执行所有操作,只是为了检查状态是否有值。
您需要使用ExecuteScalar();
string statusReturned = "";
int workflowID = Convert.ToInt32(statusCode.SelectedValue);
using (SqlConnection sqlConnection2 = new SqlConnection(sqlDevelopment.ConnectionString))
{
string status = "select status from jm_accountworkflowdetail where workid = @workID";
SqlCommand sqlComm2 = new SqlCommand(status, sqlConnection2);
sqlComm2.Parameters.AddWithValue("@workID", workflowID);
try
{
sqlConnection2.Open();
var returnValue = sqlComm2.ExecuteScalar()
if returnValue != null then
statusReturned = returnValue.ToString();
}
catch (Exception ex)
{
//handle exception
}
}
return statusReturned;
为了检查字符串值,您可以有:
if (!String.IsNullOrEmpty(statusReturned)) {//perform code for SOC or POS}
为了将来的参考,如果您关心检查null并为null值做出一些决定,可以在T-SQL中使用IsNull
函数。如果记录为null,它基本上会返回一个值。所以你上面的代码会变成这样:
string status = "select IsNull(status,'NoStatus') from jm_accountworkflowdetail where workid = @workID";
然后,在您完成SQL之后,您将使用If Else
作为status
If(Status == "NoStatus") {your code block}
希望能有所帮助。