IM通過數據集試圖環和地方曾經有一個0我想改變這種狀況爲空值或空白到目前爲止,我有這個如何通過數據集和更改數據的C#循環
foreach (DataRow drRow in ds.Tables[0].Rows)
{
//loop through cells in that row
{
//if the value is 0 change to null or blank
}
}
能任何人都可以幫我解決這個問題嗎?
IM通過數據集試圖環和地方曾經有一個0我想改變這種狀況爲空值或空白到目前爲止,我有這個如何通過數據集和更改數據的C#循環
foreach (DataRow drRow in ds.Tables[0].Rows)
{
//loop through cells in that row
{
//if the value is 0 change to null or blank
}
}
能任何人都可以幫我解決這個問題嗎?
當然
foreach (DataRow drRow in ds.Tables[0].Rows)
{
for(int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
int rowValue;
if (int.TryParse(drRow[i].ToString(), out rowValue))
{
if (rowValue == 0)
{
drRow[i] = null;
}
}
}
}
我真的相信,沒有人仍與數據集:(
像這樣的東西可能有幫助的工作原理:
foreach (DataRow rows in table.Rows)
{
object value = null;
var cells = rows.ItemArray;
for (int i = 0; i < cells.Length; i++)
{
value = cells[i];
if (value != null && value.GetType() == typeof(int))
{
if ((int)value == 0)
{
cells[i] = null;
}
}
}
rows.ItemArray = cells;
}
你可以做
DataTable dt = new DataTable();
.....
.....
DataRowCollection drColl = dt.Rows;
for(int j=0; j<drColl.Count;j++)
{
DataRow drRow = drColl[j];
object[] itemArr = null;
itemArr = drRow.ItemArray;
//loop through cells in that row
for(int i=0; i<itemArr.Length; i++)
{
//if the value is 0 change to null or blank
if (itemArr[i].ToString() == "0")
drRow[i] = "";
}
}
如果任務是取代所有的zeroe用'NULL'寫出SQL UPDATE語句並執行腳本。將數據加載到'dataset'中的目的是什麼?爲什麼你使用C#。 IMO SQL腳本是更好的解決方案 – 2011-06-16 12:28:26