Está en la página 1de 21

Asignatura Lenguaje de programación

Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

1. PROCEDIMIENTO

1.1 Consultar
1. ¿Qué es ADO.NET?
2. ¿Cuál es la arquitectura de ADO.NET?
3. ¿Cuál es el proceso para abrir y cerrar una conexión a una Base de datos SQL server desde C#?
4. ¿Cuáles son los objetos básicos para manipular la información en una base de datos de ADO.NET?
5. ¿Cuáles son las librerías de .NET e instrucciones de C# necesarias para realizar una conexión a
bases de datos SQL Server?
6. ¿Cómo documentar Propiedades y Métodos en una clase en un proyecto .NET?
7. ¿Cuál es la función de los objetos: SqlDataReader, SqlDataAdapter SqlDataSet y DataTable en la
tecnología ADO.NET?
8. En la tecnología .NET. Cuáles son las propiedades y los métodos necesarios para utilizar un:
SqlConnection, SqlCommand, sqlDataReader y DataSet.
9. ¿Cuales son los tres tipos de ejecución de un SqlCommand y cual es la función de cada uno?
10. En C#, ¿cómo llenar un DataTable de un SqlDataSet?
11. ¿Cuáles son las similitudes y las diferencias entre un SqlDataReader y un SqlDataSet?
12. En la tecnología .NET, ¿cómo se llena un: sqlDataReader y DataSet.?
13. ¿Cuáles son las propiedades necesarias para llenar un DataGridView en una GUI Windows Forms?
14. ¿Cuáles son las propiedades necesarias para llenar un GridView en una GUI Web Forms?
15. ¿Cuáles son las propiedades necesarias para llenar un ComboBox en una GUI Windows Forms?
16. ¿Cuáles son las propiedades necesarias para llenar un DropDownList en una GUI Web Forms?
17. ¿Cuáles son las propiedades necesarias para llenar un RadioButtonList en una GUI Web Forms?
18. ¿Cómo crear un usuario en Microsoft SQL Server e instanciarlo a una Base de datos determinada?

1.2 Problema a solucionar


* Diseñar la clase que van ser utilizada para realizar la conexión y desconexión a la base de datos y las
diferentes transacciones que se van a realizar en la base de datos hospedada en el servidor.
* Diseñar las diferentes clases que realizan procesos de llenado de información proveniente de la base
de datos a objetos básicos a utilizar en GUIS de tipo Windows o Web; tipo: Lista desplegables, grids,
botones de radio.

Actividad 1. Conocer la clase para instanciar un servidor de base de datos y manipular en él, una
Base de Datos tipo SQL 2005/2008 utilizando un archivo XML
a. La clase fue realizada en Visual Studio, utilizando el lenguaje C#, en un proyecto tipo: Biblioteca de
clases, con nombre: libConexionBD.
b. Referencia y usa la librería: libParametros y de .NET: System.Data y System.Data.SqlClient.
c. La librería tiene la clase: clsConexionBD con la siguiente representación UML:

Página 1 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

clsConexionBD
  Constructor
  clsConexionBD( string NombreAplicacion )
- strNombreApp : string
- strCadenaCnx : string
- objVrUnico : object
- strSQL : string
- strError : string
- blnHayCnx : bool
- objCnxBD : SqlConnection
- objCmd : SqlCommand
- objReader : SqlDataReader
- objAdapter : SqlDataAdapter
- dsDatos : DataSet
- objSqlParam : SqlParameter[]
+ SQL : string ↓
+ ValorUnico : object ↑
+ DataReaderLleno : SqlDataReader ↑
+ DataSetLleno : DataSet ↑
+ Error : string ↑
+ ParametrosSQL : SqlParameter[] ↓
- validar(string metodoOrigen): (bool)
- generarCadenaCnx() : bool
- abrirCnx() : bool
- agregarParametros(SqlParameter[] objSqlParametros): (bool)
+ cerrarCnx() : (bool)
+ consultar(bool blnConParametros, bool blnProcAlmacenado) : bool
+ consultarValorUnico(bool blnConParametros, bool blnProcAlmacenado) : bool
+ ejecutarSentencia(bool blnConParametros, bool blnProcAlmacenado) : bool
+ llenarDataSet(bool blnConParametros, bool blnProcAlmacenado) : bool

Página 2 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

