VB6で作成しているシステム上から、SQLを発行し、
oo4oでレコードを編集しようとしています。
VB6のソースの一部を記載します。
lang
1'ダイナセットを作成する' 2Dim vstrSql As String 3Dim V_Arsl1 As OraDynaset 4Dim V_Arsl2 As OraDynaset 5 6vstrSql = "SELECT FROM DB_START WHERE ID = '00001' 7Set V_Arsl1 = g_oo4o_DB.CreateDynaset(vstrSql, ORADYN_NO_BLANKSTRIP + ORADYN_NOCACHE) 8 9vstSQL = "SELECT * FROM DB_A &_ 10WHERE NO_A IN ( &_ 11SELECT NO_B FROM DB_B WHERE ID = '012345')" 12Set V_Arsl2 = g_oo4o_DB.CreateDynaset(vstrSql, ORADYN_NO_BLANKSTRIP + ORADYN_NOCACHE) 13 14'(中略)' 15'ダイナセット1での更新処理' 16V_Arsl1.Edit 17 If V_Arsl1.EOF = False Then 18 Do Until V_Arsl1.EOF 19 V_Arsl1("FLG") = '0' 20 21 V_Arsl1.Update 22 V_Arsl1.MoveNext 23 Loop 24 Else 25 V_Arsl1.Close 26 Set V_Arsl1 = Nothing 27 End If 28 29'ダイナセット2の解放' 30V_Arsl.Close 31Set V_Arsl = Nothing 32 33'ダイナセット2での更新処理' 34V_Arsl2.Edit '//ここでエラーが出る' 35 If V_Arsl2.EOF = False Then 36 Do Until V_Arsl2.EOF 37 V_Arsl2("FLG") = '0' 38 39 V_Arsl2.Update 40 V_Arsl2.MoveNext 41 Loop 42 Else 43 V_Arsl2.Close 44 Set V_Arsl2 = Nothing 45 End If 46 47'ダイナセット2の解放' 48V_Arsl2.Close 49Set V_Arsl2 = Nothing 50
これを実行すると、
「実行時エラー440 OIP-04117 更新可能なセットではありません」
とエラーが出てしまいます。
このダイナセットの前に、別のダイナセットを作成して更新処理を行っています。
こちらのダイナセットでの更新処理は成功しています。
SQL文が問題なのかと思っているのですが、原因がわかりません。
ご教示いただければ幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/06/17 01:45
2015/06/17 01:52
2015/06/17 02:14
2015/06/17 02:18
2015/06/17 02:31
2015/06/17 02:49
2015/06/17 03:20
2015/06/17 03:57