0

型付きデータセットを使用していて、1つの自動インクリメント列でテーブルを更新しようとしています。問題は、このテーブルを次のように更新すると

        tableAdapter.DeleteAllQuery();//
            DataRow addedRow =  dataTable.Rows.Add(null,
                                                dev.No,
                                                dev.IdKat.ToString());
        string id = addedRow.[0].ToString();
        tableAdapter.Update(dataTable);

自動インクリメントフィールドidは、データベースにあるものと同じではありません。たとえば、addedRow.[0].ToString()が返されます0が、データベースでは値は2です。

実際のid価値を得るために私はこのトリックをやっています

    tableAdapter.DeleteAllQuery();//
        DataRow addedRow =  dataTable.Rows.Add(null,
                                            dev.No,
                                            dev.IdKat.ToString());
    **tableAdapter.Update(dataTable);
    tableAdapter.Fill(dataTable);**     
    string id = addedRow.[0].ToString();
    tableAdapter.Update(dataTable);

そして、すべてが正常に動作します。しかし、すべての挿入/更新操作の後にデータテーブルを埋めるのは時間のかかる作業です。私は何が間違っているのですか?

4

1 に答える 1

0

わかりました、私はそれをドキュメントで見つけました

于 2012-05-21T10:03:29.870 に答える