Stampa contenuto di un Datareder

lunedì 05 dicembre 2005 - 16.56

valezz Profilo | Newbie

Salve a tutti,

ho eseguito una query in un DB ed ho salvato il risultato in un Datareader. Non sembrano essereci stati errori ed è tutto ok.
Ora, per semplice controllo, vorrei stamapre il contenuto di questo di Datareader. Provando con un loop do while ed una stampa oledbdatareder.getname("nome_utente") etc.... non mi viene stampato a video nulla....

Come posso controllare/visualizzare tutto il contenuto del datareder??
Potete fornirmi un piccolo esempietto...??

Grazie a tutti

Brainkiller Profilo | Guru

>Salve a tutti,
>ho eseguito una query in un DB ed ho salvato il risultato in
>un Datareader. Non sembrano essereci stati errori ed è tutto
>Ora, per semplice controllo, vorrei stamapre il contenuto di
>questo di Datareader.

Io ti consiglierei di collegare il DataReader direttamente ad una DataGrid con AutoGenerateColumns a true. In questo modo si riempie immediatamente tutta la tabella. Ben più lungo è il percorso con un DAtaReader.

>Provando con un loop do while ed una stampa
> oledbdatareder.getname("nome_utente") etc.... non mi viene
> stampato a video nulla....
>
>Potete fornirmi un piccolo esempietto...??

In questo caso basta ceh fai una cosa di questo tipo:

Do While (datareader.Read())
Response.Write(dr(0).ToString())
Response.Write(dr(1).ToString())
Loop

Metti tanti response.write quante sono le colonne della tabella.
0,1, ecc. sono gli indici di colonna se vuoi puoi specificare direttametne il nome.
ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

arresto Profilo | Junior Member

string cnt = "";
using(rd)
{
while(rd.Read())
{
cnt += rd["NomeDiUnCampo"].ToString() + " --- ";

}
rd.Close();
}
string scriptJS = "<script language ='javascript'>alert('"+ cnt +"');</script>";
RegisterStartUpScript("scriptJS", scriptJS);


mettilo nel Page_load dopo aver caricato il componente database rd(il recordset) al caricamento della pagina ti apparirà un alert con il contenuto separato da " --- ". Ciao e Ar(p)resto.

valezz Profilo | Newbie

OK, grazie ad entrambi, proverò entrambe le soluzioni....

valezz Profilo | Newbie

"Nessun dato esistente per la colonna specificata"

Questo è il codice che eseguo:

strSQL = Stringa query
objconn.open()
objcmd(objconn,strSQL)
objdatareder=objCmd.ExecuteReader()
Response.Write(objdatareder(0).ToString())




Dov'è l'errore? :(

Brainkiller Profilo | Guru

>"Nessun dato esistente per la colonna specificata"
>Questo è il codice che eseguo:
>Dov'è l'errore? :(

Forse nella query che non hai postato che non ritorna righe.
ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

valezz Profilo | Newbie

La query l'ho provata su Access prima di inserirla come stringa , e mi dà 4 righe di risultato....

valezz Profilo | Newbie

OK, pensavo che il pb fosse di semplice soluzione.........descrivo di seguito in maniera dettagliata il codice:

strSQL = "SELECT * FROM Utenti INNER JOIN Operazioni ON Operazioni.id_operazione=Utenti.id_operazione"
ApriConnessione()
rs = EseguiIstruzione(strSQL)
Response.Write(rs.GetString(0))


function EseguiIstruzione(str as string)
objConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & System.Web.HttpContext.Current.Server.MapPath(GetPath()))
Dim objCmd As New OleDbCommand(strSQL, objConn)
Dim result
Try
result = objCmd.ExecuteReader()
Catch ex As Exception
System.Web.HttpContext.Current.Response.Write(ex.Message & strSQL)
Exit Function
End Try
Return result
end function



Non capisco comunque quale sia il pb!!

valezz Profilo | Newbie

Ho risolto.....

dappirma utilizzando rs.GetInt32(0) per i campi numerici e rs(0).GetString() per i campi stringhe......

poi settando la cartella dove risiede il DB con controllo ad everyone.........va bene tutto con la seconda istruzione..

Ringrazio cmq tutti quelli che mi hanno risposto :)

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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5