for (int i = 9; i < dt.Columns.Count; i++)
{
string dtcolumn = dt.Columns[i].ColumnName.ToString();
dt.Rows[dt.Rows.Count - 1][i] = Convert.ToInt32(dt.Compute("SUM(" + dtcolumn + ")", " " + dtcolumn + " > 0"));
}
它在列值不爲空時正在工作。但有時拋出invalidcastexception和顯示對象不能從DBNULL轉換到其他types.how以避免invalidcastexception獲取列名並對數據表中的值求和c#
沒有什麼不對您的代碼,至少無法與已發佈的部分。您需要告訴我們如何重現您的問題。 – CodingYoshi
你可以嘗試'dt.Compute(「SUM(IsNull([」+ dtcolumn +「],0))」'https://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression – Slai