SqlDataAdapter sda = new SqlDataAdapter();
        SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=test;Integrated Security=True;Persist Security Info=True");
        conn.Open();
        SqlCommand selectCMD = new SqlCommand("select * from Books where BookID=@BookID", conn);
        SqlCommand updataCMD = new SqlCommand("updata Books set BookDiscount=@BookDiscount where BookID=@BookID", conn);
        updataCMD.Parameters.Add("@BookID", SqlDbType.Int, 4, "BookID");
        updataCMD.Parameters.Add("@BookDiscount", SqlDbType.Float, 8, "BookDiscount");
        sda.SelectCommand = selectCMD;
        sda.UpdateCommand = updataCMD;
        DataSet ds = new DataSet();
        sda.Fill(ds, "Books");
        ds.Tables["Books"].PrimaryKey = new DataColumn[] { ds.Tables["Books"].Columns["BookID"] };
        int nBookID = int.Parse(txtBookID2.Text);
        DataRow editDR = null;
        foreach (DataRow dr in ds.Tables["Books"].Rows)
        {
            if (int.Parse(dr["BookID"].ToString()) == nBookID)
            {
                editDR = dr;
                break;
            }
        }
        editDR["Discount"] = txtNewDiscount.Text;
        sda.Update(ds, "Books");
    这段代码总是提示“必须声明变量@BookID”,我不是声明了吗(updataCMD.Parameters.Add("@BookID",SqlDbType.Int, 4, "BookID");)有没有高手能够指点一下?