📄 cdlgitwmmaintain.cs
字号:
}
//选中学生,获得教工查询sql语句
private string TecSql()
{
string sql="select tec.userid,tec.usernumber,tec.name,2,tec.deptid,-1,-1"+
" from charge_tuser_info tec where ";
if(ckbNumber.Checked)//选中学号
{
sql=sql+" tec.usernumber like '"+txtNumber.Text.Trim()+"%'";
if(ckbName.Checked)//选中姓名
{
sql=sql+" and tec.name like '"+txtName.Text.Trim()+"%'";
if(ckbTDept.Checked)//选择部门
{
if(ckbTSubDept.Checked)//包括子部门
{
sql=sql+" and tec.deptid in (select todeptid from charge_r_dept start with fromdeptid="+txtTDept.Tag+" connect by fromdeptid=prior todeptid)"
+" union select tec1.userid,tec1.usernumber,tec1.name,2,tec1.deptid,-1,-1"+
" from charge_tuser_info tec1 where tec1.deptid="+txtTDept.Tag;
sql=sql+" and tec1.usernumber like '"+txtNumber.Text.Trim()+"%'";
sql=sql+" and tec1.name like '"+txtName.Text.Trim()+"%'";
}
else//不包括子部门
{
sql=sql+" and tec.deptid="+txtTDept.Tag;
}
}
}
else //选了学号而未选中姓名
{
if(ckbTDept.Checked)//选择部门
{
if(ckbTSubDept.Checked)//包括子部门
{
sql=sql+" and tec.deptid in (select todeptid from charge_r_dept start with fromdeptid="+txtTDept.Tag+" connect by fromdeptid=prior todeptid)"
+" union select tec1.userid,tec1.usernumber,tec1.name,2,tec1.deptid,-1,-1"+
" from charge_tuser_info tec1 where tec1.deptid="+txtTDept.Tag;
sql=sql+" and tec1.usernumber like '"+txtNumber.Text.Trim()+"%'";
//sql=sql+" and tec1.name like '"+txtName.Text.Trim()+"%'";
}
else//不包括子部门
{
sql=sql+" and tec.deptid="+txtTDept.Tag;
}
}
}
}
else //未选学号
{
if(ckbName.Checked)//选中姓名
{
sql=sql+" tec.name like '"+txtName.Text.Trim()+"%'";
if(ckbTDept.Checked)//选择部门
{
if(ckbTSubDept.Checked)//包括子部门
{
sql=sql+" and tec.deptid in (select todeptid from charge_r_dept start with fromdeptid="+txtTDept.Tag+" connect by fromdeptid=prior todeptid)"
+" union select tec1.userid,tec1.usernumber,tec1.name,2,tec1.deptid,-1,-1"+
" from charge_tuser_info tec1 where tec1.deptid="+txtTDept.Tag;
sql=sql+" and tec1.name like '"+txtName.Text.Trim()+"%'";
}
else//不包括子部门
{
sql=sql+" tec.deptid="+txtTDept.Tag;
}
}
}
else //学号姓名都未选
{
if(ckbTDept.Checked)//选择部门
{
if(ckbTSubDept.Checked)//包括子部门
{
sql=sql+" tec.deptid in (select todeptid from charge_r_dept start with fromdeptid="+txtTDept.Tag+" connect by fromdeptid=prior todeptid)"
+" union select tec1.userid,tec1.usernumber,tec1.name,2,tec1.deptid,-1,-1"+
" from charge_tuser_info tec1 where tec1.deptid="+txtTDept.Tag;
}
else//不包括子部门
{
sql=sql+" tec.deptid="+txtTDept.Tag;
}
}
else //选择全部教工
{
sql="select tec.userid,tec.usernumber,tec.name,2,tec.deptid,-1,-1"+
" from charge_tuser_info tec ";
}
}
}
return sql;
}
//输入性检查,返回值为bool值.各项输入有误返回false;输入正确则返回true
private bool CheckInput()
{
bool result=true;
if(cbbItem.Text.Trim()=="")
{
MessageBox.Show("未选收费项目!");
result=false;
}
if(ckbSDept.Checked&(txtSDept.Text.Trim()==""))
{
MessageBox.Show("未选定系!");
result=false;
}
if(ckbSClass.Checked&(txtSClass.Text.Trim()==""))
{
MessageBox.Show("未选定班级!");
result=false;
}
if(ckbTDept.Checked&(txtTDept.Text.Trim()==""))
{
MessageBox.Show("未选定部门!");
result=false;
}
if(ckbNumber.Checked&(txtNumber.Text.Trim()==""))
{
MessageBox.Show("未输入学号/教工号!");
result=false;
}
if(ckbName.Checked&(txtName.Text.Trim()==""))
{
MessageBox.Show("未输入姓名!");
result=false;
}
return result;
}
//选择系,并将所选系的ID赋值给txtSDept的Tag属性
private void btnSDept_Click(object sender, System.EventArgs e)
{
CfrmDeptTree frmDptTree = new CfrmDeptTree(txtSDept,1,0);
frmDptTree.ShowDialog();
}
//选择班级,并将所选班级的ID赋值给txtSClass的Tag属性
private void btnSClass_Click(object sender, System.EventArgs e)
{
CfrmDeptTree frmDptTree = new CfrmDeptTree(txtSClass,4,1);
frmDptTree.ShowDialog();
}
//选择教工部门,并将所选部门的ID赋值给txtTDept的Tag属性
private void btnTDept_Click(object sender, System.EventArgs e)
{
CfrmDeptTree frmDptTree = new CfrmDeptTree(txtTDept,2,0);
frmDptTree.ShowDialog();
}
private void ckbNumber_CheckedChanged(object sender, System.EventArgs e)
{
if(ckbNumber.Checked)//选择学号/教工号
{
txtNumber.Enabled=true;
}
else
{
txtNumber.Enabled=false;
}
}
private void ckbName_CheckedChanged(object sender, System.EventArgs e)
{
if(ckbName.Checked)//选择姓名
{
txtName.Enabled=true;
}
else
{
txtName.Enabled=false;
}
}
//将ListView控件中收费对象入库
private void btnIntoDB_Click(object sender, System.EventArgs e)
{
if(lvSel.Items.Count<0)//ListView中无记录
{
this.Cursor=Cursors.Default;
return;
}
if(txtMoney.Text.Trim()=="")
{
MessageBox.Show("未输入金额!");
return;
}
this.Cursor = Cursors.WaitCursor;
int records=0;//入库的记录数
ArrayList spParam=new ArrayList();//用来装载一条入库记录对应的存储过程参数
for(int i=0;i<lvSel.Items.Count;i++)
{
ListViewItem lvi=lvSel.Items[i];
spParam.Clear();
spParam.Add(ArrItemID[cbbItem.SelectedIndex]);//ItemID
spParam.Add(cbbItem.Text.Trim());//ItemName
spParam.Add(lvi.Tag);//UserID
spParam.Add(lvi.Text);//UserNumber
spParam.Add(lvi.SubItems[1].Text.Trim());//Name
spParam.Add(lvi.SubItems[2].Text.Trim());//Type
spParam.Add(lvi.SubItems[3].Text.Trim());//DeptID
string UserType=lvi.SubItems[2].Text.Trim();
if(UserType=="1")//学生
{
spParam.Add(lvi.SubItems[4].Text.Trim());//MajorID
spParam.Add(lvi.SubItems[5].Text.Trim());//ClassID
}
else //教工,无专业班级,对应存储过程输入参数为-1
{
spParam.Add("-1");
spParam.Add("-1");
}
spParam.Add(Convert.ToInt32(txtMoney.Text.Trim())*100);//Money
int result=IntoDBOne(spParam);
if(result==0)//插入成功
{
lvSel.Items[i].BackColor=Color.Red;
records++;
}
if(result==1)//执行存储过程失败,执行插入下一条
{
lvi.BackColor=Color.Blue;//变黑
continue;
}
if(result==7)//数据库连接错误,不再循坏
{
MessageBox.Show("插入第"+(i+1)+"条记录时连接数据库失败!");
break;
}
}
this.Cursor=Cursors.Default;
MessageBox.Show("成功插入"+records+"条记录如红色所示,插入失败的记录如蓝色所示,其余记录因数据库未知错误无法插入");
}
//往数据库添加一条收费任务,成功返回0,数据库连接失败返回7,存储过程执行失败返回1
private int IntoDBOne(ArrayList param)
{
string strProcedureName = "SP_CHARGE_maintain";
OracleParameter[] inParam = {new OracleParameter(), new OracleParameter(),
new OracleParameter(),new OracleParameter(),
new OracleParameter(),new OracleParameter(),
new OracleParameter(),new OracleParameter(),
new OracleParameter(),new OracleParameter()
};
inParam[0].ParameterName = "v_UserID";
inParam[0].OracleType = OracleType.VarChar;
inParam[0].Direction = ParameterDirection.Input;
inParam[0].Value = param[2];
inParam[1].ParameterName = "v_Username";
inParam[1].OracleType = OracleType.VarChar;
inParam[1].Direction = ParameterDirection.Input;
inParam[1].Value = param[4];
inParam[2].ParameterName = "v_Usernumber";
inParam[2].OracleType = OracleType.VarChar;
inParam[2].Direction = ParameterDirection.Input;
inParam[2].Value = param[3];
inParam[3].ParameterName = "v_Userclass";
inParam[3].OracleType = OracleType.VarChar;
inParam[3].Direction = ParameterDirection.Input;
inParam[3].Value = param[5];
inParam[4].ParameterName = "v_DeptID";
inParam[4].OracleType = OracleType.Number;
inParam[4].Direction = ParameterDirection.Input;
inParam[4].Value = param[6];
inParam[5].ParameterName = "v_MajorID";
inParam[5].OracleType = OracleType.Number;
inParam[5].Direction = ParameterDirection.Input;
inParam[5].Value = param[7];
inParam[6].ParameterName = "v_ClassID";
inParam[6].OracleType = OracleType.Number;
inParam[6].Direction = ParameterDirection.Input;
inParam[6].Value = param[8];
inParam[7].ParameterName = "v_ItemID";
inParam[7].OracleType = OracleType.Number;
inParam[7].Direction = ParameterDirection.Input;
inParam[7].Value = param[0];
inParam[8].ParameterName = "v_Itemname";
inParam[8].OracleType = OracleType.VarChar;
inParam[8].Direction = ParameterDirection.Input;
inParam[8].Value = param[1];
inParam[9].ParameterName = "v_Money";
inParam[9].OracleType = OracleType.Number;
inParam[9].Direction = ParameterDirection.Input;
inParam[9].Value = param[9];
//输出参数(1个)
OracleParameter[] outParam = {new OracleParameter()};
outParam[0].ParameterName = "p_Result";
outParam[0].OracleType = OracleType.Number;
outParam[0].Direction = ParameterDirection.Output;
//存储过程的调用
int spValue = GlobleHelper.ExecStoredProc(strProcedureName, inParam, ref outParam);
if(spValue == 7)//执行存储过程出错
{
return 7;
}
int result=Convert.ToInt32(outParam[0].Value);
return result;
}
//从ListView中选择删除一些项
private void btnOutListView_Click(object sender, System.EventArgs e)
{
if(lvSel.SelectedItems.Count<0)
{
return;
}
lvSel.BeginUpdate();
int number=lvSel.SelectedItems.Count;
for(int i=0;i<number;i++)
{
lvSel.Items.RemoveAt(lvSel.SelectedIndices[0]);
}
lvSel.EndUpdate();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -