public partial class frmChangePrize : Form
    {
        public frmChangePrize()
        {
            InitializeComponent();
        }
        public string Uid;//声明字段
        public string Uname;//声明字段
        DBOperate operate = new DBOperate();//创建数据库操作对象
        private void frmChangePrize_Load(object sender, EventArgs e)
        {
            if (cbbUserJFType.Text == "奖励")
            {
                txtFK.Enabled = false;//停用罚款文本框
                txtJL.Enabled = true;//启用奖励文本框
            }
            else
            {
                txtJL.Enabled = false;//停用奖励文本框
                txtFK.Enabled = true;//启用罚款文本框
            }
            SqlConnection conn = DBConnection.MyConnection();//创建数据库连接对象
            conn.Open();//打开数据库连接
            SqlCommand cmd = new SqlCommand("select * from tb_employee", conn);//创建数据库命令对象
            SqlDataReader sdr = cmd.ExecuteReader();//创建数据读取器
            while (sdr.Read())//读取数据
            {
                cbbUserNum.Items.Add(sdr["employeeID"].ToString());//添加数据项
            }
            sdr.Close();//关闭数据读取器
            conn.Close();//关闭数据库连接
            this.Text = "[" + Uname + "]";//设置窗体标题
            string sql =//创建SQL字符串
                "select * from tb_prize where UserID='" + Uid + "'";
            DataSet ds = operate.GetTable(sql);//得到数据集
            ds.Dispose();//释放资源
            cbbUserNum.Text = ds.Tables[0].Rows[0][1].ToString();//得到员工编号
            cbbUserJFType.Text = ds.Tables[0].Rows[0][4].ToString();//得到奖罚信息
            txtname.Text = ds.Tables[0].Rows[0][2].ToString();//得到员工姓名
            txtdep.Text = ds.Tables[0].Rows[0][3].ToString();//得到员工部门
            txtJFcontent.Text = ds.Tables[0].Rows[0][5].ToString();//得到奖罚内容
            txtJL.Text = ds.Tables[0].Rows[0][6].ToString();//得到奖励金额
            txtFK.Text = ds.Tables[0].Rows[0][7].ToString();//得到罚款金额
            txtJFdate.Text = ds.Tables[0].Rows[0][8].ToString();//得到奖罚日期
            txtCXDate.Text = ds.Tables[0].Rows[0][9].ToString();//得到撤销日期
        }
        ......
     }
这是教材里的代码,这个if语句是不是应该放在 cbbUserJFType.Text = ds.Tables[0].Rows[0][4].ToString();之后啊?为什么放在前边也可以呢?不会先运行后面语句在运行if语句吧?
设计窗体
运行效果:
先后点击这两条记录

解决方案 »

  1.   

    明白了。该类还有一组代码
      private void cbbUserJFType_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (cbbUserJFType.Text == "奖励")
                {
                    txtFK.Enabled = false;//停用罚款文本框
                    txtJL.Enabled = true;//启用奖励文本框
                }
                else
                {
                    txtJL.Enabled = false;//停用奖励文本框
                    txtFK.Enabled = true;//启用罚款文本框
                }
            }
    构造函数下面的if语句好像多余了