如何規定datatable字串量不得超過40字,並放入時剩餘我需數量(40字)
目前是想用maxLength 搭配 String.Substring
但顯示發生錯誤
例:如果我的drNew1[129]值須放到dr[15]
以下為程式碼
感謝各位大神
foreach (DataRow dr in dtItem.Rows) //宣告Datatable 裡面的 DataRow
{
DataRow drNew1 = dtIN1.NewRow();
drNew1[4] = dr[9];
drNew1[6] = dr[10];
drNew1[129] = dr[15];
dtINV1.Rows.Add(drNew1);
}
菩薩慈悲:「並放入時剩餘我需數量(40字)」什麼意思?
用 String.Substring 不就能解決了 String.Substring(0,39):
drNew1[129]值須放到dr[15]
drNew1[129] = dr[15].SubString(0,39)
或
drNew1[129] = (string)dr[15].Length<41? dr[15].Value: ((string)dr[15]).SubString(0,39)
但這樣要考慮容不容許40字串長後的被截斷爾。感恩感恩 南無阿彌陀佛
//先轉換成字串再去判斷長度呢(確定欄位中的資料型別是 string 的話,就不用 cast () 去轉換成string型別了) https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/types/casting-and-type-conversions
(string)dr[15].Length<41
((string)dr[15]).SubString(0,39)
foreach (DataRow dr in dtItem.Rows) //宣告Datatable 裡面的 DataRow
{
DataRow drNew1 = dtIN1.NewRow();
drNew1[4] = dr[9];
drNew1[6] = dr[10];
string inputString = dr[15].ToString();
int maxLength = 40;
if (inputString.Length > maxLength)
{
drNew1[129] = inputString.Substring(0, maxLength);
dr[15] = inputString.Substring(maxLength);
}
else
{
drNew1[129] = inputString;
}
dtINV1.Rows.Add(drNew1);
}