2016-04-07 34 views
0

Bir SQL sorgusunda, verileri filtrelemek için WHERE IN maddesini kullanıyoruz. Ben WHERE IN fıkrada 35000 alanları geçirerek zaman ExecuteNonQueryQuery WHERE IN yan tümcesi çalışmadı

Nesne başvurusu bir örneği istisna ben ExecuteNonQuery excuted nerede deneyin catch kullandık

olarak ayarlanmamış atıyor, ama istisna akımını catched değil yöntem, ana yöntemde yakalandı (düğme tıklama)

Sayımı 35000'den 25000'e düşürdüğümde SQL sorgusu düzgün çalışır. Lütfen yardım et.

SELECT * FROM COUNTRY WHERE CountryID in ('1','2',......'35000') 

SQL'de Temp Table'ı kullanmayı denedim, Aynı hata oluştu.

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) 

nesne null başvuru hatası

i sql sorgusunda fıkra sayısında nerede üstesinden nasıl sorun değildir. Sql sorgusunda Where in cümlede kaçınmak için olası çözüm ne olurdu.

Lütfen

Yardım edin. Teşekkürler.

+1

çalışması gerekir yerine katılmak? – jarlh

+0

[Nesne başvurusu bir nesnenin örneğine ayarlanmadı ne anlama gelir? "Ortalama?) Olası yinelenmesi (http://stackoverflow.com/questions/779091/what-does-object-reference-not-set-to-an -instance-of-an-object-mean) –

+0

Kodunuzu –

cevap

3

kullanılması, bu ürünü kullandığınız DBMS hangi

SELECT * FROM COUNTRY c INNER JOIN #temp t on c.CountryId=t.CountryId 
+0

kodunuzu denediğimi gösterdi. – Cegone

+0

Sizin için çalıştı, lütfen cevabı doğru olarak işaretleyin :) –

0

Neden sadece arada kullanmıyorsunuz?

SELECT * FROM COUNTRY WHERE CountryID between 1 and 10

+2

Belki de boşluklar var mı? – jarlh

+0

@jarlh Hangi ID'yi seçeceğimi bilmiyorum ama "OR", "SELECT * CountryID", 1 ve 4 arasındaki ülke sayısını veya 8 ve 10 " – crimson589

+0

arasındaki CountryID değerini 1'den 10'a kadar kullanabilirsiniz. Örneğin; id '12584', 65845 ',' 75896 'bu gibi olurdu .. – Cegone

İlgili konular