|
出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
Topに戻る
掲示板に戻る
検索
削除
管理者
|
| [5756] 無題 |
| 投稿者:ハムさん 2006/04/13 17:53:35 |
| はじめまして。 現在Windows2000、SQLServer2000でプログラムを組んでいるものです。 DBのテーブルに存在チェックを行い、 レコードの有無によって同テーブルにUpdate,Insert処理を x回実行したいのですが (DBにある数値データをカウントアップする為、 Update,Insertのデータは全部異なります)、 途中でエラーが発生して一度ループを抜けた後、 再度続きからループ処理を実行した場合、 ループ数以上の回数でInsert,Update処理が走っています。 (6回ループを回しているのに、DB処理が1000回実行されています) DB処理をコメントにしてループを確認しましたが、 正常にループしている為、一体どこでDB処理が異常回数走っているのか判断できません。 申し訳ありませんが、 この書込みに目の止まった方で、何か原因を思い当たる方は、 教えて頂けませんでしょうか。 どうぞ宜しくお願い致します。 --------------------------------------------------------------- Set conn = ----- For i=0 To x conn.BeginTrans Set rs1 = Server.CreateObject("ADODB.Recordset") '*********** ここより以下はFunction関数として別ファイルに記述 ************ strSQL = "select * from T_Test1 ----" rs1.Open strSQL , conn, adOpenDynamic, adLockReadOnly, adCmdText If Not rs1.EOF Then '---値の取得 --- rs1.Close Sql2 = "Update T_Test1 set ---" conn.Execute(Sql2) Else rs1.Close Sql2 = "Insert into T_Test1 ---" conn.Execute(Sql2) End If strSQL = "select * from T_Test2 ----" rs1.Open strSQL , conn, adOpenDynamic, adLockReadOnly, adCmdText If Not rs1.EOF Then '---値の取得 --- Else Sql3 = "Insert into T_Test2 ---" conn.Execute(Sql3) End If '********************** ここまで ****************************************** If (Err.Number = 0) Then conn.CommitTrans Else conn.RollbackTrans Exit For End If Next --------------------------------------------------------------- |
![]()
無題
ハムさん
[2006/04/13 17:53:35]
[5756]
|
Re:無題
暇人さん
[2006/04/17 11:35:21]
[5759]
発言者により削除されました!!
Lightningさん
[2006/04/17 13:03:52]
[5760]
|
|
TreeBBS For ASP V.0.1.3 |