2

私は本のデータベースを持っている私のプロジェクトをやっています。そのデータベースをDataTableの「Books」にロードしました。別の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 に答える