2014-03-05 44 views
2
If dr.Read Then 
    mtCompareWeek.Text = dr("Week").ToString() 
End If 

從我訪問數據庫中的值是03 ..但它只是顯示爲3的整數之前獲取零,我應該怎麼做在文本框中獲得「03」?
* CStr也沒有工作。從數據庫

+0

你嘗試'dr.GetString(「周」)' – Nilesh

+0

沒有,從你的數據庫中的值是3。純數字**沒有填補信息* *。 A 3是3是3.在3,03和003之間完全沒有區別 - 它們是*相同的東西*。如何選擇*顯示* 3是另一回事(因爲任何以開發人員爲目標的數據庫查詢工具如何選擇顯示它)。 –

回答

1

您可以使用String過載到指定的位數:

If dr.Read Then 
    mtCompareWeek.Text = dr("Week").ToString("00") 
End If 

或者你可以使用String.Format

If dr.Read Then 
    mtCompareWeek.Text = String.Format("{0:00}", dr("Week")) 
End If 
+0

第二個選項是答案,稍後會接受。 ty – AdorableVB

1

How to: Pad a Number with Leading Zeros

int indexOfColumn = dr.GetOrdinal("Week"); 
mtCompareWeek.Text = dr.GetInt32(indexOfColumn).ToString("D2") 

String.PadLeft

mtCompareWeek.Text = dr.GetInt32(indexOfColumn).ToString().PadLeft(2, "0"c) 
+0

其他答案爲我工作。你的給我一個轉換錯誤。不管怎樣,謝謝。 – AdorableVB

+0

@AdorableVB:whoops,'GetInt32'預計列的索引不是名稱,已更正。 –

4

您應該使用format string

mtCompareWeek.Text = String.Format("{0:D2}", dr("Week")) 
+0

這也適用於我。 TY – AdorableVB