クエリがnullを返す場合、目標は0を返すようにし、それ以外の場合は数値を返します。 SUM文は、カラムConcurrentUsers
のカラム値の合計を返します。SUM SQL文、C#、NULLを返します。
次のコードは、鋳造のエラーを返します。
Specified cast is not valid.
クエリがnullを返していると、トラブルint型に変換をしているので、それは可能性があります。
以下は試みです。
明確にする必要がある場合は、質問を編集してください。
SQLクエリ:
string query = @"SELECT SUM(CAST(ConcurrentUsers AS INT))
FROM [website].[db]
WHERE(ConcurrencyLicensing NOT LIKE 0)";
戻り値:
SqlConnection conn = new SqlConnection(entityBuilder.ProviderConnectionString);
SqlCommand cmd = new SqlCommand(query, conn);
try
{
conn.Open();
object userNameObj = cmd.ExecuteScalar();
if(userNameObj != null)
{
int getUserName = (int)userNameObj;
return getUserName;
}
else
{
return 0;
}
}
finally
{
conn.Close();
}
列_ConcurrentUsers_のデータ型とは何ですか? – Steve
'DBNull.Value'と' null'を比較する必要があります。 – juharr
'if(userNameObj == DBNull.Value)... 'を試してください。 – Pikoh