如何在DataRow中嵌入属性?

时间:2012-11-30 13:39:16

标签: c#

我正在做我的项目,我有一个书籍数据库。我已经在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);

任何人都可以指出上面提到的代码行有什么问题....

提前致谢...

1 个答案:

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