CSharp - 在DataRow中,如何嵌入属性?

  显示原文与译文双语对照的内容
0 0

我在做我的项目,我有一个图书数据库。 我已经在 DataTable"书籍"中加载了该数据库。 还有另一个 DataTable"watermark_books",它包含所有属性作为"书籍"DataTable,以及一个额外的属性,它是每行的水印。 我必须计算水印,现在我必须在"watermark_books"datatable中嵌入水印属性。

请看我写的代码。


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 0

尝试以下代码:


 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];
 }

...