| |||
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 |