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
ASP.NET 1.0/1.1
Controllo su mydatareader!
mercoledì 29 settembre 2004 - 16.53
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Bronzo
Profilo
| Junior Member
114
messaggi | Data Invio:
mer 29 set 2004 - 16:53
Allora devo effettuare un controllo per vedere se può essere effettuato un datareader (ciè la select non restituisce un valore vuoto)
quindi devo controllare se è possibile effetuare:
myDataReader2=myCommand2.ExecuteReader()
sapete come fare? Senza usare il Try però!
Grazie!
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 29 set 2004 - 16:56
Fammi capire meglio, te devi controllare con una query di Select se la tabella contiene determinati record oppure No?
Ciao
fabio
Bronzo
Profilo
| Junior Member
114
messaggi | Data Invio:
mer 29 set 2004 - 16:57
Io effettuo una query, ma non è detto che questa mi dia un risultato, devo vedere se mi da risultato o no!
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 29 set 2004 - 17:27
Scusami mi puoi spiegfare meglio cosa intendi per:
quindi devo controllare se è possibile effetuare:
myDataReader2=myCommand2.ExecuteReader()
sapete come fare? Senza usare il Try però!
Ciao
Fabio
Bronzo
Profilo
| Junior Member
114
messaggi | Data Invio:
mer 29 set 2004 - 17:47
Se eseguo myDataReader2=myCommand2.ExecuteReader() e il risultato della queri è nullo (non restituisce record) mi viene l'errore:
No value given for one or more required parameters.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.OleDb.OleDbException: No value given for one or more required parameters.
Source Error:
Line 125:
Line 126: myCommand2 = New OleDbCommand ("SELECT Note, Codice From " & Table & " Where Codice='" & Code & "'", myConnection2)
Line 127: myDataReader2=myCommand2.ExecuteReader()
Line 128: If myDataReader2.Read=False Then
Line 129: myDataReader2.Close()
devo fare in modo che se il reader non può essere letto allora fa un'azione, altrimenti un'altra!
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 29 set 2004 - 18:05
la procedura a prima vista sembra corretta, anche io faccio così, ti consiglio di non forzare il datareader, ossia fai così:
if datareader() then
esle
end if
Ciao
Fabio
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 29 set 2004 - 18:06
mi sono confuso
if datareader.read() then
else
end if
Ciao
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 29 set 2004 - 18:07
...e controlla bene la query di Select
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 29 set 2004 - 18:48
Ciao Bronzo,
io di solito in C# scrivo:
while (dr.Read())
{
}
Se non ci sono record esce dal ciclo e prosegue senza errori.
Dentro nel ciclo puoi mettere anche un counter se vuoi, se dopo il ciclo è a zero significa che non c'erano record.
ciao
david
Bronzo
Profilo
| Junior Member
114
messaggi | Data Invio:
mer 29 set 2004 - 20:33
Il problema è qua:
myDataReader2=myCommand2.ExecuteReader()
lui mi da errore qui, sul caricamento del reader
non arrivo a fare myDataReader.Read o If myDataReader.Read=Fale
Perché mi da errore sul caricamento del reader!
:|
help me ;)
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 30 set 2004 - 09:29
Domanda banale..ma l'oggetto datareader l'hai dichiarato?
Dim dr as OleDbDatareader
Ciao
Fabio
Bronzo
Profilo
| Junior Member
114
messaggi | Data Invio:
gio 30 set 2004 - 10:09
Si
Dim myDataReader As OleDbDataReader
!!!
Bronzo
Profilo
| Junior Member
114
messaggi | Data Invio:
gio 30 set 2004 - 10:16
Dim myDataReader2 As OleDbDataReader
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 30 set 2004 - 10:27
Secondo me l'unica cosa è che si controlla passo passo il codice..Se vuoi postami il database ed il progetto e te lo controllo
Ciao
Fabio
Bronzo
Profilo
| Junior Member
114
messaggi | Data Invio:
gio 30 set 2004 - 17:49
Ho trovato l'errore ma cmq non so come superarlo!
Il problema è questo:
il comando HasRows mi dice se il record è stato trovato o meno!
Quindi
Select campo1, campo2
If myDataReader.HasRows Then
Response.Write("CIAO")
Else
Response.Write("O NO")
End If
Fino qui tutto ok, il problema è quando il campo1 o il campo2 sono vuoti! Lui nno riesce a riempire il datareader e mi da errore!
Come faccio a evitare questo inconveniente?
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 30 set 2004 - 17:55
Si ma come anche ti ha detto precedentemente David quando fai una datareader,read() se è pieno è uguale a true altrimenti è false ma nel caso in cui non dovrebbe riempirsi non ti dovrebbe dare l'errore..nella peggiore delle ipotesi puoi utilizzare il try..catch..end try..
Ciao
Fabio
Bronzo
Profilo
| Junior Member
114
messaggi | Data Invio:
gio 30 set 2004 - 17:58
Il fatto è che nno vorrei usare il try, se il campo e Null lui l'errore me lo da e come, pure se il record c'é!
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 30 set 2004 - 18:02
Impossibile!!significa che da qualche parte esiste un errore...ma non dipende dal datareader...cmq mi riesci a postare il tuo progetto ed una copia del database? se no giriamo intorno al problema senza mai risolverlo..
Ciao
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 !