Funzione count in select

lunedì 04 luglio 2011 - 00.57

mauri1961 Profilo | Senior Member

Ho creato una pagina dove devono essere estrapolati dei totali dalla lettura di una serie di tabelle sqlserver.
Ho inserito questo codice al caricamento della pagina. La prima select mi permette di visualizzare la testata e funziona attraverso
un campo che proviene da una pagina precedente.

La seconda select attraverso la funzione count dovrebbe contarmi tutti gli elementi presenti e mostrarmeli nella pagina
attraverso il campo contaiscri, in realtà il risultato che mi mostra è zero...




Sub page_load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Labelprova.Text = Session.Item("linkfield")
Dim conn As New SqlConnection(".......")
Dim command As New SqlCommand("select oss_codice, oss_descrizione from web_ooss where oss_codice=' " & Session("linkfield").ToString() & "'", conn)
conn.Open()
Dim dr1 As SqlDataReader = command.ExecuteReader()
If dr1.Read Then
Label3.Text = dr1("oss_descrizione").ToString
Label24.Text = dr1("oss_descrizione").ToString

End If
conn.Close()
Dim contaiscri As Integer
Dim conn2 As New SqlConnection(".....")
Dim command2 As New SqlCommand("select count(*) as contaiscri from web_sinda where SIN_SINDACATO=' " & Session("linkfield").ToString() & "' order by sin_cognome", conn)
conn.Open()
Dim dr2 As SqlDataReader = command.ExecuteReader()
If dr2.Read Then
Label5.Text = contaiscri


End If
conn.Close()

End Sub


Grazie, Maurizio

Gho5t Profilo | Junior Member

Ciao,
quando una select count ti mostra 0 significa che non ci sono righe che corrispondono alla richiesta della query...
inoltre essendo solo una select count non ti conviene mettere l'order by, tanto non serve a nulla ordinarla se devi soltanto contare le righe...
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

non ci sono errori... l'unica cosa che devi controllare è il valore della variabile di sessione "Session("linkfield").ToString()"... prova a stamparlo a video e vedere se facendo una query sul DBMS ti da sempre come risultato 0...
Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui

mauri1961 Profilo | Senior Member

il linkfield funziona perchè a video mi viene mostrato correttamente e lo utilizzo anche per passarlo su altre pagine. Ho effettuato qualche modifica al sorgente ma tuttavia continua a ritornarmi uno zero...

Non potrebbe essere l'errata visualizzazione del campo contaiscri, magari perchè ho sbagliato le istruzioni per visualizzarlo nella label ?

Sub page_load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Labelprova.Text = Session.Item("linkfield")
Dim conn As New SqlConnection(".......")
Dim command As New SqlCommand("select oss_codice, oss_descrizione from web_ooss where oss_codice=' " & Session("linkfield").ToString() & "'", conn)
conn.Open()
Dim dr1 As SqlDataReader = command.ExecuteReader()
If dr1.Read Then
Label3.Text = dr1("oss_descrizione").ToString
Label24.Text = dr1("oss_descrizione").ToString

End If
conn.Close()

Dim contaiscri As Integer
Dim conn2 As New SqlConnection(".....")
Dim command2 As New SqlCommand("select count(*) as contaiscri from web_sinda where SIN_SINDACATO=' " & Session("linkfield").ToString() & "'", conn2)
conn2.Open()
Dim dr2 As SqlDataReader = command2.ExecuteReader()
If dr2.Read Then
Label5.Text = contaiscri


End If
conn2.Close()

End Sub


Grazie, Maurizio

matteocotugno Profilo | Newbie

Ciao.
Premetto che anche io sono alle prime armi.

Prova in questo modo:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Ciao

Gho5t Profilo | Junior Member

non l'avevo visto prima... ma tu non valorizzi la variabile contaiscri... prova a fare questo codice:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5