DataTableを使った処理
- 題名: DataTableを使った処理
- 著者: とおる
- 日時: 2005/11/24 17:53:39
- ID: 13859
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: DataTableを使った処理
- 著者: なおこ(・∀・)
- 日時: 2005/11/24 18:00:25
- ID: 13860
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: DataTableを使った処理
- 著者: とおる
- 日時: 2005/11/24 19:02:06
- ID: 13861
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: DataTableを使った処理
- 著者: なおこ(・∀・)
- 日時: 2005/11/24 21:40:37
- ID: 13863
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: DataTableを使った処理
- 著者: とおる
- 日時: 2005/11/25 11:48:58
- ID: 13876
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: DataTableを使った処理
- 著者: なおこ(・∀・)
- 日時: 2005/11/25 12:04:30
- ID: 13877
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: DataTableを使った処理
- 著者: はいこーん
- 日時: 2005/11/25 12:26:27
- ID: 13878
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: DataTableを使った処理
- 著者: とおる
- 日時: 2005/11/25 13:15:39
- ID: 13880
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
お世話になります。
今DataReaderを使いDataGridにMDBを読み込ませ、一応更新はできるようになったのですが、一行値を変更して更新をかけようとすると、全部同じ値で更新されてしまいます。
なので、何行目というのを取得して、そこだけ更新をかけれるようにしたいのですが、どのようにすればよろしいでしょうか??総行数と行番号まではとれてます。
あと、削除や、新規追加の時に総行数や行番号がちゃんと変わるようにしたいのですが。何か良い方法がありましたらよろしくお願いします。
Private Shared Sub tblGakka_ColumnChanging(ByVal sender As Object, ByVal e As DataColumnChangeEventArgs)
Dim SJIS As System.Text.Encoding
SJIS = System.Text.Encoding.GetEncoding("Shift_Jis")
Dim TextWork As String
If (e.Column.ColumnName.Equals("学科")) Then
If Not (e.ProposedValue Is DBNull.Value) Then
TextWork = e.ProposedValue
If SJIS.GetByteCount(TextWork) > 40 Then
MessageBox.Show("「学科」で入力可能な文字数は、全角で20文字(半角40文字)以内です。", "「学科」入力エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
TextWork = SJIS.GetChars(SJIS.GetBytes(TextWork), 0, 40)
e.ProposedValue = TextWork
End If
End If
Dim cnn As New OleDbConnection
Dim cmd As New OleDbCommand
Try
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + _
Application.StartupPath + "\Database\Sp_dbv50.mdb"
cmd.Connection = cnn
cnn.Open()
cmd.CommandText = "UPDATE [T_学科] SET 学科 ='" & TextWork & "'"
cmd.ExecuteNonQuery()
Catch oExcept As Exception
'例外が発生した時の処理
MessageBox.Show(oExcept.ToString, "例外発生")
Finally
If Not cnn Is Nothing Then
cnn.Close()
End If
End Try
End If
End Sub
#End Region
Private Sub DG_Gakka_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DG_Gakka.CurrentCellChanged
Dim aa As Integer
DG_Gakka.CaptionText = "学科 - [ " & Format(Me.DG_Gakka.CurrentCell.RowNumber + 1, "#,###") & " / " & Format(tblGakka.Rows.Count, "#,###") & " ]"
aa = Me.DG_Gakka.CurrentCell.RowNumber + 1
End Sub
一応値が変わった時に更新がかかります。