2

我正在做我的项目,其中我有一个书籍数据库。我已将该数据库加载到 DataTable“书籍”中。还有另一个数据表“Watermark_books”,其中包含“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);

谁能指出上面提到的代码行有什么问题......

提前致谢...

4

1 回答 1

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];
        }
于 2012-11-30T13:49:52.440 回答