⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cdlgitwmmaintain.cs

📁 本书主要介绍了从基础开始建立Portal的快速应用开发过程(RAD)的方法。通过本书你可以了解到关于Oracle 9iAS Portal产品的主要特性、入口的开发和组织、网络开发和管理、实际的关系型数
💻 CS
📖 第 1 页 / 共 3 页
字号:
		}
		//选中学生,获得教工查询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 + -