Ir al contenido principal

Ejemplo SQL con .NET

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












Comentarios