Actividad 2. Conocer la clase que consulta una base de datos y llena: Grids (Windows y Web)
a. La clase fue realizada en Visual Studio, utilizando el lenguaje C#, en un proyecto tipo: Biblioteca de
clases, con nombre: libLlenarGrids.
b. Referencia y usa: libConexion y de .NET las librerias: System.Web y System.Windows.Form
c. Tiene la siguiente representación UML:
clsLlenarGrids
Constructor
clsLlenarGrids( string NombreAplicacion )
- strNombreApp : (string)
- strSQL : (string)
- strError : (string)
- blnEjecParametros : (bool)
- objParamSQL : (SqlParameter[])
- objCnx : (clsConexionBd)
+ SQL : (string) ↓
+ Error : (string) ↑
+ ParametrosSQL : (SqlParameter[]) ↓
- Validar() : (bool)
- consultarData() : (bool)
+ LlenarGridWindows (DataGridView dgvGenerico) : bool
+ LlenarGridWeb (GridView gvGenerico) : bool

Actividad 3. Conocer la clase que consulta una base de datos y llena: Combos (Windows y Web)
a. La clase fue realizada en Visual Studio, utilizando el lenguaje C#, en un proyecto tipo: Biblioteca de
clases, con nombre: libLlenarCombos.
b. Referencia y usa: libConexion y de .NET las librerias: System.Web y System.Windows.Form
c. Tiene la siguiente representación UML:
clsLlenarCombos
  Constructor
  clsLlenarCombos( string NombreAplicacion )
- strNombreApp : (string)
- strSQL : (string)
- strCampoID : (string)
- strCampoTexto : (string)
- strError : (string)
- blnEjecParametros : (bool)
- objParamSQL : (SqlParameter[])
- objCnx : (clsConexionBd)  
+ SQL : (string) ↓
+ CampoTexto : (string) ↓
+ CampoID : (string) ↓
+ Error : (string) ↑
+ ParametrosSQL : (SqlParameter[]) ↓
- Validar() : (bool)
- consultarData() : (bool)
+ llenarComboWindows ( ComboBox cboGenerico ) : bool
+ llenarComboWeb ( DropDownList ddlGenerico ) : bool

Página 3 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

Actividad 4. Conocer la clase que consulta una base de datos y llena: RadioButtonList ( Web )
a. La clase fue realizada en Visual Studio, utilizando el lenguaje C#, en un proyecto tipo: Biblioteca de
clases, con nombre: libLlenarRBList.
b. Referencia y usa: libConexion y de .NET las librerias: System.Web
c. Tiene la siguiente representación UML:
clsLlenarRBList
Constructor
clsLlenarRBList( string NombreAplicacion )
- strNombreApp : (string)
- strSQL : (string)
- strCampoID : (string)
- strCampoTexto : (string)
- strError : (string)
- blnEjecParametros : (bool)
- objParamSQL : (SqlParameter[])
- objCnx : (clsConexionBd)
+ SQL : (string) ↓
+ CampoID : (string) ↓
+ CampoTexto : (string) ↓
+ Error : (string) ↑
+ ParametrosSQL : (SqlParameter[]) ↓
- Validar() : (bool)
- consultarData() :(bool)
+ LlenarRadioBLWeb (RadioButtonList rblGenerico): bool

Código

LibConexionBD
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using libLeerParametrosCnx;

