2

DataTable オブジェクトを返す関数を作成しています。を使用しDataTable.Load( DataReader)て DataTable にデータを入力しています。ただし、私が理解しているように、基になる DataReader は ReadOnly、Forward-only です。DataTable に読み込まれると、DataTable.Rows(x).Column(y).ReadOnly = False他のプログラマーは、値を設定してからデータを更新することができます。

関数が返す DataTable が ReadOnly であることを確認する方法はありますか? 昔の ADODB では、ADODB.LockTypeEnum を使用して、返されたレコードセットが読み取り専用であることをマークしていました。

ReadOnly とは、(返された DataTable を取得する) 関数の呼び出し元が Rows データを変更したり、まったく更新したりできないことを意味します (つまり、読み取り専用)。

4

2 に答える 2

2

関数が返す DataTable が ReadOnly であることを確認する方法はありますか?

いいえ、通常、読み取り専用にする方法や方法はありません。DataViewこの目的のためのプロパティを持つとは異なりAllowEdit(そのため、代わりに DataView を返すことができます)。

テーブルの変更を回避する唯一の方法は、イベントを処理して後でRowChanged呼び出すことです。RejectChanges

于 2012-12-30T18:03:47.817 に答える