![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
27/08/2009, 22:13
|
| | Fecha de Ingreso: agosto-2009
Mensajes: 19
Antigüedad: 15 años, 5 meses Puntos: 0 | |
Respuesta: Editar un grid view llenado mediante un Data set Grasias por su ayuda espero conprendan la inexperiencia ejejejeje.
Bueno otraves BlueSckoll mira si le entendi a lo que haces en el post pero el problema que tengo que yo tengo store procedures para actualizar, para seleccionar todo y para eliminnar asii como la coneccion yo trabajo en tres capas y bueno como soy nuevo me enredo te boy a mandar un jemplo de las capas y el store para ve si me entiende mas grasias por tu ayuda mira esta es mi clase de coneccion se llama DB:
ng System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Data.Common;
namespace DataObjects
{
/// <summary>
/// Class that manages all lower level ADO.NET data base access.
///
/// GoF Design Patterns: Singleton, Factory, Proxy.
/// </summary>
/// <remarks>
/// This class is a 'swiss army knife' of data access. It handles all the
/// database access details and shields its complexity from its clients.
///
/// The Factory Design pattern is used to create database specific instances
/// of Connection objects, Command objects, etc.
///
/// This class is like a Singleton -- it is a static class (Shared in VB) and
/// therefore only one 'instance' ever will exist.
///
/// This class is a Proxy in that it 'stands in' for the actual DbProviderFactory.
/// </remarks>
/// La clase Db es ta definicada con metodos para mane de base de datos especificos, los metodos se adampan alos metodos de esta clase
public static class Db
{
// Note: Static initializers are thread safe.
// If this class had a static constructor then these initialized
// would need to be initialized there.
private static readonly string dataProvider = "System.Data.SqlClient";//ConfigurationManager.AppSettings.Get("DATA/DataProvider");
private static readonly DbProviderFactory factory = DbProviderFactories.GetFactory(dataProvider);
//Aqui en esta linea es donde se hace la conexion a la base de datos
private static readonly string connectionString = @"Server=SISTEMAS\RODRIGO;Initial Catalog=MERCK;User Id=Admin;Password=cartel1024;"; //null; //ConfigurationManager.ConnectionStrings[dataProvider].ConnectionString;
#region Data Update handlers
/// <summary>
/// Executes Update statements in the database.
/// </summary>
/// <param name="sql">Sql statement.</param>
/// <returns>Number of rows affected.</returns>
public static int Actualizar(DbCommand sql)
{
using (DbConnection connection = factory.CreateConnection())
{
connection.ConnectionString = connectionString;
sql.Connection = connection;
connection.Open();
sql.ExecuteNonQuery();
}
return Convert.ToInt32(sql.Parameters["@ID_ACREDITADO"].Value);
}
/// <summary>
/// Executes Delete statements in the database.
/// </summary>
/// <param name="sql">Sql statement.</param>
/// <returns>Number of rows affected.</returns>
public static int Delete(DbCommand sql)
{
using (DbConnection connection = factory.CreateConnection())
{
connection.ConnectionString = connectionString;
sql.Connection = (SqlConnection)connection;
connection.Open();
sql.ExecuteNonQuery();
}
return Convert.ToInt32(sql.Parameters["@Id"].Value);
}
/// <summary>
/// Executes Insert statements in the database. Optionally returns new identifier.
/// </summary>
/// <param name="sql">Sql statement.</param>
/// <param name="getId">Value indicating whether newly generated identity is returned.</param>
/// <returns>Newly generated identity value (autonumber value).</returns>
public static int Insert(DbCommand sql)
{
using (DbConnection connection = factory.CreateConnection())
{
connection.ConnectionString = connectionString;
sql.Connection = connection;
connection.Open();
sql.ExecuteNonQuery();
}
//Aqui se le aplica el conver para que convierta el objeto tipo int
return Convert.ToInt32(sql.Parameters["@Id"].Value);
}
///// <summary>
///// Executes Insert statements in the database.
///// </summary>
///// <param name="sql">Sql statement.</param>
//public static void Insert(string sql)
//{
// Insert(sql, false);
//}
#endregion
#region Data Retrieve Handlers
/// <summary>
/// Populates a DataSet according to a Sql statement.
/// </summary>
/// <param name="sql">Sql statement.</param>
/// <returns>Populated DataSet.</returns>
public static DataSet GetDatos(SqlCommand sql)
{
using (DbConnection connection = factory.CreateConnection())
{
connection.ConnectionString = connectionString;
//using (DbCommand command = factory.CreateCommand())
//{
sql.Connection = (SqlConnection)connection;
SqlDataAdapter adapter = new SqlDataAdapter(sql);
DataSet ds = new DataSet();
connection.Open();
adapter.Fill(ds);
return ds;
//}
}
}
/// <summary>
/// Obtiene los datos dependiendo del query.
/// </summary>
/// <param name="sql">query construido</param>
/// <returns>Los datos obtenidos de la base de datos</returns>
public static DataSet GetDataSet(string sql)
{
using (DbConnection connection = factory.CreateConnection())
{
DataSet ds = new DataSet();
using (SqlCommand comando = new SqlCommand(sql, (SqlConnection)connection))
{
connection.ConnectionString = connectionString;
comando.CommandType = CommandType.Text;
SqlDataAdapter adaptador = new SqlDataAdapter(comando);
connection.Open();
adaptador.Fill(ds);
}
return ds;
}
}
///// <summary>
///// Populates a DataTable according to a Sql statement.
///// </summary>
///// <param name="sql">Sql statement.</param>
///// <returns>Populated DataTable.</returns>
//public static DataTable GetDataTable(string sql)
//{
// return GetDataSet(sql).Tables[0];
//}
///// <summary>
///// Populates a DataRow according to a Sql statement.
///// </summary>
///// <param name="sql">Sql statement.</param>
///// <returns>Populated DataRow.</returns>
//public static DataRow GetDataRow(SqlCommand sql)
//{
// DataRow row = null;
// DataTable dt = GetDataTable(sql);
// if (dt.Rows.Count > 0)
// {
// row = dt.Rows[0];
// }
// return row;
//}
/// <summary>
/// Executes a Sql statement and returns a scalar value.
/// </summary>
/// <param name="sql">Sql statement.</param>
/// <returns>Scalar value.</returns>
public static object GetScalar(DbCommand sql)
{
using (DbConnection connection = factory.CreateConnection())
{
connection.ConnectionString = connectionString;
sql.Connection = connection;
connection.Open();
return sql.ExecuteScalar();
}
}
#endregion
}
} |