资源不足,部分结果已被除去 .

原文地址: http://blog.csdn.net/feiyingnet/article/details/4421217
在SQLServer2000中,尝试执行以下语句:
[javascript] viewplain copy print ?
  1. declare@iint

  2. declare@jint

  3. set@i=10000

  4. set@j=0

  5. while@j<=@i

  6. begin

  7. selectcast(@jasvarchar(20))

  8. set@j=@j+1

  9. end

declare @i int declare @j int set @i=10000 set @j=0 while @j<=@i begin select cast(@j as varchar(20)) set @j=@j+1 end
执行这条语句,会出现“资源不足,部分结果已被除去”(服务器够牛的话可能不会出现,如果不出现,就尝试修改@i的值,当@i一定大的时候,肯定会出现!这可能跟数据库某些设置有关吧,暂时还不清楚是跟哪有关)

这个问题我困扰了很久,一直对这句话都理解不了,今天从下午三点一直研究到晚上十一点,主要都是从内存、CPU、磁盘IO方面入手去研究,发现所有状态都十分正常!晚上回家,跟同学讨论了一下这个问题,他对数据库不熟,但对C++开发很熟,他站在软件开发的角度说:“这应该跟显示出来的那个控件有关。”一语惊醒梦中人哪,于是我把select出来的值插到临时表,防止它以表格的形式输出,就这样问题解决!

原来这并不是我的程序问题,应是sqlserver它已设定了只能显示多少个DBGrid控件,当多次执行selectXXX时,就会调出多个这个控件,当超过预设时,剩下的结果就没办法显示了,于是就报“资源不足,部分结果已被除去”的错误,其实这个提示并不影响程序执行的最终结果(除了显示出来的数据有丢失外)。

你可能感兴趣的:(.,资源不足,部分结果已被除去)