- ベストアンサー
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
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
直接の回答ではないですが、 .NET 使っているんだから、 ADO.NET の利用を強くお勧めします。
その他の回答 (1)
- JeanneNet
- ベストアンサー率48% (100/208)
お礼
回答していただきありがとうございます。 俺が遅くなって本当にすいません。 早速見に行ってみます!
お礼
回答していただきありがとうございます。 お礼が遅くなって申し訳ありません。 ADO.NETを勉強して使用してみます。