TStored proc的錯誤 |
缺席
|
foxtw1983
一般會員 發表:4 回覆:1 積分:1 註冊:2007-08-02 發送簡訊給我 |
[code delphi] if (@CurrentCid >= @UpdateCid) begin set @UpdateCid = @CurrentCid set @upd_str ='update MemberInfo set AccGroupPV=AccGroupPV ' @strpv if (@count=1 and (@ChildCid=0 or @NewClass=0)) begin set @temp='' if (@OverG1GuestPV = 0) begin set @temp=', G1GuestPV=G1GuestPV ' @strpv select @newg1=G1GuestPV @pv from memberinfo where id=@CurrentId end else begin set @temp=', G1GuestPV=G1GuestPV-(' @strOverG1GuestPV ') ' @strpv ', OverG1GuestPV=' @strOverG1GuestPV select @newg1=G1GuestPV-OverG1GuestPV @pv from memberinfo where id=@CurrentId end set @upd_str=@upd_str @temp --加入g1log insert into g1log(id,G1GuestPV,npreguestpv,nid,saleid,pdate) values(@Id,@newg1,@CurrentPreGuestPV,@CurrentId,@strId,convert(char(12),getdate(),111)) if (@@error != 0) or (@@rowcount=0) begin set @error='計算上線積分錯誤' raiserror(@error,16,1) rollback tran return end set @upd_str=@upd_str @temp end set @strCurrentId=str(@CurrentId) set @upd_str=@upd_str ' where Id=' @strCurrentId --@CurrentId此時應是原來的上線而非@ParentId --update MemberInfo set GroupPV=GroupPV @PV,AccGroupPV=AccGroupPV @PV, TeamPV=TeamPV @PV where Id=@CurrentId exec(@upd_str) if (@@error != 0) or (@@rowcount=0) begin set @error='計算上線積分錯誤' raiserror(@error,16,1) rollback return end [/code] 以上這段程式是前輩寫的預存程序(MS SQL 2005)~在studio裡面跑是OK的~但是實際上在delphi3 上跑卻出現此段問題' 資料行名稱G1GuestPV 在結果資料清單中出現不只一次' 之後繼續跑又出現'couldn't perform the edit because another user changed the record' 不知道以上這段程式提供的足不足~但是我找到問題應該是這段吧~ 希望各位前輩們可以給我點意見~感謝~ |
qqqufo
一般會員 發表:1 回覆:17 積分:8 註冊:2007-06-01 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |