DBを更新するアプリケーションにつきまして への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 るきお  (社会人)
投稿日時
2020/3/30 14:37:16
DataGridViewは使い方によって、プログラム方法が大きく変わります。
たとえば、データバインドしているかどうかは影響が大きいですし、他の使い方もやり方に影響します。
Tさんが、作っているうまく動かないプログラムを投稿していただければ、いろいろなことがわかるので、Tさんも回答者もお互いに時間が節約できます。
プログラムの量が多いようでしたら、動作する最小限のプログラムにして、投稿していただけるととても良いです。たとえば、本来7列あるところを2列版にするなど。
データバインドしている場合はDataTableの各行のRowStateプロパティを見ると、その行の変更有無・新規追加or削除が判断できるので、RowStateがDataRowState.Modifedの列(つまり、変更されている列)に対して、updateを今日の日付に更新するSQL文を実行するようにすれば目的は達成できると思います。使い方によってはもっとスマートな方法もあるかもしれません。
RowStateプロパティに応じて、SQLを発行する例はこちらのリスト18にありますので、あてはまるようでしたら参考にしてください。
http://rucio.o.oo7.jp/main/VBdotNet/Database/Database4.htm
たとえば、データバインドしているかどうかは影響が大きいですし、他の使い方もやり方に影響します。
Tさんが、作っているうまく動かないプログラムを投稿していただければ、いろいろなことがわかるので、Tさんも回答者もお互いに時間が節約できます。
プログラムの量が多いようでしたら、動作する最小限のプログラムにして、投稿していただけるととても良いです。たとえば、本来7列あるところを2列版にするなど。
データバインドしている場合はDataTableの各行のRowStateプロパティを見ると、その行の変更有無・新規追加or削除が判断できるので、RowStateがDataRowState.Modifedの列(つまり、変更されている列)に対して、updateを今日の日付に更新するSQL文を実行するようにすれば目的は達成できると思います。使い方によってはもっとスマートな方法もあるかもしれません。
RowStateプロパティに応じて、SQLを発行する例はこちらのリスト18にありますので、あてはまるようでしたら参考にしてください。
http://rucio.o.oo7.jp/main/VBdotNet/Database/Database4.htm
投稿者 T  (社会人)
投稿日時
2020/3/30 11:17:37
お世話になります。
DataGridViewをデータベースに繋いで編集ができるアプリを作っています。
現在、7カラム列がある内の一つを「更新日」にしています。
更新日は編集禁止になっているのですが、それ以外の6カラムの内、
どれか一つでも編集された場合は、updateの際に今日の日付が入るようにしたいです。
ただ、それに至るまでの道のりがわかりません。
ご教授いただければ幸いです。
DataGridViewをデータベースに繋いで編集ができるアプリを作っています。
現在、7カラム列がある内の一つを「更新日」にしています。
更新日は編集禁止になっているのですが、それ以外の6カラムの内、
どれか一つでも編集された場合は、updateの際に今日の日付が入るようにしたいです。
ただ、それに至るまでの道のりがわかりません。
ご教授いただければ幸いです。
for文を使ってそれぞれのRowstateがunchangedでないものを割り出し、該当行の更新日にTodayを代入することで対応できました。ご協力ありがとうございました。