我有一個名為的資料表dt,它是一個轉換后的 SQL 表。
所有資料都是從服務器發送的,所以我必須對其進行加密。現在我需要解密每個單元格。
我想這樣做:
foreach (DataRow row in dt.Rows)
{
for (int i = 0; i < dt.Columns.Count; i )
{
row[i] = r.Decrypt(row[i].ToString());
}
}
解密作業正常,但row[i] = r.Decrypt(row[i].ToString());給我列的編號而不是它的內容,我如何獲取內容?
使帖子更有意義。
我想要row[i] = r.Decrypt(a string representing the value of row[i]);
uj5u.com熱心網友回復:
這是與資料表互動的正確方法
foreach(DataRow row in dt .Rows)
{
foreach(DataColumn column in dt .Columns)
{
Console.WriteLine(row[column]);
}
}
在您的情況下,您實際上是在將一個 int 傳遞給您的行,因為您正在使用 count 屬性。
** 編輯這是在您的資料行包含物件的情況下。
DataTable dt = new DataTable();
dt.Columns.Add("Column 1");
dt.Columns.Add("Column 2");
DataRow dataRow = dt.NewRow();
dataRow.ItemArray = new object[]{"line 1 column 1", "line 1 column 2"
};
dt.Rows.Add(dataRow);
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn column in dt.Columns)
{
var text = row[column.ToString()];
Console.WriteLine(text);
}
}
結果

如果這些都不起作用,我們將不得不查看您的資料行是如何創建的。
uj5u.com熱心網友回復:
正如您提到的,其他邏輯(解密)作業正常,您只需要獲取列內容/值,然后您可以嘗試以下操作:
foreach(DataRow row in table.Rows)
{
foreach(DataColumn column in table.Columns)
{
// you can insert your logic to use column value row[column] here
Console.WriteLine(row[column]);
}
}
uj5u.com熱心網友回復:
for (int i = 0; i < dt.Rows.Count ; i )
{
for (int j = 1; j < dt.Columns.Count ; j )
{
string cellValue = dt.Rows[i][j].ToString();
dt.Rows[i][j] = r.Decrypt(cellValue);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/481570.html
