通过asp直接调用sqlserver的存储过程和通过查询分析器得到的结果总有些小偏差是怎么回事?

来源:百度知道 编辑:UC知道 时间:2024/05/15 03:42:21
那段存储过程是先通过游标在一张表中插入若干行,最后查询该表,但是通过asp直接调用sqlserver的存储过程和通过查询分析器得到的结果总有些小偏差,是asp中的会无缘无故的少了十几行. 我该怎样解决这个问题。
CREATE proc renewstock
as
delete from newstock
declare @number varchar(100),@ptypeid varchar(100),@ktypeid varchar(100),@qty float,@ptypeid2 varchar(100),@ktypeid2 varchar(100),@qty2 float
declare cursor_stock cursor for select ptypeid,ktypeid,qty from goodsstocks
open cursor_stock
fetch next from cursor_stock into @ptypeid,@ktypeid,@qty
while @@fetch_status=0
begin
declare cursor_newstock cursor for select qty from newgoods where stateid='007' and succeed='1' and ptypeid=@ptypeid
open cursor_newstock
fetch next from cursor_newstock into @qty2
while @@fetch_status=0
begin
set @qty=@qty-@qty2
fetch next from cursor_newstock into @qty2
end
deallocate cursor_newstock
insert into newstock values(@ptypeid,@ktypeid,@qty)
fetch next from cursor_stock into @ptype

去死吧~

你可以把你的代码贴一下看看吗?

迷魂

把你asp调用和显示的代码贴出来看看,建议检查一下你显示部分的代码,看看是不是有显示属性限制了记录的显示。

1、newstock 这个表,改成临时表,可能存在并发的问题
2、考虑不要用游标,因为游标效率低,代码复杂

等你调整好了,问题就没了,我相信.

好长~