namespace libConexionBd
{
public class clsConexionBd
{

#region "Atributos"
private string strNombreApp;
private string strCadenaCnx;
private object objVrUnico;
private string strSQL;
private string strError;
private bool blnHayCnx;
SqlConnection objCnxBD;

Página 4 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

SqlCommand objCmd;
SqlDataReader objReader;
SqlDataAdapter objAdapter;
DataSet dsDatos;
SqlParameter[] objSqlParam;
#endregion

#region "Constructor"
public clsConexionBd(string strNombreApp)
{
this.strNombreApp = strNombreApp;
this.strCadenaCnx = "";
this.objVrUnico = null;
this.strSQL = "";
this.strError = "";
this.objCnxBD = new SqlConnection();
this.objCmd = new SqlCommand();
this.objAdapter = new SqlDataAdapter();
this.dsDatos = new DataSet();
}
#endregion

#region "Propiedades"
public string SQL { set => strSQL = value; }
public object ValorUnico { get => objVrUnico;}
public SqlDataReader DataReaderLleno { get => objReader;}
public DataSet DataSetLleno { get => dsDatos;}
public string Error { get => strError;}
public SqlParameter[] ParametrosSQL {set => objSqlParam = value; }

#endregion

#region "Métodos Privados"

private bool validar(string metodoOrigen)


{
if(metodoOrigen.ToLower() == "generarcadenacnx")
{
if (this.strNombreApp == string.Empty)
{
strError = "No se envió el nombre de la aplicaión." +
"Sin este nombre no se puede realizar la conexión " +
"a la base de datos";
return false;
}
}
else
{
if (string.IsNullOrEmpty(strSQL))
{
strError = "Debe enviar el procedimiento almacenado" +
" para ejecutarlo";

Página 5 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

return false;
}
}
return true;

}
private bool generarCadenaCnx()
{
try
{
if (!validar("GenerarCadenaCnx"))
{
return false;
}
clsParametros objParam = new clsParametros();

if (!objParam.generarCadenaCnx(strNombreApp))
{
strError = objParam.Error;
objParam = null;
return false;
}
strCadenaCnx = objParam.CadenaCnx;
objParam = null;
return true;
}
catch (Exception ex)
{

throw ex;
}
}

private bool abrirCnx()


{
try
{
if (!generarCadenaCnx())
{
return false;
}

objCnxBD.ConnectionString = strCadenaCnx;
objCnxBD.Open();
blnHayCnx = true;
return true;
}
catch (Exception ex)
{

throw ex;
}

Página 6 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

private bool agregarParam(SqlParameter[] objParam)


{
try
{
foreach (SqlParameter param in objParam)
{
objCmd.Parameters.AddWithValue(param.ParameterName,
param.Value);
}
return true;
}
catch (Exception ex)
{

throw ex;
}
}

#endregion

#region "Métodos Públicos"


public bool cerrarCnx()
{
try
{
objCnxBD.Close();
blnHayCnx = false;
objCnxBD = null;
return true;
}
catch (Exception ex)
{

throw ex;
}
}

public bool consultar(bool blnConParametros, bool blnProcAlmacenado)


{
try
{
if (!validar("consultar"))
{
return false;
}
if (!blnHayCnx)
{
if (!abrirCnx())
{
return false;
}

Página 7 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

}
objCmd.Connection = objCnxBD;
objCmd.CommandText = strSQL;

if (blnProcAlmacenado)
{
objCmd.CommandType = CommandType.StoredProcedure;
if (blnConParametros)
{
if (!agregarParam(objSqlParam))
{
return false;
}
}
}
else
{
objCmd.CommandType = CommandType.Text;
}
objReader = objCmd.ExecuteReader();
return true;
}
catch (Exception ex)
{

throw ex;
}
}

public bool consultarValorUnico(bool blnConParametros, bool


blnProcAlmacenado)
{
try
{
if (!validar("consultarValorUnico"))
{
return false;
}
if (!blnHayCnx)
{
if (!abrirCnx())
{
return false;
}
}
objCmd.Connection = objCnxBD;
objCmd.CommandText = strSQL;

if (blnProcAlmacenado)
{
objCmd.CommandType = CommandType.StoredProcedure;
if (blnConParametros)
{

Página 8 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

if (!agregarParam(objSqlParam))
{
return false;
}
}
}
else
{
objCmd.CommandType = CommandType.Text;
}
objVrUnico = objCmd.ExecuteScalar();
return true;
}
catch (Exception ex)
{

throw ex;
}
}

public bool ejecutarSentencia(bool blnConParametros, bool blnProcAlmacenado)


{
try
{
if (!validar("ejecutarSentencia"))
{
return false;
}
if (!blnHayCnx)
{
if (!abrirCnx())
{
return false;
}
}
objCmd.Connection = objCnxBD;
objCmd.CommandText = strSQL;

if (blnProcAlmacenado)
{
objCmd.CommandType = CommandType.StoredProcedure;
if (blnConParametros)
{
if (!agregarParam(objSqlParam))
{
return false;
}
}
}
else
{
objCmd.CommandType = CommandType.Text;
}

Página 9 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

objCmd.ExecuteNonQuery();
return true;
}
catch (Exception ex)
{

throw ex;
}
}

public bool llenarDataSet(bool blnConParametros, bool blnProcAlmacenado)


{
try
{
if (!validar("llenarDataSet"))
{
return false;
}
if (!blnHayCnx)
{
if (!abrirCnx())
{
return false;
}
}
objCmd.Connection = objCnxBD;
objCmd.CommandText = strSQL;

if (blnProcAlmacenado)
{
objCmd.CommandType = CommandType.StoredProcedure;
if (blnConParametros)
{
if (!agregarParam(objSqlParam))
{
return false;
}
}
}
else
{
objCmd.CommandType = CommandType.Text;
}
objAdapter.SelectCommand = objCmd;
objAdapter.Fill(dsDatos);
return true;
}
catch (Exception ex)
{

throw ex;
}
}

Página 10 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

#endregion

}
}

Página 11 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

libLlenarGrids
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls;
using System.Windows.Forms;
using libConexionBd;

namespace libLlenarGrids
{
public class clsLlenarGrids
{
#region "atributos"
private string strNombreApp;
private string strSQL;
private string strError;
private bool blnEjecParametros;
private SqlParameter[] objParamSQL;
clsConexionBd objCnx;
#endregion

#region "constructor"
public clsLlenarGrids(String nombreAplicacion)
{
this.strNombreApp = nombreAplicacion;
strSQL = string.Empty;
strError = string.Empty;
objCnx = new clsConexionBd(strNombreApp);
}
#endregion

#region "propiedades"
public string SQL {set => strSQL = value; }
public string Error { get => strError;}
public SqlParameter[] ParametrosSQL {set => objParamSQL = value; }
#endregion

#region "Métodos privados"


private bool validar()
{
if (string.IsNullOrEmpty(strSQL))
{
strError = "Para llenar un Data Grid, es necesario " +
"una sentencia SQL";
return false;
}
if (string.IsNullOrEmpty(strNombreApp))
{

Página 12 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

strError = "Debe enviar el nombre de la aplicación";


return false;
}
return true;
}

private bool consultarData()


{
try
{
if (!validar())
{
return false;
}

objCnx.SQL = strSQL;

if (objParamSQL != null)
{
blnEjecParametros = true;
objCnx.ParametrosSQL = objParamSQL;
}

if (!objCnx.llenarDataSet(blnEjecParametros, true))
{
strError = objCnx.Error;
objCnx.cerrarCnx();
objCnx = null;
return false;
}
return true;
}
catch (Exception ex)
{

throw ex;
}
}
#endregion

#region "Métodos públicos"


public bool llenarGridWindows(DataGridView dgvGenerico)
{
try
{
if (!consultarData())
{
return false;
}

dgvGenerico.DataSource = objCnx.DataSetLleno.Tables[0];
dgvGenerico.Refresh();

Página 13 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

objCnx.cerrarCnx();
objCnx = null;
return true;
}
catch (Exception ex)
{

throw ex;
}
}

public bool llenarGridWeb(GridView gvGenerico)


{
try
{
if (!consultarData())
{
return false;
}

gvGenerico.DataSource = objCnx.DataSetLleno.Tables[0];
gvGenerico.DataBind();
objCnx.cerrarCnx();
objCnx = null;
return true;
}
catch (Exception ex)
{

throw ex;
}
}
#endregion
}
}

Página 14 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

Lib Llenar Combos


using libConexionBd;
using System;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls;

namespace libLlenarCombos
{
public class clsLlenarCombos
{
#region "atributos"
private string strNombreApp;
private string strSQL;
private string strCampoID;
private string strCampoTexto;
private string strError;
private bool blnEjecParametros;
private SqlParameter[] objParamSQL;
clsConexionBd objCnx;
#endregion

#region "constructor"
public clsLlenarCombos(String nombreAplicacion)
{
this.strNombreApp = nombreAplicacion;
strSQL = string.Empty;
strCampoID = string.Empty;
strCampoTexto = string.Empty;
strError = string.Empty;
objCnx = new clsConexionBd(strNombreApp);
}
#endregion

#region "propiedades"
public string SQL { set => strSQL = value; }
public string CampoID { set => strCampoID = value; }
public string CampoTexto {set => strCampoTexto = value; }
public string Error { get => strError; }
public SqlParameter[] ParametrosSQL { set => objParamSQL = value; }
#endregion

#region "Métodos privados"


private bool validar()
{
if (string.IsNullOrEmpty(strSQL))
{
strError = "Para llenar un combo, es necesario " +

Página 15 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

"una sentencia SQL";


return false;
}
if (string.IsNullOrEmpty(strNombreApp))
{
strError = "Debe enviar el nombre de la aplicación";
return false;
}
if (string.IsNullOrEmpty(strCampoID))
{
strError = "Debe enviar el campo Id del combo";
return false;
}
if (string.IsNullOrEmpty(strCampoTexto))
{
strError = "Debe enviar el campo texto del combo";
return false;
}
return true;
}

private bool consultarData()


{
try
{
if (!validar())
{
return false;
}

objCnx.SQL = strSQL;

if (objParamSQL != null)
{
blnEjecParametros = true;
objCnx.ParametrosSQL = objParamSQL;
}

if (!objCnx.llenarDataSet(blnEjecParametros, true))
{
strError = objCnx.Error;
objCnx.cerrarCnx();
objCnx = null;
return false;
}
return true;
}
catch (Exception ex)
{

throw ex;
}

Página 16 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

}
#endregion

#region "Métodos Públicos"


public bool llenarComboWindows(ComboBox cboGenerico)
{
try
{
if (!consultarData())
{
return false;
}

cboGenerico.DataSource = objCnx.DataSetLleno.Tables[0];
cboGenerico.ValueMember = strCampoID;
cboGenerico.DisplayMember = strCampoTexto;
cboGenerico.Items.Add("Seleccione");
cboGenerico.Refresh();
objCnx.cerrarCnx();
objCnx = null;
return true;
}
catch (Exception ex)
{

throw ex;
}

public bool llenarComboWeb(DropDownList ddlGenerico)


{
try
{
if (!consultarData())
{
return false;
}

ddlGenerico.DataSource = objCnx.DataSetLleno.Tables[0];
ddlGenerico.DataValueField = strCampoID;
ddlGenerico.DataTextField = strCampoTexto;
ddlGenerico.Items.Add("Seleccione");
ddlGenerico.DataBind();
objCnx.cerrarCnx();
objCnx = null;
return true;
}
catch (Exception ex)
{

throw ex;
}

Página 17 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

}
#endregion
}
}

Página 18 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

Lib LlenarRBList
using libConexionBd;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls;

namespace libLlenarRBList
{
public class clsLlenarRBList
{
#region "atributos"
private string strNombreApp;
private string strSQL;
private string strCampoID;
private string strCampoTexto;
private string strError;
private bool blnEjecParametros;
private SqlParameter[] objParamSQL;
private clsConexionBd objCnx;
#endregion

#region "constructor"
public clsLlenarRBList(String nombreAplicacion)
{
this.strNombreApp = nombreAplicacion;
strSQL = string.Empty;
strCampoID = string.Empty;
strCampoTexto = string.Empty;
strError = string.Empty;
objCnx = new clsConexionBd(strNombreApp);
}
#endregion

#region "propiedades"
public string SQL { set => strSQL = value; }
public string CampoID { set => strCampoID = value; }
public string CampoTexto { set => strCampoTexto = value; }
public string Error { get => strError; }
public SqlParameter[] ParametrosSQL { set => objParamSQL = value; }
#endregion

#region "Métodos privados"


private bool validar()
{
if (string.IsNullOrEmpty(strSQL))
{
strError = "Para llenar un radio buton list, " +
"es necesario una sentencia SQL";

Página 19 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

return false;
}
if (string.IsNullOrEmpty(strNombreApp))
{
strError = "Debe enviar el nombre de la aplicación";
return false;
}
if (string.IsNullOrEmpty(strCampoID))
{
strError = "Debe enviar el campo Id del Radio Buton List";
return false;
}
if (string.IsNullOrEmpty(strCampoTexto))
{
strError = "Debe enviar el campo texto del Radio Buton List";
return false;
}
return true;
}

private bool consultarData()


{
try
{
if (!validar())
{
return false;
}

objCnx.SQL = strSQL;

if (objParamSQL != null)
{
blnEjecParametros = true;
objCnx.ParametrosSQL = objParamSQL;
}

if (!objCnx.llenarDataSet(blnEjecParametros, true))
{
strError = objCnx.Error;
objCnx.cerrarCnx();
objCnx = null;
return false;
}
return true;
}
catch (Exception ex)
{

throw ex;
}
}

Página 20 de 21
Asignatura Lenguaje de programación
Orientada a Objeto II
Universidad Autónoma
Práctica 6
Latinoamericana
Programación C# Docente David Múnera Alvarez
Revisión Abril 2020

#endregion

#region "Métodos Públicos"


public bool llenarRadioBLWeb(RadioButtonList rblGenerico)
{
try
{
if (!consultarData())
{
return false;
}

rblGenerico.DataSource = objCnx.DataSetLleno.Tables[0];
rblGenerico.DataValueField = strCampoID;
rblGenerico.DataTextField = strCampoTexto;
rblGenerico.DataBind();
objCnx.cerrarCnx();
objCnx = null;
return true;
}
catch (Exception ex)
{

throw ex;
}
}
#endregion
}
}

Página 21 de 21

También podría gustarte