在 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}");
}
在我的函数应用程序中,我有一个 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}");
}