![](/img/trans.png)
[英]Leading zeros are not adding to DataTable columns C# Asp.Net with PadLeft or String.Format
[英]How to add leading zeros in DataTable columns
我試圖在長度小於6位的情況下在數據表列值前面添加零。
例如:我在數據表中有一個列“SRNumber”,其值為123,2345,56,3452等,並希望得到我的結果,如000123,002345,000056,034523。
注意:我想操縱Datatable中的數據而不是在sql查詢中檢索數據。 我已經看到了我們可以將前導零添加到字符串或變量的解決方案,但在mycase中我想為數據表列中的所有值執行此操作。
好吧,我在@eddie_cat答案的幫助下想出來了。 這就是我做的。
foreach (DataRow row in table.Rows)
{
row["SRNumber"] = row["SRNumber"].ToString().PadLeft(6, '0');
}
table.AcceptChanges();
這里,“SRNumber”是我添加前導零的列名。 我希望這可以幫助別人。
正如eddie_cat
所說,循環遍歷值並更新所需的字段
foreach(DataRow dr in mydatatable)
{
dr[myfield] = String.Format("{0:0000}", int.parse(dr[myfield]))
}
請注意,您應該首先將字符串轉換為int。 如果dr[myfield]
是dbnull
我使用int.parse(...)
的例子可能會拋出異常。
我不確定您是在尋找SQL解決方案還是C#解決方案,因此我將提供SQL,因為其他人已經為您提供了C#解決方案:
UPDATE MYTABLE
SET SRNumber = RIGHT('000000' + SRNumber,6)
WHERE len(SRNumber) < 6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.