我正在做我的项目,我有一个书籍数据库。我已经在DataTable“Books”中加载了该数据库。还有另一个DataTable“Watermark_books”,其中包含数据表所具有的“书籍”的所有属性,以及每行的水印的额外属性。 我必须计算水印,现在我必须在“Watermark_books”数据表中嵌入水印属性。
请查看我编写的代码。
int ky= 0;
double attrib = CalculateWatermarkAttribute(i, j, out ky);
DataRow dataRow = dataSet.Tables["Watermark_Books"].NewRow();
DataRow tmpRow = dataSet.Tables["Books"].Select("id=" + ky)[0];
dataRow.ItemArray = tmpRow.ItemArray; // this copies all columns of one row to new row
dataRow.ItemArray[7] = attrib; // this line of code is not working
dataSet.Tables["Watermark_Books"].Rows.Add(dataRow);
任何人都可以指出上面提到的代码行有什么问题....
提前致谢...
答案 0 :(得分:2)
尝试以下代码:
int ky= 0;
double attrib = CalculateWatermarkAttribute(i, j, out ky);
DataRow dataRow = dataSet.Tables["Watermark_Books"].NewRow();
DataRow tmpRow = dataSet.Tables["Books"].Select("id=" + ky)[0];
foreach (System.Data.DataColumn column in dataSet.Tables["Watermark_Books"].Columns)
{
if (column.ColumnName == "WatermarkColumn")
dataRow["WatermarkColumn"] = attrib;
else
dataRow[column.ColumnName] = tmpRow[column.ColumnName];
}