El documento describe una clase de acceso a datos que contiene métodos para ejecutar procedimientos almacenados y consultas SQL. Estos métodos se utilizan en una clase de lógica de negocios para insertar, obtener y llenar datos de una base de datos.
2. {
comando.Connection.Close();
}
return ds;
}
AccesoDatos
public int Insert(string Nombre, string Apellido, int Edad)
{
SqlCommand _comando = MetodoDatos.EjecutarComandoSP("insDatos");
_comando.Parameters.AddWithValue("@nombre", Nombre);
_comando.Parameters.AddWithValue("@apellido", Apellido);
_comando.Parameters.AddWithValue("@edad", Edad);
return MetodoDatos.EjecutarComandoInsert(_comando);
}
public DataTable ObtenerRegistros(string datoBusqueda)
{
SqlCommand _comando = MetodoDatos.EjecutarComandoSP("getDatos");
_comando.Parameters.AddWithValue("@dato", datoBusqueda);
return MetodoDatos.EjecutarComandoSelect(_comando);
}
public DataSet LlenarCombo()
{
SqlCommand _comando = MetodoDatos.EjecutarComandoSP("llenarCombo");
return MetodoDatos.DatosCombo(_comando);
}
Negocio
AccesoLogica
public int insert(string Nombre, string Apellido, int Edad)
{
AccesoDatos acceso = new AccesoDatos();
return acceso.Insert(Nombre, Apellido, Edad);
}
public DataTable Datos(string datoBuscado)
{
AccesoDatos acceso = new AccesoDatos();
return acceso.ObtenerRegistros(datoBuscado);
}
public DataSet Combo()
{
AccesoDatos acceso = new AccesoDatos();
return acceso.LlenarCombo();
}
//Presentacion
int fila, columna;
fila = e.RowIndex;
columna = e.ColumnIndex;
txtNombre.Text = dataGridView1.Rows[fila].Cells[1].Value.ToString();
txtApellidos.Text = dataGridView1.Rows[fila].Cells[2].Value.ToString();
txtEdad.Text = dataGridView1.Rows[fila].Cells[3].Value.ToString();
AccesoLogica acceso = new AccesoLogica();
comboBox1.ValueMember = "Nombre";
comboBox1.DisplayMember = "strNombre";
comboBox1.DataSource = acceso.Combo().Tables[0].DefaultView;
SQL
Use BD_Prueba
GO
3. create table Datos
(
id int identity primary key not null,
strNombre varchar(20),
strApellido varchar(20),
intEdad tinyint
)
go
create proc insDatos
(
@nombre varchar(20),
@apellido varchar(20),
@edad int
)
as insert into Datos values(@nombre,@apellido,@edad)
GO
Select * from dbo.Datos
go
create proc getDatos
(
@dato varchar(20)
)
as select * from dbo.Datos where strNombre like '%' + @dato + '%' or strApellido like '%' + @dato +
'%'
go
create proc llenarCombo
as select strNombre from dbo.Datos
go
select * from dbo.Datos where strNombre like '%l%' or strApellido like '%l%'
go
Reporte
string strConnectionString = "Data Source=(local);Initial
Catalog=Projects_DB;Integrated Security=True";
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("sp_GetProject " + "'0660CAD6-6F1A-4D19-A1FD-
17BF3655AC98'");
cmd.CommandType = CommandType.Text;
cmd.Connection = new SqlConnection (strConnectionString);
da.SelectCommand = cmd;
da.Fill(ds,"DataSet1");
reportViewer1.ProcessingMode = ProcessingMode.Local;
reportViewer1.LocalReport.DataSources.Clear();
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1",
ds.Tables[0]));
reportViewer1.LocalReport.Refresh();
reportViewer1.RefreshReport();
CONVERT(VARCHAR, @myDateTime, 120)