2017-08-31 50 views
0

我有一個數據庫列,其值爲10,-1。我正在使用uintGetUInt16,如下所示在我的課程和代碼片段中。不知何故負值不會被反映出來。我應該使用什麼數據類型來查看課堂和rdr中的負值?在輸出中沒有反映的負值

public class Postcommit 
{ 
    public string software_image_build { get; set; } 
    public uint TestStatus { get; set; } 
} 

代碼片段:

PCS[i++].TestStatus = rdr.GetUInt16(1); 

回答

6

您使用的是uintu代表unsigned,這意味着它不能是負數(「符號」是指「負號」)。您應該使用正常的int。同樣,您應該使用rdr.GetInt16(1)來獲取該值。

public class Postcommit 
{ 
    public string software_image_build { get; set; } 
    public int TestStatus { get; set; } 
} 

... 

PCS[i++].TestStatus = rdr.GetInt16(1); 

因此,在前進的道路上你的代碼的每一步,從您的數據庫,每一個類型必須設置爲整數,無符號整數。

+0

@Vanna你說的是什麼意思?它不應該無符號無論。 – Soviut

+0

@Stefan你是什麼意思? – Soviut

+0

@Soviut:'PCS [i ++]。TestStatus'也是'uint'類型,所以'PCS [i ++] .TestStatus = rdr.GetInt16(-1);'不適合。 – Stefan

5

範圍UInt16是0到65,535。它不包括負面價值。你應該試試經常的Int16

+0

@ Stefan-是錯字。現在糾正。 – Cooleshwar