C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: データグリットビューで変更した値をDBに更新


(過去ログ 115 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■67668 / inTopicNo.1)  データグリットビューで変更した値をDBに更新
  
□投稿者/ マル (1回)-(2013/08/23(Fri) 00:10:14)

分類:[.NET 全般] 

環境:
WindowsXP
VB2008
SQLServer2008

お世話になります。

データグリットビューで変更した値をDBに更新する方法について、
調べて実行してみましたが、DBに変更後の値が反映されていないので
アドバイス願います。

Formにある更新ボタンを押すとそのFormのデータグリットビューの
変更した値がテーブルに登録されるようにしたいです。

更新ボタン押下時のコードは以下になります。

Private Sub BtnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUpdate.Click

SampleBindingSource.EndEdit() 'BindingSourceの変更をコミット
Dim dataadapter As New SqlDataAdapter
dataadapter.Update(SampleDataSet, "TestTable")

End Sub

知識不足の為、解決方法がわからず、
ずっと迷っています。どうかよろしくお願いします。
引用返信 編集キー/
■67669 / inTopicNo.2)  Re[1]: データグリットビューで変更した値をDBに更新
□投稿者/ WebSurfer (36回)-(2013/08/23(Fri) 00:17:16)
No67668 (マル さん) に返信
> 環境:
> WindowsXP
> VB2008
> SQLServer2008
>
> お世話になります。
>
> データグリットビューで変更した値をDBに更新する方法について、
> 調べて実行してみましたが、DBに変更後の値が反映されていないので
> アドバイス願います。

bin フォルダにコピーされた mdf ファイルが更新されているということではありませんか?
引用返信 編集キー/
■67671 / inTopicNo.3)  Re[2]: データグリットビューで変更した値をDBに更新
□投稿者/ マル (2回)-(2013/08/23(Fri) 07:36:28)
binフォルダのmdfを調べてみましたが、
更新されていませんでした。

ちなみに、更新ボタン押下時にエラーは出ていないです。。

引用返信 編集キー/
■67681 / inTopicNo.4)  Re[3]: データグリットビューで変更した値をDBに更新
□投稿者/ しま (22回)-(2013/08/23(Fri) 10:09:15)
No67671 (マル さん) に返信
>Private Sub BtnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUpdate.Click
>
>SampleBindingSource.EndEdit() 'BindingSourceの変更をコミット
>Dim dataadapter As New SqlDataAdapter
>dataadapter.Update(SampleDataSet, "TestTable")
>
>End Sub

このコードで更新できると考える根拠は何ですか?
dataadapter は new した直後で SqlDataAdapter 型ということ以外操作対象の SampleDataSet に対する知識は有りませんね?
更に、表示している DataGridView には SampleDataSet をバインドしていますか?
SampleBindingSource.EndEdit() の SampleBindingSource は何者ですか?
DataGridView の BindingSource なのですか?
SampleBidingSource と SampleDataSet との関係は何ですか?
こういう肝心の事柄に何も触れていないので他人の私にはどこに問題があるかはっきり切分けが出来ません
引用返信 編集キー/
■67682 / inTopicNo.5)  Re[1]: データグリットビューで変更した値をDBに更新
□投稿者/ 魔界の仮面弁士 (313回)-(2013/08/23(Fri) 10:10:14)
No67668 (マル さん) に返信
> データグリットビューで変更した値をDBに更新する方法について、
グリット ではなく
グリッド ですかね。DataGridView なので。


> 調べて実行してみましたが、DBに変更後の値が反映されていないので
> アドバイス願います。
もしかして、プロジェクトにデータファイル(mdf とか sdf とか)を含めていませんか?

その場合、ソリューション エクスプローラーの『出力ディレクトリにコピーする』の
設定が「常にコピーする」になっていると、ビルドのたびに、前回の結果が
上書きされますので、この部分の設定を見直してみてください。
引用返信 編集キー/
■67694 / inTopicNo.6)  Re[4]: データグリットビューで変更した値をDBに更新
□投稿者/ マル (3回)-(2013/08/24(Sat) 00:03:01)
アドバイスありがとうございます。
わかりにくい説明ですみませんでした。

1.データベースOPEN
2.トランザクション開始
3.検索結果にあるキー項目の取得
4.取得したキーに一致するデータをSELECT
5.更新項目取得
6.Loopで更新したデータをデータテーブルにセットしていく
7.dataAdapterのUPDATEコマンド実行

を行い、何とか更新処理を作成することができました。

7のUPDATEコマンドを実行するだけで簡単にデータを更新できるかと思っていたのですが、
DataAdapterのしくみをまったくわかっていなかったということで、
今後、本などを通して理解を深めたいと思います。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -