1. Agregamos en el Web.Config el siguiente Key
<connectionStrings>
<add name="SQLServerConnection" connectionString="data source=.\SQL2005; Initial Catalog=NOMBRE_BDR; User id=sa; password=sa" providerName="System.Data.SqlClient"/>
</connectionStrings>
2. Para recuperar la cadena de conexion hacemos la siguiente linea, dentro del metodo que lo usara
ConnectionStringSettings ConnectionStringSettings = ConfigurationManager.ConnectionStrings["SQLServerConnection"];
String CadenaConexion = ConnectionStringSettings.ConnectionString;
3. agregamos el siguiente fragmento de codigo para hacer uso de un Procedimiento almacenado, ejemplo si tiene 3 parametros de entrada nuestro SP:
SqlParameter[] par = new SqlParameter[3];
par[0] = new SqlParameter("@PAR1", System.Data.SqlDbType.VarChar, 20);
par[0].Value = VALOR1;
par[1] = new SqlParameter("@PAR2", System.Data.SqlDbType.VarChar, 20);
par[1].Value = VALOR2;
par[2] = new SqlParameter("@PAR3", System.Data.SqlDbType.VarChar, 10);
par[2].Value = VALOR3;
try
{
SqlDataReader loDr = SqlHelper.ExecuteReader(CadenaConexion, CommandType.StoredProcedure, "SPS_XXXXXXXXXXXXX", par);
while (loDr.Read())
{
String campo1 = loDr.GetValue(loDr.GetOrdinal("Columna1")).ToString();
//agregar asi por cada columna a recuperar
}
descargar Microsoft.ApplicationBlocks.Data
FORMA TRADICIONAL
ArrayList alParameters = new ArrayList();
SqlParameter parameter;
parameter = new SqlParameter("@CODIGO", SqlDbType.VarChar, 10);
parameter.Value = pUser.CodUsuario;
alParameters.Add(parameter);
parameter = new SqlParameter("@CLAVE", SqlDbType.VarChar, 10);
parameter.Value = pUser.Password;
alParameters.Add(parameter);
DataSet data= DBUtilSQLServer.getDataset("SPM_LOGIN", alParameters)
foreach (DataRow drow in data.Tables[0].Rows)
{
String IdUsuario = drow["IdUsuario"].ToString().Trim();
String codigo = drow["Codigo"].ToString().Trim();
String nombres = drow["Nombre"].ToString().Trim();
}
El metodo que usamos es el siguiente
public static DataSet getDataset(string spName, ArrayList alParametros)
{
SqlConnection conn = new SqlConnection(.CadenaConexion);
conn.Open();
SqlCommand cmd = getCommand(conn, spName, alParametros);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandTimeout = 0;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
closeConnection(conn);
return ds;
}
private static SqlCommand getCommand(SqlConnection conn, string spName, ArrayList alParametros)
{
SqlCommand cmd = new SqlCommand(spName, conn);
IEnumerator ieParametros = alParametros.GetEnumerator();
while (ieParametros.MoveNext())
{
cmd.Parameters.Add((SqlParameter)ieParametros.Current);
}
return cmd;
}
descargar Codigo de clase
Descargar
<connectionStrings>
<add name="SQLServerConnection" connectionString="data source=.\SQL2005; Initial Catalog=NOMBRE_BDR; User id=sa; password=sa" providerName="System.Data.SqlClient"/>
</connectionStrings>
2. Para recuperar la cadena de conexion hacemos la siguiente linea, dentro del metodo que lo usara
ConnectionStringSettings ConnectionStringSettings = ConfigurationManager.ConnectionStrings["SQLServerConnection"];
String CadenaConexion = ConnectionStringSettings.ConnectionString;
3. agregamos el siguiente fragmento de codigo para hacer uso de un Procedimiento almacenado, ejemplo si tiene 3 parametros de entrada nuestro SP:
SqlParameter[] par = new SqlParameter[3];
par[0] = new SqlParameter("@PAR1", System.Data.SqlDbType.VarChar, 20);
par[0].Value = VALOR1;
par[1] = new SqlParameter("@PAR2", System.Data.SqlDbType.VarChar, 20);
par[1].Value = VALOR2;
par[2] = new SqlParameter("@PAR3", System.Data.SqlDbType.VarChar, 10);
par[2].Value = VALOR3;
try
{
SqlDataReader loDr = SqlHelper.ExecuteReader(CadenaConexion, CommandType.StoredProcedure, "SPS_XXXXXXXXXXXXX", par);
while (loDr.Read())
{
String campo1 = loDr.GetValue(loDr.GetOrdinal("Columna1")).ToString();
//agregar asi por cada columna a recuperar
}
descargar Microsoft.ApplicationBlocks.Data
FORMA TRADICIONAL
ArrayList alParameters = new ArrayList();
SqlParameter parameter;
parameter = new SqlParameter("@CODIGO", SqlDbType.VarChar, 10);
parameter.Value = pUser.CodUsuario;
alParameters.Add(parameter);
parameter = new SqlParameter("@CLAVE", SqlDbType.VarChar, 10);
parameter.Value = pUser.Password;
alParameters.Add(parameter);
DataSet data= DBUtilSQLServer.getDataset("SPM_LOGIN", alParameters)
foreach (DataRow drow in data.Tables[0].Rows)
{
String IdUsuario = drow["IdUsuario"].ToString().Trim();
String codigo = drow["Codigo"].ToString().Trim();
String nombres = drow["Nombre"].ToString().Trim();
}
El metodo que usamos es el siguiente
public static DataSet getDataset(string spName, ArrayList alParametros)
{
SqlConnection conn = new SqlConnection(.CadenaConexion);
conn.Open();
SqlCommand cmd = getCommand(conn, spName, alParametros);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandTimeout = 0;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
closeConnection(conn);
return ds;
}
private static SqlCommand getCommand(SqlConnection conn, string spName, ArrayList alParametros)
{
SqlCommand cmd = new SqlCommand(spName, conn);
IEnumerator ieParametros = alParametros.GetEnumerator();
while (ieParametros.MoveNext())
{
cmd.Parameters.Add((SqlParameter)ieParametros.Current);
}
return cmd;
}
descargar Codigo de clase
Descargar
Comentarios
Publicar un comentario