C# - Passare recordset da una clsse chiamata ad una chiamante.

domenica 03 agosto 2008 - 10.55

black_one Profilo | Newbie

Ciao a tutti...
la mia domanda è questa:
come faccio a passare il risultato di una query con "n" record da una classe chiamata ad una chiamante?

Mi spiego meglio con il codice:

classe chiamata:
public class connessione{

public static SqlDataReader ValoriInTabella(){
[..] connessione al DB
sql = "Select * from test";
try{
cn.open();
SqlCommand cmd = new SqlCommand(sql,cn);
SqlDataReader rs = cmd.ExecuteReader();

return(rs)
}
catch(Exception ex){
[...]Gestione errore
}
}

classe chiamante:
[...]
SqlDataReader rs;
rs = connessione.ValoriInTabella();

c_prova = rs["nome Campo"]

Io faccio così ma mi va in errore, non riesco a far passare il risultato della query nella classe madre, dove ho necessità di assegnare il risultato della query in una dataGrid e non so proprio come fare.
Il programma va in errore quando cerco di assegnare il campo nella variabile di prova.

potete darmi una mano?

Grazie anticipatamente per il vostro sempre cordiale e puntuale aiuto.

ciao ciao
Non può piovere per sempre...

Faelar Profilo | Junior Member

Ciao!

Il metodo che usi, secondo me, è giusto, quindi credo che se ti da errore sia perché
apri la connection string all'interno della funzione che poi viene distrutta...

Hai provato aprendo la connessione all'esterno della funzione ed ha passarla alla funzione per parametro?

black_one Profilo | Newbie

ciao scusa il ritardo della risposta ma ero in ferie...

comunque si, l'errore era perchè chiudevo la connessione prima di passare il recordset...non me ne ero neanche accorto......

grazie...

ciao ciao
Non può piovere per sempre...
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