- PR -

データセットに新規登録するには

1
投稿者投稿内容
ゆっき
常連さん
会議室デビュー日: 2005/03/29
投稿数: 20
投稿日時: 2005-04-01 15:30
会議内容.mdbの内容ファイルテーブルに日付を更新したいのですが、
データソースの更新でエラーがでます。
INSERT文が必要みたいですが、どうしたら良いのでしょうか?
エラー:更新には、新しい行を含む DataRow コレクションが渡されたとき、
    有効な InsertCommand が必要です。

Dim dtset As DataSet = New DataSet(会議内容)
oleCn.Open()

oleDa = New OleDbDataAdapter("SELECT * FROM 内容ファイル;", oleCn)
oleDa.Fill(dtset, 内容ファイル)

dttable = dtset.Tables(内容ファイル)

dtrow = dttable.NewRow
dtrow.Item("日付") = "20050401"
dttable.Rows.Add(dtrow)
''データソースを更新
oleDa.Update(dttable)

調べましたがInsertCmmandがいるみたいですね。
更新したいフィールドが30個ほどあるのですが、全部INSERT文に書いて
更新するしか方法はないのでしょうか?

[ メッセージ編集済み 編集者: ゆっき 編集日時 2005-04-01 15:56 ]

根本的に間違っていたらしく解決しました。

[ メッセージ編集済み 編集者: ゆっき 編集日時 2005-04-01 17:03 ]
えムナウ
大ベテラン
会議室デビュー日: 2004/06/10
投稿数: 187
お住まい・勤務地: 東京
投稿日時: 2005-04-02 11:53
OleDbDataAdapter コンストラクタ のヘルプを見てください。

以下のような例が載っていると思います。
ご自分のプログラムに合わせて実装してください。

custDA.InsertCommand = new OleDbCommand("INSERT INTO Customers (CustomerID, CompanyName) " +
"VALUES (?, ?)", myOleDbConnection);
custDA.InsertCommand.Parameters.Add("@CustomerID", OleDbType.Char, 5, "CustomerID");
custDA.InsertCommand.Parameters.Add("@CompanyName", OleDbType.VarChar, 40, "CompanyName");

_________________
えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12
えムナウのプログラミングのページ Blog1 Blog2
ゆっき
常連さん
会議室デビュー日: 2005/03/29
投稿数: 20
投稿日時: 2005-04-04 12:49
できました!ありがとうございました!!
1

スキルアップ/キャリアアップ(JOB@IT)