- - PR -
オートナンバー型を含むデータベース更新
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-10-31 07:16
たびたびお世話になります。
ASP.NETとVB.NETにて作業しています。主キーをオートナンバー型に 設定したデーターベースからデータセットを生成し、そこに新たに行を 加えてデータベースを更新したいのですが、 Parameter ?_1 にデフォルト値がありませんというエラーがでてしまいます。 Dim strInsert As String = "INSERT INTO tblCustomer(ID,Name) VALUES(?,?)" Dim prmID As New OleDbParameter("ID", OleDbType.VarChar, 50) Dim prmName As New OleDbParameter("Name", OleDbType.VarChar, 50) cmdcust.Parameters.Add(prmID) cmdcust.Parameters.Add(prmName) cmdcust.CommandText = strInsert cmdcust.Connection = connection() objDACust.InsertCommand = cmdcust objDACust.Update(データセット, "テーブル名") <-ここでエラーとなる objDSCust.AcceptChanges() 以上が更新の為のコードです。IDというのがオートナンバー型の主キーです。 他の方のスレッド等も探してみたのですがうまく自分のプログラムに応用 できません。どなたかご教示いただけますでしょうか? よろしくお願いします。 |
|
投稿日時: 2004-11-01 00:06
パラメータの設定が必要です。
objDACust.InsertCommand.Parameters["Name"].Value = Name 私の経験ではオートナンバー型主キーはINSERT文にパラメータ追加しません。 Dim strInsert As String = "INSERT INTO tblCustomer(Name) VALUES(?)" でいいのでは無いでしょうか? SelectCommand には必要です。 Update/DeleteにはWhere文に必要です。 _________________ えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12 えムナウのプログラミングのページ Blog1 Blog2 |
|
投稿日時: 2004-11-03 02:15
えムナウさん、
オートナンバー型主キーをパラメータからはずしてパラメータの設定を やり直したらうまく動くようになりました。どうもありがとうございました! |
1