Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Sql Union VB.NET
domenica 16 dicembre 2007 - 21.25
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
riminese77
Profilo
| Junior Member
52
messaggi | Data Invio:
dom 16 dic 2007 - 21:25
Ciao a tutti, mi serve estrarre dallo stesso DB ma in due tabelle diverse, il numero di user presenti in quelle tabelle. Uso access e vb.net.
La mia SQL è la seguente:
SQL = "SELECT Count(User) as Qa FROM Allenatori UNION ALL SELECT count(user) as Qs FROM Associazione"
Per estrarre i dati uso :
Dim ds1 As OleDbDataReader = cmd.ExecuteReader
ds1.Read()
AllenatoriTotali = ds1.Item("Qa")
SquadreInTotale = ds1.Item("Qs")
Per allenatoritotali va bene, ma quando arriva a squadreintotale mi da l'errore:
System.IndexOutOfRangeException SQ .
Ora se prese singolarmente le due select funzionano...dove sbaglio?
grazie
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
dom 16 dic 2007 - 22:27
>Ora se prese singolarmente le due select funzionano...dove sbaglio?
L'operatore UNION restituisce l'unione di due o più query di SELECT in un unico resultset.
La query che hai scritto restituirà un resultset di una sola colonna chiamata Qa (perché come nome di colonna viene considerato solo quello relativo alla prima SELECT ignorando eventuali alias sulle altre query) e due righe relative rispettivamente alla prima ed alla seconda query.
Quindi, lato VB la prima Read ti restituirà AllenatoriTotali mentre una seconda il valore di SquadreInTotale.
>grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
riminese77
Profilo
| Junior Member
52
messaggi | Data Invio:
dom 16 dic 2007 - 23:19
PERFETTO!
ora ho inserito come mi hai detto tu, queste righe e funziona perfettamente!
ds1.read()
AllenatoriTotali = ds1.Item("Qa")
ds1.Read()
SquadreInTotale = ds1.Item("Qa")
ds1.Close()
Torna su
Stanze Forum
Elenco Threads
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 !