2011-08-16 24 views
7

ColdFusion Query nesnesinde count() işlevini kullanmak istedim.Sorgunun ColdFusion sorgusunda count() işlevini kullanın

<cfset x = querynew("id,name")> 

<cfquery name="y" dbtype="query"> 
    select count(*) as total from x 
</cfquery> 

<cfoutput>Test1: #y.total#</cfoutput> 

<cfset temp = QueryAddRow(x)> 
<cfset Temp = QuerySetCell(x, "id", 1)> 
<cfset Temp = QuerySetCell(x, "Name", "Vikas")> 

<cfquery name="y" dbtype="query"> 
    select count(*) as total from x 
</cfquery> 

<cfoutput>Test2: #y.total#</cfoutput> 

Ben işlevini dönüştürmek kullanmalısınız: Burada

benim kod ve test mi? Toplam [enpty string] ise, sonuç olmalıdır. Yoksa bunu yapmanın en iyi/uygun yolu var mı?

+0

Temelde değil MATH işlevi 'count' ama sayımı' gibi sıranın sayısını (*) 'SQL server – Vikas

cevap

10
Böyle görünüyor

ancak orada bir hata etrafında kolay bir yoldur. Basitçe val() içinde y.total sarmak yüzden okurdu: boş bir dize kendisine geçirilen ediliyorsa 0 döndürecektir

<cfoutput>Test1: #val(y.total)#</cfoutput> 
<cfoutput>Test2: #val(y.total)#</cfoutput> 

val().

+0

"recordCount" kullanarak bitti. Ama bu daha iyi görünüyor. – Vikas

2

Burada CF'de bir hata bulduğunuzu düşünüyorum (belki de @http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html oturumunu açın).

İlk sorgu 0 değil, [yok]!

Basit örneğinizde, QoQ ile tamamen dağıtmayı düşünüyorum ve sadece x.recordCount kullanın.

Ancak, QoQ'nuzda bir WHERE filtreniz varsa, bu çok fazla kesme işlemi değildir, bu durumda önerdiğiniz gibi bir şey yapmanız gerekecektir. Burada daha iyi bir yaklaşım göremiyorum. Eğer Adobe ile O böceği yükseltirseniz

, bu yüzden oy kullanabilirsiniz bize hata ref bildirmek için ;-)

- Adam

+0

yılında Zaten bir hata bildirildi mi? Ben bir tane bulamadım. – Tobias

+0

Heh. Bugbase'de bir arama yaptım ve aslında fark ettim * 2008'de bu durum için bir hata ürettim: http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html#bugId=73559. Tam olarak aynı değil, aynı sorunu gösteriyor. –

+0

Teşekkürler. Şimdi, bu problemi yaşayan tüm diğerleri gibi bir geçici çözüm ile çalıştım. btw: Bu bağlantı sadece çalışıyor, eğer giriş yaptım mı? – Tobias

-1

sadece de sorgu-nesne kullanımı satır sayısını isterseniz: # x.recordcount #

İlgili konular