Foros del Web » Programando para Internet » ASPX (.net) »

Como llamo a Procedimiento Almacenado???

Estas en el tema de Como llamo a Procedimiento Almacenado??? en el foro de ASPX (.net) en Foros del Web. Como llamo a un procedimiento almacenado y asociarlo a una grilla?¿?...
  #1 (permalink)  
Antiguo 04/10/2006, 11:00
Avatar de shumito  
Fecha de Ingreso: mayo-2006
Mensajes: 248
Antigüedad: 18 años
Puntos: 0
Como llamo a Procedimiento Almacenado???

Como llamo a un procedimiento almacenado y asociarlo a una grilla?¿?
  #2 (permalink)  
Antiguo 04/10/2006, 12:32
 
Fecha de Ingreso: agosto-2006
Mensajes: 45
Antigüedad: 17 años, 8 meses
Puntos: 0
El llamado a un Store Procedura depende de que componente de acceso a datos estés utilizando, estos pueden ser el System.Data.SqlClient que es el nativo de Visual Studio, Microsoft.ApplicationBlocks.Data que es una librería por separado que te administra conecciones y transacciones a tu BD o puede ser el Microsoft.Practices.EnterpriseLibrary.Data que es hasta ahora algo de lo mejorcito que hay, he aquí unos tips para cada uno:

------System.Data.SqlClient----
SqlConnection dbCon = new SqlConnection(ConfigurationManager.ConnectionStrin gs["MailNextelDB"].ToString());//Coneccion del web.config a la BD MailNextelDB

SqlCommand sqlCommand = new SqlCommand("[mcs_MailNextel_SelectUser]", dbCon);
sqlCommand.CommandType = CommandType.StoredProcedure;//Aki especificas que vasa ejecutar un store

SqlParameter sqlParam = new SqlParameter();

sqlParam = sqlCommand.Parameters.Add("@PTN", SqlDbType.VarChar);//agregas un parametro
sqlParam.Value = user.PTN;//Valor del parametro
sqlParam.Direction = ParameterDirection.Input;//si es de entrada o salida

dbCon.Open();//abres coneccion
using (SqlDataReader dataReader = sqlCommand.ExecuteReader())//como es una consulta es ExecuteReader, puede ser ExecuteNonQuery en caso de Updates, Insert y delete

--------Microsoft.ApplicationBlocks.Data ------

SqlParameter[] sqlParam;
sqlParam = new SqlParameter[8];//Especifico la cantidad de parametros que voy a meter

sqlParam[0] = new SqlParameter("@PTN", SqlDbType.VarChar);
sqlParam[0].Direction = ParameterDirection.Input;
sqlParam[0].Value = user.PTN;

sqlParam = this.SetParameters(sqlParam, user);//Aki llamo a una funcion que me setea los parámetros faltantes a mi arreglo sqlParam
//Para ejecutar se utiliza el SqlHelper de la libreria que arriba te puse entre ---
SqlHelper.ExecuteNonQuery(ConfigurationManager.Con nectionStrings["MailNextelDB"].ToString(), CommandType.StoredProcedure, "[mcs_MailNextel_UpdateUser]", sqlParam);//Aquí hago un Update de la tabla User, pero esto está mejor xke no abres conecciones, tambien especifico que se trata de un store procedure

-------Microsoft.Practices.EnterpriseLibrary.Data-------

Database db = DatabaseFactory.CreateDatabase();
DbCommand dbCommand = db.GetStoredProcCommand("[usp_UpdateMessage]");esto es una maravilla, solo obtengo mi store
db.AddInParameter(dbCommand, "@IdMessage", DbType.Int32, message.IdMessage);//Agrego el parámetro de entrada(AddInParameter)
db = this.SetParameters(db, dbCommand, message);//Lleno mi dbCommand con los demas parametros faltantes
db.ExecuteReader(dbCommand); y ejecuto la operación

Lo mas seguro es que tu caso sea el primero, es decir, solo debiste haber agregado a tu carpeta bin la libreria System.Data.SqlClient como referencia y en tu codigo .cs la pones como using System.Data.SqlClient; y listo, cualquier duda mandame un mensaje
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:15.