Ejemplo de DataSet, GridView y Session en C# desde una base de datos



En esta oportunidad describiré cómo crear un DataSet, llenarlo desde una base de datos, llenar un GridView con sus datos y almacenarlo en la Session.
Este ejemplo se aplica trabajando en el "Code Behind" de una página .ASPX lo que es en el archivo .ASPX.CS. Quizá este de más aclarar que cuando trabajamos con DataSets trabajamos en modo desconectado.
Voy a suponer que tengo en el formulario web un DataGridView, un botón y una etiqueta llamados "dgvEjemplo", "btnCargar" y "lblError" respectivamente.
El código lo voy a describir en el evento Click del botón:
protected void btnCargar_Click(object sender, EventArgs e) { //Si no existe en la Session el DataSet de ejemplo. if (Session["DataSetEjemplo"] == null) { //Defino el string de conexión. string strConexion = "Data Source = Servidor1; Initial Catalog = BaseDatosEj; Integrated Security = true"; //Defino la conexión. SqlConnection oConexion = new SqlConnection(strConexion); //Defino la consulta SQL o el Stored Procedure. string oConsulta = "ConsultaSQL"; //Defino el adaptador. SqlDataAdapter oAdaptador = new SqlDataAdapter(oConsulta, oConexion); //Defino el DataSet DataSet oDs = new DataSet(); try { //Lleno el adaptador detallando el DataSet y la Tabla. oAdaptador.Fill(oDs,"nombreTabla"); //Lleno el DataGridView dgvEjemplo.DataSource = oDs.Tables["nombreTabla"]; dgvEjemplo.Bind(); //Cargo el DataSet en la Session Session["DataSetEjemplo"] = oDs; lblError = "DataSet cargado por primera vez"; } catch (Exception oEx) { throw new Exception("Problemas con la Base de Datos: " + oEx.Message); } } //Si existe en la Session el DataSet de ejemplo. else { //Cargo el DataGridView con el DataSet ya almacenado en la Session. dgvEjemplo.DataSource = ((DataSet)Session["DataSetEjemplo"]).Tables["nombreTabla"]; dgvEjemplo.Bind(); lblError = "Mostrando el DataSet almacenado en la Session"; } }
Bueno, espero que les haya sido de ayuda, cualquier consulta de código que deseen realizar, solo comenten.


Etiquetas: , , , , , , , , , ,