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
補足
> 終わらずにどうなったのでしょうか?変化なしなんですか? 変化なしです。その他のボタンもききません。 > 他にチェックすべき点として、 > Unload MeとEndをForm_Unloadか、Form_QueryUnloadに書いていますか? いえ、書いてません。 書かないとまずいんですか?(初心者ですいません)