Query con errore

domenica 20 dicembre 2009 - 19.26

Fapic Profilo | Junior Member

Ciao a tutto il forum

avrei un problema che da giorni mi tormenta, uso la seguente query in uno script asp.net visual basic

"SELECT password FROM Tabella1 Where matricola = '23'"

questa query seleziona tuttiv i campi password dove il campo matricola è uguale a 23, e fino a qua va tutto bene,

il problema è che se non trova nessun campo matricola con valore 23 mi da errore la pagina mentre io vorrei che mi desse esempio un qualsiasi altro valore , basta che non sia un errore di pagina:
come posso fare ?

alx_81 Profilo | Guru

>Ciao a tutto il forum
Ciao

>il problema è che se non trova nessun campo matricola con valore
>23 mi da errore la pagina mentre io vorrei che mi desse esempio
>un qualsiasi altro valore , basta che non sia un errore di pagina:
>come posso fare ?
se una query non ti torna nulla non ti viene restituito nessun errore.
L'errore si verifica perchè probabilmente assegni l'oggetto che vai a popolare con la query a qualcosa che non ammette un oggetto "vuoto".
Puoi passare la parte di codice in cui ottieni l'errore?

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Fapic Profilo | Junior Member

Ciao ALX infatti hai ragione, l'errore è che quando la query non trova quello che cerca
viene assegnato ad una variabile un valore che non esiste ti posto il codice.

questa è la select:
"SELECT password,nome,cognome,matricola FROM Tabella1 Where matricola = '23'"

Dim mat as String
mat = (lettdati("matricola"))

Ok quando nel db c'è nella colonna matricola un valore 23 va tutto bene, ma se lo tolgo mi va in errore.

come posso risolvere il problema ?

alx_81 Profilo | Guru

>Dim mat as String
>mat = (lettdati("matricola"))
>come posso risolvere il problema ?
cosa fa lettdati?

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Fapic Profilo | Junior Member

lettdati è un datareader

praticamente credo che quando la query non trova nulla non assegna alla variabile
un valore e questo genera un errore

alx_81 Profilo | Guru

>lettdati è un datareader
Allora prima di leggere il dato, controlla la proprietà HasRows del tuo datareader.
se è true allora puoi leggere altrimenti no.

If lettdati.HasRows Then ' leggi End If
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Fapic Profilo | Junior Member

Ti ringrazio Alx èra proprio questo grazie mille......
a buon rendere

alx_81 Profilo | Guru

>Ti ringrazio Alx èra proprio questo grazie mille......
>a buon rendere
se ritieni che ti abbia aiutato, accetta la risposta così chiudiamo il thread
Questo sempre nello spirito di dare evidenza a chi arriva sul forum della risoluzione della risposta.
La banda verde di solito non mente

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5