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语句吧?
设计窗体
运行效果:
先后点击这两条记录
{
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语句吧?
设计窗体
运行效果:
先后点击这两条记录
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语句好像多余了