public void Page_Load(object sender, EventArgs e)
    {
        string sql;
        SqlDataReader dr;
        string strsongname;
        string strsonger;
        string straddr;
        int id;
        id = Convert.ToInt32(Request.QueryString["id"]);
        if (!Page.IsPostBack)
        {
            if (id !=null)
            {
                SqlConnection cnn = new SqlConnection("server=(local);uid=sa;pwd=19840522;database=mydatab");
                cnn.Open();
                sql = "select * from music where musicid='id'";
                SqlCommand cmm = new SqlCommand(sql, cnn);
                dr = cmm.ExecuteReader();
                if (dr.Read())
                {
                    strsongname =Convert.ToString(dr["songer"]);
                    strsonger =Convert.ToString( dr["songer"]);
                    straddr =Convert.ToString(dr["addr"]);
                    dr.Close();
                    sql = "update music set dj_counts=dj_counts+1 where musicid='id'";
                    SqlCommand cm= new SqlCommand(sql,cnn);
                    dr = cm.ExecuteReader();                }
                else
                {   
                    cnn.Close();
                    Response.Write("没有此歌曲");
                    Response.End();
                }            }
 varchar 值 'id' 转换为数据类型为 int 的列时发生语法错误。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 将 varchar 值 'id' 转换为数据类型为 int 的列时发生语法错误。源错误: 行 31:                 SqlCommand cmm = new SqlCommand(sql, cnn);
行 32:                 dr = cmm.ExecuteReader();
行 33:                 if (dr.Read())
行 34:                 {
行 35:                     strsongname =Convert.ToString(dr["songer"]);