2017-01-11 7 views
0

私は結果が列を作成する場所を書いていました。その作成された列は、SQL Serverのブールとして来る必要があります。SQLサーバーからasp.netにブール値として返す

SELECT *,case 

      when(A.EndDt<getdate()) 

      then 0 

      else 1 

     end as CheckStatus 

      FROM benOpenEnrollment A WHERE A.BenefitClassID= 
    @BenefitClassID ORDER BY A.StartDt 

それはDRからフロントエンドに来るとき、私はbool値として必要以上のクエリのcheckStatus。 私はすでにとして書かれた私のフロン終了コードは次のとおりです。

if (!dr.IsDBNull(dr.GetOrdinal("CheckStatus"))) 
{ 
    objElectBenefits.CheckStatus = 
           dr.GetBoolean(dr.GetOrdinal("CheckStatus")); 
    } 

を、と私は例外を取得しています「指定されたキャストは有効ではありません。」。

答えて

1

DatatypeBITに結果をキャストし、それを試して、

SELECT *,CAST((case 
      when(A.EndDt<getdate()) 
      then 0 
      else 1 
     end) AS bit) as CheckStatus 
FROM benOpenEnrollment A 
WHERE A.BenefitClassID= @BenefitClassID 
ORDER BY A.StartDt 
関連する問題