• ベストアンサー

VB2005でAddNew()

VB2005Express、SQLServer2005にて開発を行っています。 テーブルに対してSELECTを行った結果、該当レコードがなかったらAddNewでレコードを追加しようと実行すると 「現在のRecordsetは更新をサポートしていません。プロバイダか選択されたロックタイプの限界の可能性があります。」 というエラーが発生します。 レコードセットのパラメータを色々変えてみたのですが状況が変わりません。どなたか原因がお分かりの方いらっしゃいましたら教えて下さい。 Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset strCn = "Provider=WWW;Password=XXX;User ID=YYY;Data Source=ZZZ;Persist Security Info=True" cn.Open(strCn) cn.BeginTrans() Try strSQL = "SELECT * FROM テーブル1"   rs.Open(strSQL, cnGSTAFF, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) If rs.EOF Then '登録 rs.AddNew() rs.Fields("コード").Value = 10000 rs.Fields("内容").Value = "OK" Else '更新処理 End If rs.Update() rs.Close() cn.CommitTrans() cn.Close() Catch ex As Exception rs.Close() cn.RollbackTrans() End Try

質問者が選んだベストアンサー

  • ベストアンサー
noname#259269
noname#259269
回答No.1

直接の回答ではないですが、 .NET 使っているんだから、 ADO.NET の利用を強くお勧めします。

madamadahiyoko
質問者

お礼

回答していただきありがとうございます。 お礼が遅くなって申し訳ありません。 ADO.NETを勉強して使用してみます。

その他の回答 (1)

  • JeanneNet
  • ベストアンサー率48% (100/208)
回答No.2
madamadahiyoko
質問者

お礼

回答していただきありがとうございます。 俺が遅くなって本当にすいません。 早速見に行ってみます!

関連するQ&A