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

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

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

Re[3]: グリッド自体に値を入力して更新


(過去ログ 46 を表示中)

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

■24567 / inTopicNo.1)  グリッド自体に値を入力して更新
  
□投稿者/ データベース (15回)-(2008/09/04(Thu) 10:50:01)

分類:[.NET 全般] 

おせわになっております。
デザイン、ボタン1、ボタン2、グリッド
現在VB2005 SQLデータベースを勉強中です。
今回やりたいことは、タイトルにも書いてありますが、グリッド自体に値を入力してボタン2が押されたときに更新される
をやりたいのですが下のプログラムを元にどのようにプログラムを組めば出来るのでしょうか?
ヒントまたは、解説よろしくお願いいたします。

Imports System.Data.OleDb
Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'▼データ取得
'接続先の設定()
Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\starsystem.STARSYST-DE959A\デスクトップ\Sql_SS1.mdb")
'SQLを蓄えておく先()
Dim SQLCm As OleDbCommand = Cn.CreateCommand
'データの情報を蓄える()
Dim Table As New DataTable
SQLCm.CommandText = "SELECT * FROM usr "
'上のSQL文を格納する()
Dim Adapter As New OleDbDataAdapter(SQLCm)
Adapter.Fill(Table)
DataGridView1.DataSource = Table
'表示する
Adapter.Dispose()
SQLCm.Dispose()
Cn.Dispose()

End Sub
End Class

引用返信 編集キー/
■24569 / inTopicNo.2)  Re[1]: グリッド自体に値を入力して更新
□投稿者/ データベース (16回)-(2008/09/04(Thu) 11:24:27)

テーブル名usr
ーーーーーーーーーーーーーーー
|番号|名前  |  部署 
|  1|   林|システム部
|  2|  小林|営業部
|  3|   森|システム部
|  4|  荒木|営業部
|  5|  杉木|システム部
|  6|  堀部|営業部

データベースです。
いらなければするーしてください。




引用返信 編集キー/
■24582 / inTopicNo.3)  Re[2]: グリッド自体に値を入力して更新
□投稿者/ ロック (84回)-(2008/09/04(Thu) 14:11:32)
やり方は、たくさんありますが

前回と同じ所なんですが、↓ココ参照でたぶんできます。
http://www.atmarkit.co.jp/fdotnet/basics/adonet06/adonet06_03.html

http://itpro.nikkeibp.co.jp/article/COLUMN/20071108/286749/?ST=develop&P=3


DataAdapterを使っているなら、Update()だけで更新は可能になります。
ポイントはDataAdapterをクラス変数にして
さらにSqlCommandBuilder()を呼ぶことです。
#ただし、SqlCommandBuilderはテーブルに主キーが無いと使えません。

もしくは、DataTableのGetChanges(DataRowState.Modified)で更新部分だけ
取得し、個別にOleDbCommand作ってExecuteNonQuery()とか
(更新部分だけじゃなく、DataTableからDataRowを1件ずつでも可
 その場合は、DataRowのRowStateで更新有無が判定可能)

とりあえず、DataGridViewに入力した内容はデータバインドによりDataTableにも
反映されるため、DataGridViewの値をどうするかよりDataTableの値で
どう更新するかになると思います。

引用返信 編集キー/
■24627 / inTopicNo.4)  Re[3]: グリッド自体に値を入力して更新
□投稿者/ データベース (17回)-(2008/09/05(Fri) 11:37:39)
No24582 (ロック さん) に返信
お返事遅れてすみません。
急に忙しくなってしまいましたので・・・。

今からロックさんのおっしゃってることを実行したいと思います
出来ましたら報告いたします。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -