📄 cdlgpay.cs
字号:
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 + -