在SQL查询中,我们使用WHERE IN
子句来过滤数据。当我在WHERE IN
子句中传递35000个字段时,ExecuteNonQuery
会抛出
对象引用未设置为实例异常
我在ExecuteNonQuery执行的地方使用了try catch,但异常没有捕获当前方法,它在父方法中捕获(按钮点击)
如果我将计数从35000减少到25000,则SQL查询可以正常工作。请帮忙。
SELECT * FROM COUNTRY WHERE CountryID in ('1','2',......'35000')
我也试过在SQL中使用Temp Table,发生了同样的错误。
IF OBJECT_ID('tempdb..#temp)IS NOT NULL DROP #TEMP
CREATE TABLE #TEMP
( CountryID int NULL)
INSERT INTO #TEMP VALUES ('1')
.
.
.
INSERT INTO #TEMP VALUES('10')
SELECT * FROM COUNTRY WHERE CountryID IN(SELECT CountryID from #temp)
对象null引用错误不是问题,我如何克服sql查询中的Where In子句问题。在sql查询中避免Where in子句的可能解决方案是什么。
请帮忙。感谢。
答案 0 :(得分:3)
请改用连接,这应该有效
...
for arrow in arrows:
if arrow.y < 500:
arrow.arrowFall()
arrow.positionArrow()
arrow.collisionLeft = collisionDetect(arrow, arrowleft)
arrow.collisionRight = collisionDetect(arrow, arrowright)
arrow.collisionUp = collisionDetect(arrow, arrowup)
arrow.collisionDown = collisionDetect(arrow, arrowdown)
else:
arrow.kill()
pygame.display.update()
for e in pygame.event.get():
...
if e.type == pygame.KEYDOWN:
if e.key == pygame.K_LEFT:
for arrow in (a for a in arrows if a.collisionLeft):
print "collided left " + str(arrow)
if e.key == pygame.K_RIGHT:
for arrow in (a for a in arrows if a.collisionRight):
print "collided right " + str(arrow)
...
答案 1 :(得分:0)
为什么不在两者之间使用?
SELECT * FROM COUNTRY WHERE CountryID between 1 and 10