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

📄 cdlgpay.cs

📁 本书主要介绍了从基础开始建立Portal的快速应用开发过程(RAD)的方法。通过本书你可以了解到关于Oracle 9iAS Portal产品的主要特性、入口的开发和组织、网络开发和管理、实际的关系型数
💻 CS
📖 第 1 页 / 共 2 页
字号:
			this.rbtTec.Location = new System.Drawing.Point(312, 24);
			this.rbtTec.Name = "rbtTec";
			this.rbtTec.Size = new System.Drawing.Size(80, 24);
			this.rbtTec.TabIndex = 1;
			this.rbtTec.Text = "教工";
			this.rbtTec.CheckedChanged += new System.EventHandler(this.rbtTec_CheckedChanged);
			// 
			// rbtStu
			// 
			this.rbtStu.Location = new System.Drawing.Point(56, 24);
			this.rbtStu.Name = "rbtStu";
			this.rbtStu.Size = new System.Drawing.Size(64, 24);
			this.rbtStu.TabIndex = 0;
			this.rbtStu.Text = "学生";
			this.rbtStu.CheckedChanged += new System.EventHandler(this.rbtStu_CheckedChanged);
			// 
			// btnPay
			// 
			this.btnPay.Enabled = false;
			this.btnPay.Location = new System.Drawing.Point(240, 424);
			this.btnPay.Name = "btnPay";
			this.btnPay.TabIndex = 2;
			this.btnPay.Text = "交费";
			this.btnPay.Click += new System.EventHandler(this.btnPay_Click);
			// 
			// CdlgPay
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
			this.ClientSize = new System.Drawing.Size(578, 506);
			this.Controls.Add(this.btnPay);
			this.Controls.Add(this.groupBox2);
			this.Controls.Add(this.groupBox1);
			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
			this.Name = "CdlgPay";
			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
			this.Text = "用户交费";
			this.Load += new System.EventHandler(this.CdlgPay_Load);
			this.groupBox1.ResumeLayout(false);
			this.groupBox2.ResumeLayout(false);
			this.groupBox3.ResumeLayout(false);
			this.ResumeLayout(false);

		}
		#endregion

		private void CdlgPay_Load(object sender, System.EventArgs e)
		{
			//页面载入事件导入当前在用的收费项目
			System.Data.OracleClient.OracleConnection myconn = Connection.DBConnection;
			if(myconn==null)
			{
				return;
			}
			string mysql="select ItemID,ItemName from Charge_Items where useable=1";
			OracleCommand mycommand=new OracleCommand(mysql, myconn);
			OracleDataReader myreader=null;
			try
			{
				myreader = mycommand.ExecuteReader();
			}
			catch(Exception ee)
			{
				MessageBox.Show("数据库查询出错,消息如下:\r\n"+ee.Message,"消息:",MessageBoxButtons.OK,MessageBoxIcon.Warning);
				return;
			}
			while(myreader.Read())
			{
				ArrItemID.Add(myreader.GetInt32(0));
				cbbItem.Items.Add(myreader.GetString(1));
			}
			myreader.Close();
			myreader.Dispose();
			myconn.Close();
		}

		private void rbtStu_CheckedChanged(object sender, System.EventArgs e)
		{
			if(rbtStu.Checked)//选择学生
			{
				txtSnum.Enabled=true;//输入学号可用
			}
			else
			{
				txtSnum.Enabled=false;
			}
		}

		private void rbtTec_CheckedChanged(object sender, System.EventArgs e)
		{
			if(rbtTec.Checked)//选择教工
			{
				txtTnum.Enabled=true;//输入教工号可用
			}
			else
			{
                txtTnum.Enabled=false;
			} 
		}

		private void btnOK_Click(object sender, System.EventArgs e)
		{
			if(Checkinput())//输入性检查
			{
				itemid=Convert.ToInt32(ArrItemID[cbbItem.SelectedIndex]);//项目ID
				
				if(rbtStu.Checked)//学生
				{
					string snum=txtSnum.Text.Trim();
					if(!ShowStu(itemid,snum))
					{
						return;
					}
				}
				if(rbtTec.Checked)//学生
				{
					string tnum=txtTnum.Text.Trim();
					if(!ShowTec(itemid,tnum))
					{
						return;
					}
				}
				btnPay.Enabled=true;//可以交费
			}
		}
		//根据学号和项目ID显示学生信息与应交金额
		private bool ShowStu(int ItemID,string Snum)
		{
			//显示学生基本信息
			System.Data.OracleClient.OracleConnection myconn = Connection.DBConnection;
			if(myconn==null)
			{
				return false;
			}
			string mysql="select stu.userid,stu.name,dept.deptname,class.classname from"+
				        " charge_suser_info stu,charge_dept_info dept,charge_class_info class"+
				        " where stu.usernumber like '"+txtSnum.Text.Trim()+"' and "+
				        "stu.classid=class.classid and class.deptid=dept.deptid";
			OracleCommand mycommand=new OracleCommand(mysql, myconn);
			OracleDataReader myreader=null;
			try
			{
				myreader=mycommand.ExecuteReader();
			}
			catch(Exception ee)
			{
				MessageBox.Show("数据库查询出错,消息如下:\r\n"+ee.Message,"消息:",MessageBoxButtons.OK,MessageBoxIcon.Warning);
				return false;
			}
			if(myreader.Read())//查到学生
			{
				userid=myreader.GetString(0);//userid
				lbSname.Text=myreader.GetString(1);//name
				username=lbSname.Text;    //username
				laSdept.Text=myreader.GetString(2);//deptname
				lbSclass.Text=myreader.GetString(3);//classname
				usertype=1;  //用户类型
			}
			else
			{
				MessageBox.Show("无此学生!");
				return false;
			}
			
			//显示应交金额
			mysql="select money,charged from charge_io where itemid="+ItemID+" and userid like '"+userid+"'";
			mycommand=new OracleCommand(mysql,myconn);
			try
			{
				myreader=mycommand.ExecuteReader();
			}
			catch(Exception ee)
			{
				MessageBox.Show("数据库查询出错,消息如下:\r\n"+ee.Message,"消息:",MessageBoxButtons.OK,MessageBoxIcon.Warning);
				return false;
			}
			if(myreader.Read())//此用户在项目收费任务中
			{
				int times=myreader.GetInt32(1);
				if(times==1)//已交费
				{
					MessageBox.Show("此用户已交费!");
					return false;
				}
				else
				{
					money=myreader.GetInt32(0);
					lbMoney.Text=Convert.ToString(money/100);
				}
			}
			else
			{
				MessageBox.Show("此用户不在本项目收费之列!");
				return false;
			}
			myreader.Close();
			myreader.Dispose();
			myconn.Close();
			return true;
		}
		//根据学号和项目ID显示教工信息与应交金额
		private bool ShowTec(int ItemID,string Tnum)
		{
			//显示教工基本信息
			System.Data.OracleClient.OracleConnection myconn = Connection.DBConnection;
			if(myconn==null)
			{
				return false;
			}
			string mysql="select tec.userid,tec.name,dept.deptname "+
				        " from charge_tuser_info tec,charge_dept_info dept "+
				        "where tec.usernumber like '"+txtTnum.Text.Trim()+"' and "+
				        " tec.deptid=dept.deptid";
			OracleCommand mycommand=new OracleCommand(mysql, myconn);
			OracleDataReader myreader=null;
			try
			{
				myreader=mycommand.ExecuteReader();
			}
			catch(Exception ee)
			{
				MessageBox.Show("数据库查询出错,消息如下:\r\n"+ee.Message,"消息:",MessageBoxButtons.OK,MessageBoxIcon.Warning);
				return false;
			}
			if(myreader.Read())//查到教工
			{
				lbTname.Text=myreader.GetString(1);//name
				username=lbTname.Text;    //username
				lbTdept.Text=myreader.GetString(2);//deptname
				userid=myreader.GetString(0);//教工UserID
				usertype=2;  //用户类型
			}
			else
			{
				MessageBox.Show("无此教工!");
				return false;
			}
			//显示应交金额
			mysql="select money,charged from charge_io where itemid="+ItemID+" and userid like '"+userid+"'";
			mycommand=new OracleCommand(mysql,myconn);
			try
			{
				myreader=mycommand.ExecuteReader();
			}
			catch(Exception ee)
			{
				MessageBox.Show("数据库查询出错,消息如下:\r\n"+ee.Message,"消息:",MessageBoxButtons.OK,MessageBoxIcon.Warning);
				return false;
			}
			if(myreader.Read())//此用户在项目收费任务中
			{
				int times=myreader.GetInt32(1);
				if(times==1)//已交费
				{
					MessageBox.Show("此用户已交费!");
					return false;
				}
				else
				{
					money=myreader.GetInt32(0);
					lbMoney.Text=Convert.ToString(money/100);
				}
			}
			else
			{
				MessageBox.Show("此用户不在本项目收费之列!");
				return false;
			}
			myreader.Close();
			myreader.Dispose();
			myconn.Close();
			return true;
	
		}
		//输入性检查 无误返回true;否则返回false
		private bool Checkinput()
		{
			if(cbbItem.SelectedIndex<0)
			{
				MessageBox.Show("未选择项目!");
				return false;
			}
			if(rbtStu.Checked&(txtSnum.Text.Trim()==""))
			{
				MessageBox.Show("未输入学号!");
				return false;
			}
			if(rbtTec.Checked&(txtTnum.Text.Trim()==""))
			{
				MessageBox.Show("未输入教工号!");
				return false;
			}
			return true;
		}
        //"交费"按钮事件函数,调用存储过程""
		private void btnPay_Click(object sender, System.EventArgs e)
		{
			OracleParameter[] inParam = {new OracleParameter(), new OracleParameter(),
											new OracleParameter(),new OracleParameter(),new OracleParameter()
											};
			inParam[0].ParameterName = "p_UserID";
			inParam[0].OracleType = OracleType.VarChar;
			inParam[0].Direction = ParameterDirection.Input;
			inParam[0].Value = userid;

			inParam[1].ParameterName = "p_itemid";
			inParam[1].OracleType = OracleType.Number;
			inParam[1].Direction = ParameterDirection.Input;
			inParam[1].Value = itemid;

			inParam[2].ParameterName = "p_money";
			inParam[2].OracleType = OracleType.Number;
			inParam[2].Direction = ParameterDirection.Input;
			inParam[2].Value =money;

			inParam[3].ParameterName = "p_usertype";
			inParam[3].OracleType = OracleType.Number;
			inParam[3].Direction = ParameterDirection.Input;
			inParam[3].Value = usertype;

			inParam[4].ParameterName = "p_username";
			inParam[4].OracleType = OracleType.VarChar;
			inParam[4].Direction = ParameterDirection.Input;
			inParam[4].Value = username;

			//输出参数(1个)
			OracleParameter[] outParam = {new OracleParameter()};

			outParam[0].ParameterName = "p_Result";
			outParam[0].OracleType = OracleType.Number;
			outParam[0].Direction = ParameterDirection.Output;
			//存储过程的调用
			int result = GlobleHelper.ExecStoredProc("sp_charge_pay", inParam, ref outParam);
			if(result!=0)
			{
				MessageBox.Show("数据库操作失败!");
				return;
			}
			MessageBox.Show("交费成功!");
			btnPay.Enabled=false;
         }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -