- PR -

DataSetのHasChangesについて

1
投稿者投稿内容
未熟者
常連さん
会議室デビュー日: 2006/08/12
投稿数: 20
投稿日時: 2006-08-12 23:43
現在あるシステムを作っているのですがDataSetにレコードを追加した際にはHasChangesが反応してくれるのですが、削除を行ったときにHasChangesが反応せずExitで抜けてしまいます。なにが原因なのかご教授よろしくお願いします。

VisualStdio.NET 2003
WindowsXP Home
Access2000

R = ds.Tables("Bilu").Rows.Find(str)

ds.Tables("Bilu").Rows.Remove(R)

If ds.HasChanges = False Then
Exit Sub
End If



Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2006-08-13 00:39
諸農です。

ドキュメントに記載されているとおりRemoveしていることでDeleteされた行がコレクションから無くなっているからです。

コード:
R = ds.Tables("Bilu").Rows.Find(str)
ds.Tables("Bilu").Rows.Remove(R)



「R」変数にDataRowを取り出しているので、RemoveするのではなくてR.Delete()してください。
コレクションから削除するにはAcceptChanges()を呼び出します。

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
未熟者
常連さん
会議室デビュー日: 2006/08/12
投稿数: 20
投稿日時: 2006-08-13 01:33
諸農さんありがとうございました、無事解決できました。
1

スキルアップ/キャリアアップ(JOB@IT)