在 Azure 函数应用程序中使用 Select 查询获取数据

Get data using Select query in azure function app

在我的函数应用程序中,我有一个 IF 语句,仅当两个变量设置为 1 和 0 时才启动代码的主要部分。这些变量是存储在 Azure SQL Table 中的标志.我做了一个简单的 select 查询,但变量值始终为 -1。我怎么解决这个问题?这是我的代码:

conn.Open();
    int IsDatamartSynced, IsCubeProcessed;
    var select_for_IsDatamartSynced = "SELECT TOP (1) IsDatamartSynced FROM dbo.test";
    var select_for_IsCubeProcessed = "SELECT TOP (1) IsCubeProcessed FROM dbo.test";
    /*var text = "UPDATE SalesLT.SalesOrderHeader " + 
            "SET [Status] = 5  WHERE ShipDate < GetDate();";*/

    using (SqlCommand cmd = new SqlCommand(select_for_IsDatamartSynced, conn))
    {
        IsDatamartSynced = cmd.ExecuteNonQuery();
        log.Info($"in using {IsDatamartSynced}");
    }

    using (SqlCommand cmd = new SqlCommand(select_for_IsCubeProcessed, conn))
    {
        IsCubeProcessed = cmd.ExecuteNonQuery();
        log.Info($"in using {IsCubeProcessed}");
    }

ExecuteNonQuery returns 更改数据的语句受影响的行数,或 -1 其他类型的查询(包括 SELECT)。

当您想要检索值时使用 ExecuteScalar

using (SqlCommand cmd = new SqlCommand(select_for_IsDatamartSynced, conn))
{
    IsDatamartSynced = cmd.ExecuteScalar();
    log.Info($"in using {IsDatamartSynced}");
}