No.1ベストアンサー
- 回答日時:
>データセットのレコード更新がしたい
データセット?データセットにはレコードはありません
データテーブルにレコードがあります
こんな感じ
Dataset
└─DataTable
└─DataRowCollection
新規追加ができているなら更新は簡単です
まず更新したいレコードを検索する
検索できたら、そのレコードをDataRowにて取得する
その後、対象フィールドを上書きしてからDataTableのUpdateメソッドにて更新する
[例]
Dim dRow As DataRow
'主キーにて検索(※123は検索項目値)
dRow = dTbl.Rows.Find(New Object() {123})
If Not dRow Is Nothing Then
'フィールド更新
dRow.Item("hogehoge") = "ほげほげ"
dTbl.Update()
End If
No.3
- 回答日時:
こんな感じですかね
Dim strConn As String '接続文字列
Dim oleConn As OleDbConnection 'コネクション
Dim oleDa As OleDbDataAdapter 'データアダプタ
Dim oleCb As OleDbCommandBuilder 'コマンドビルダ
Dim strSQL As String 'SQL
Dim dttable As DataTable
Dim dtrow As DataRow
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\test.mdb"
oleConn = New OleDbConnection(strConn)
strSQL = "SELECT * FROM " & TableName
oleDa = New OleDbDataAdapter(strSQL, oleConn)
oleCb = New OleDbCommandBuilder(oleDa)
dttable = New dttable
oleDa.Fill(dttable)
oleDa.FillSchema(dttable)
dtrow = dttable.NewRow
dtrow("日付") = "20050401"
''行を追加
dttable.Rows.Add(dtrow)
''データソースを更新
oleDa.Update(dttable)
コマンドビルダは、データアダプタの「SelectCommand」を基にして
「InsertCommand」「UpdateCommand」「DeleteCommand」に自動でSQLを設定してくれます
まだ慣れないうちは、このコマンドビルダを使用してもよいでしょうが、
慣れてきたら個別に記述するのがよろしいでしょう
HOME > VB.NET Tips HOME > コントロール > DataSet
http://vbdotnet.fc2web.com/vbnet/control/DataSet …
この回答への補足
新規作成はできました。
更新は・・・
oleCmd.CommandText = "SELECT * FROM ファイル WHERE 日付 = '20050320';"
oleDa.SelectCommand = oleCmd
oleDa.Fill(dttable)
If dttable.Rows.Count > 0 Then
dtrow.BeginEdit()
End if
dtrow.BeginEdit()でエラーがでます。
オブジェクト参照がオブジェクト インスタンスに設定されていません。
新規作成ではdtrow = dttable.NewRowとしているので更新の場合もdtrow = ??としなければならないと思いますが・・・何をしたら良いかわかりません。
No.2
- 回答日時:
>Dataset
>└─DataTable
> └─DataRowCollection
Dataset
└─DataTableCollection
└─DataRowCollection
間違えました orz
この回答への補足
新規追加できてると思ったらできていなかったです・・・。データソースを更新する時に、
更新には、新しい行を含む DataRow コレクションが渡されたとき、有効な InsertCommand が必要です。
のエラーが出ます。
追加したい項目の書き方は・・・
dtrow = dttable.NewRow
dtrow("日付") = "20050401"
''行を追加
dttable.Rows.Add(dtrow)
''データソースを更新
oleDa.Update(dttable)
ではダメですか?
INSERT文でするのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
DataGridViewに空白がある場合はエラーにしたい
Visual Basic(VBA)
-
DataGridViewの内容をDBに反映する時
Visual Basic(VBA)
-
-
4
<VB.NET>INSERT文でDBにデータを入れたい
Visual Basic(VBA)
-
5
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
6
CloseとDisposeの違い
Visual Basic(VBA)
-
7
DataGrdViewに関連付けたデータの更新
C言語・C++・C#
-
8
ASP.NET OleDbConnectionが定義がされていません
Microsoft ASP
-
9
変数の参照でエラーが出てしまいます。(VB.NET)
Visual Basic(VBA)
-
10
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
11
exe間での引き値の受け取り方法
Visual Basic(VBA)
-
12
DataTableに入っているデータを全てinsertしたい!(C#)
Microsoft ASP
-
13
DataTableから条件を満たした行を別のDatatableへコピーしたい
その他(プログラミング・Web制作)
-
14
DataGridViewで指定したセルの値を取得
Visual Basic(VBA)
-
15
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
16
VBのReturnの使い方
Visual Basic(VBA)
-
17
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
18
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
19
FriendとPublicの違い。。。
Visual Basic(VBA)
-
20
VB.NETでのイベントの途中終了
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差し込み印刷のレコード数について
-
アクセスでレポートの1印刷内...
-
ファイル書込みで一行もしくは...
-
カレントレコードが無い事を判...
-
レコードセット(ADO.Recordset)...
-
レコードが存在しなかった場合
-
固有レコード識別子の選択とは
-
ACCESSで「16389予約済みエラー...
-
ADO VBA 実行時エラー3021
-
VB.netの戻り値が返ってこない
-
[VBA] ADOの Clone と AddNew
-
COBOLでのランダムアクセス
-
DataGridViewの内容をDBに反映...
-
DataGridViewの、選択されてい...
-
Access でレコードセレクタが押...
-
データセットのレコード更新が...
-
ACCESS VBA テーブルデータに...
-
ワードの差込印刷で教えて下さ...
-
ADODCとデータグリッドを連動さ...
-
VB6のRDOについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ADO VBA 実行時エラー3021
-
ファイル書込みで一行もしくは...
-
レコードが存在しなかった場合
-
カレントレコードが無い事を判...
-
アクセスでレポートの1印刷内...
-
JSPのNULLレコード表示について...
-
DataGridViewの、選択されてい...
-
固有レコード識別子の選択とは
-
Access でレコードセレクタが押...
-
データセットのレコード更新が...
-
レコードセット(ADO.Recordset)...
-
[VBA] ADOの Clone と AddNew
-
DataGridViewの内容をDBに反映...
-
ヘッダレコードとトレーラレコ...
-
DataGridViewにてセル以外をク...
-
差し込み印刷のレコード数について
-
サブレンジ分割されたNDB(富士...
-
ACCESSで大量の更新を行うと「...
-
Access を×ボタンで閉じ...
-
[VB6]プログレスバーコントロー...
おすすめ情報