基于C#+Oracle的考勤管理系统的设计与开发
ChangeEnabled(); cbYG.Enabled = false; }
///
private void btnBC_Click(object sender, EventArgs e) {
if (type == \) {
for (int i = 0; i < dgvKQGL.Rows.Count; ++i)
if (cbYG.Text == dgvKQGL.Rows[i].Cells[1].Value.ToString()) {
MessageBox.Show(\今天已有该员工的出勤记录。\, \提示\, MessageBoxButtons.OK, MessageBoxIcon.Information); dgvKQGL.Rows[i].Selected = true; type = \;
cbYG.Enabled = false;
}
}
string sql = \;
string time = dtpTIME.Value.Day + \ + dtpTIME.Value.Month + \月-\ + dtpTIME.Value.Year; if (type == \)
sql = \ + time + \ + table2.Rows[cbYG.SelectedIndex][\] + \ +
table3.Rows[cbCQQK.SelectedIndex][\] + \ + tbBZ.Text + \; else if (type == \)
sql = \ + cbCQQK.Text.Substring(0,
cbCQQK.Text.IndexOf(\)) + \ + tbBZ.Text + \ + time + \ + cbYG.Text.Substring(0, cbYG.Text.IndexOf(\\)) + \; else
return;
第 31 页 共 44 页
return;
基于C#+Oracle的考勤管理系统的设计与开发
if (Program.ConnNonRead(sql) > 0) {
if (type == \) {
dgvKQGL.Rows.Add();
dgvKQGL.Rows[dgvKQGL.Rows.Count - 1].Cells[0].Value = dtpTIME.Value.ToLongDateString();
dgvKQGL.Rows[dgvKQGL.Rows.Count - 1].Cells[1].Value = cbYG.Text; dgvKQGL.Rows[dgvKQGL.Rows.Count - 1].Cells[2].Value = cbCQQK.Text;
dgvKQGL.Rows[dgvKQGL.Rows.Count - 1].Cells[3].Value = tbBZ.Text; dgvKQGL.Rows[dgvKQGL.Rows.Count - 1].Selected = true;
MessageBox.Show(\添加成功。\, \提示\, MessageBoxButtons.OK, MessageBoxIcon.Information); } else {
for (int i = 0; i < dgvKQGL.Rows.Count; ++i)
if (dgvKQGL.Rows[i].Cells[1].Value.ToString() == cbYG.Text) {
dgvKQGL.Rows[i].Cells[2].Value = cbCQQK.Text; dgvKQGL.Rows[i].Cells[3].Value = tbBZ.Text;
}
MessageBox.Show(\修改成功。\, \提示\, MessageBoxButtons.OK, MessageBoxIcon.Information); }
isbj = false; type = \; ChangeInfo(); ChangeEnabled(); cbYG.Enabled = true; } else {
第 32 页 共 44 页
break;
基于C#+Oracle的考勤管理系统的设计与开发
if (type == \)
MessageBox.Show(\添加失败,请重新添加。\, \提示\, MessageBoxButtons.OK, MessageBoxIcon.Information); else
MessageBox.Show(\修改失败,请重新修改。\, \提示\, MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
///
private void btnQX_Click(object sender, EventArgs e) {
isbj = false; type = \; ChangeInfo(); ChangeEnabled(); cbYG.Enabled = true; }
///
private void btnTC_Click(object sender, EventArgs e) {
Close(); }
///
private void frm_kqgl_FormClosing(object sender, FormClosingEventArgs e) {
if (isbj) {
MessageBox.Show(\请先关闭编辑。\, \提示\, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); e.Cancel = true;
第 33 页 共 44 页
基于C#+Oracle的考勤管理系统的设计与开发
} }
///
/// 退出后处理主界面变量事件 ///
private void frm_kqgl_FormClosed(object sender, FormClosedEventArgs e) {
Program.kqglxt.kqgl = null; }
5. 员工出勤情况统计报表模块
功能:查询当前考勤信息表,并可以进行考勤信息组合查询、打印预览、打印操作。 ///
private void frm_kqtj_Load(object sender, EventArgs e) {
DataTable table = Program.ConnRead(\); cbBM.Items.Add(\全部\);
foreach (DataRow row in table.Rows)
cbBM.Items.Add(row[\].ToString()); table = Program.ConnRead(\); cbLX.Items.Add(\全部\);
foreach (DataRow row in table.Rows)
cbLX.Items.Add(row[\].ToString()); cbBM.SelectedIndex = 0; cbLX.SelectedIndex = 0;
string time = GetTime();
string sql = \KQLXB.BH=LXBH and YGB.BH=YGBH \;
sql += \ + time.Substring(0, time.IndexOf(\)) + \KQRQ<='\ + time.Substring(time.IndexOf(\)) + \; table = Program.ConnRead(sql);
foreach (DataRow row in table.Rows) {
dgvKQTJ.Rows.Add();
第 34 页 共 44 页
基于C#+Oracle的考勤管理系统的设计与开发
dgvKQTJ.Rows[dgvKQTJ.Rows.Count - 1].Cells[0].Value = row[\].ToString();
dgvKQTJ.Rows[dgvKQTJ.Rows.Count - 1].Cells[1].Value = row[\].ToString();
dgvKQTJ.Rows[dgvKQTJ.Rows.Count - 1].Cells[2].Value = row[\].ToString();
dgvKQTJ.Rows[dgvKQTJ.Rows.Count - 1].Cells[3].Value = row[\].ToString(); } }
///
private string GetTime() {
return dtpKS.Value.Day + \ + dtpKS.Value.Month + \月-\ + dtpKS.Value.Year + \\ + dtpJS.Value.Day + \ + dtpJS.Value.Month + \月-\ + dtpJS.Value.Year; }
///
/// 开始时间选择判断事件 ///
private void dtpKS_CloseUp(object sender, EventArgs e) {
if (dtpKS.Value > dtpJS.Value)
dtpJS.Value = dtpKS.Value;
}
///
/// 结束时间选择判断事件 ///
private void dtpJS_CloseUp(object sender, EventArgs e) {
if (dtpJS.Value < dtpKS.Value) {
MessageBox.Show(this, \结束日期不能早于开始日期。\, \提示\, MessageBoxButtons.OK, MessageBoxIcon.Information); dtpJS.Value = dtpKS.Value;
第 35 页 共 44 页