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

📄 cdlgsiteinfo.cs

📁 本书主要介绍了从基础开始建立Portal的快速应用开发过程(RAD)的方法。通过本书你可以了解到关于Oracle 9iAS Portal产品的主要特性、入口的开发和组织、网络开发和管理、实际的关系型数
💻 CS
📖 第 1 页 / 共 2 页
字号:
							ckForbid.Checked=false;
						}
						else
						{
							ckForbid.Checked=true;

						}
					}
					dbReader.Close();
					dbReader.Dispose();
					dbCommand.Dispose();
				}
				catch
				{
					MessageBox.Show("未知数据库错误!");
					return 1;
				}

				//工作站信息
				lbWs.Items.Clear();//清空工作站列表框
				mySql = "Select t2.IPAddr from Charge_R_Site_Ws t1, charge_WS_Info t2 " +
					"Where t1.WsID = t2.WsID and t1.SiteID = " + SiteID.ToString();
				dbCommand = new OracleCommand(mySql, myConn);
				try
				{
					OracleDataReader dbReader = dbCommand.ExecuteReader();
					//往工作站列表中逐一添加工作站
					while (dbReader.Read())
					{
						lbWs.Items.Add(dbReader.GetString(0));
					}
					dbReader.Close();
					dbReader.Dispose();
					dbCommand.Dispose();
				}
				catch
				{
					MessageBox.Show("未知数据库错误!");
					return 1;
				}
			}
			return 0;
		}
        //添加工作站
		private void btnAdd_Click(object sender, System.EventArgs e)
		{
			if (dlgWsInfo.ShowDialog(this) == DialogResult.OK)
			{
				lbWs.ClearSelected();//取消工作站列表中的选择
				ArrayList list = dlgWsInfo.SelectedWs;//要添加的工作站列表
				//对取得的工作站列表中每一元素进行判断,如果此工作站不在列表中,则将其加入,并设为选定状态;如果此工作站已在列表中,则将其设为选定状态
				for (int i = 0; i < list.Count; i++)
				{
					string s = list[i].ToString();
					if (!lbWs.Items.Contains(s))
					{
						lbWs.Items.Add(s);
						lbWs.SetSelected(lbWs.Items.Count - 1, true);
					}
					else
					{
						lbWs.SetSelected(lbWs.Items.IndexOf(s), true);
					}
				}
			}
		
		}
       //删除工作站
		private void btnDel_Click(object sender, System.EventArgs e)
		{
			for (int i = lbWs.Items.Count - 1; i >= 0; i--)
			{
				if (lbWs.GetSelected(i))
				{
					lbWs.Items.RemoveAt(i);
				}
			}
		
		}

		/// <summary>
		/// 检查输入正确性
		/// </summary>
		/// <returns>true:正确;false:错误</returns>
		
		private bool CheckInput()
		{
			//交费点名称
			if (txtName.Text.Trim().Length == 0)
			{
				MessageBox.Show(this, "请输入收费点名称!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
				txtName.Clear();
				txtName.Focus();
				return false;
			}
			else if (txtName.Text.Trim().Length > 10)
			{
				MessageBox.Show(this, "收费点名称不能超过10个汉字!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
				txtName.SelectAll();
				txtName.Focus();
				return false;
			}
			
			//描述
			if (txtDesc.Text.Trim().Length > 200)
			{
				MessageBox.Show(this, "描述内容太长!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
				txtDesc.Focus();
				return false;
			}
			//金额
			if(txtMaxMoney.Text.Trim()=="")
			{
				MessageBox.Show(this, "必须输入最大金额!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
				txtMaxMoney.Focus();
				return false;
			}
			if(txtMaxMoney.Text.Trim().Length>11)
			{
				MessageBox.Show(this, "输入金额太大!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
				txtMaxMoney.Focus();
				return false;


			}
			//下属工作站
			OracleConnection myConn = Connection.DBConnection;
			if (myConn == null)
			{
				E.ShowMessage(ErrorCode.E_3_ConnectDBFailed_Code);
				return false;
			}
			if (lbWs.Items.Count == 0)
			{
				if (MessageBox.Show(this, "一个交费点至少应该有一台交费工作站,确定不指定吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
				{
					return false;
				}
			}
			else
			{
				string sWsStr = "";
				for (int i = 0; i < lbWs.Items.Count; i++)
				{
					sWsStr += "'" +  lbWs.Items[i].ToString() + "',";
				}
				sWsStr = sWsStr.Substring(0, sWsStr.Length - 1);
				
				string mySql = "Select t1.IPAddr From charge_WS_Info t1, Charge_R_Site_Ws t2 " +
					"Where t1.WsID = t2.WsID and t1.IPAddr in (" + sWsStr + ")";
				if (nSiteID != -1)		//修改
				{
					mySql += " and t2.SiteID != " + nSiteID.ToString();
				}
				OracleCommand dbCommand = new OracleCommand(mySql, myConn);
				try
				{
					string sRepeatWs = "";
					OracleDataReader dbReader = dbCommand.ExecuteReader();
					while (dbReader.Read())
					{
						sRepeatWs += dbReader.GetString(0) + ",";
					}
					if (sRepeatWs.Length > 0)
					{
						sRepeatWs = sRepeatWs.Substring(0, sRepeatWs.Length - 1);
						MessageBox.Show(this, "下面的工作站已被其他交费点占用,请修改:\n" + sRepeatWs, "错误", MessageBoxButtons.OK, MessageBoxIcon.Stop);
						return false;
					}
					dbReader.Close();
					dbReader.Dispose();
					dbCommand.Dispose();
				}
				catch
				{
					E.ShowMessage(ErrorCode.E_8_DBUnknownError_Code);
					return false;
				}
			}
			return true;
		}
        //确定
		private void btnOK_Click(object sender, System.EventArgs e)
		{
			if (CheckInput())
			{
				//构造收费点工作站字符串,字符串由工作站IP组成,IP间用分号隔开
				string sWsStr = "";
				for (int i = 0; i < lbWs.Items.Count; i++)
				{
					sWsStr += lbWs.Items[i].ToString() + ";";
				}
				if (nSiteID == -1)		//添加
				{
					OracleParameter[] inParam = {new OracleParameter(),
													new OracleParameter(), new OracleParameter(),new OracleParameter(),new OracleParameter()};
					//收费点名称
					inParam[0].ParameterName = "p_SiteName";
					inParam[0].OracleType = OracleType.VarChar;
					inParam[0].Value = txtName.Text.Trim();

                    
                    //收费点描述
					inParam[1].ParameterName = "p_Desc";
					inParam[1].OracleType = OracleType.VarChar;
					inParam[1].Size = 400;
					inParam[1].Value = txtDesc.Text.Trim();
					

					//最大金额参数
					int m_maxmoney=Convert.ToInt32(Convert.ToDouble(txtMaxMoney.Text.Trim())*100);
					inParam[2].ParameterName = "p_Maxmoney";
					inParam[2].OracleType = OracleType.Int32;
					inParam[2].Value=m_maxmoney;

					//收费点状态
                    int m_state=1;
					if(ckForbid.Checked)
					{
						m_state=0;
					}
					inParam[3].ParameterName = "p_State";
					inParam[3].OracleType = OracleType.Int32;
					inParam[3].Value=m_state;

                    //工作站IP字符串
					inParam[4].ParameterName = "p_WsStr";
					inParam[4].OracleType = OracleType.VarChar;
					inParam[4].Size = 200;
					inParam[4].Value = sWsStr;

					OracleParameter[] outParam = {new OracleParameter(), new OracleParameter()};
					outParam[0].ParameterName = "p_Result";
					outParam[0].OracleType = OracleType.Int32;
					outParam[0].Direction = ParameterDirection.Output;

					outParam[1].ParameterName = "p_SiteID";
					outParam[1].OracleType = OracleType.Int32;
					outParam[1].Direction = ParameterDirection.Output;

					GlobleHelper.ExecStoredProc("SP_ChargeSite_Insert", inParam, ref outParam);

					int error = Convert.ToInt32(outParam[0].Value);
					if (error != 0)
					{
						E.ShowMessage(error);
						return;
					}

					nSiteID = Convert.ToInt32(outParam[1].Value);//创建的收费点的ID号

			    }
				else
				{
					OracleParameter[] inParam = {new OracleParameter(),
													new OracleParameter(), new OracleParameter(), new OracleParameter(),new OracleParameter(),new OracleParameter()};

					inParam[0].ParameterName = "p_SiteName";
					inParam[0].OracleType = OracleType.VarChar;
					inParam[0].Value = txtName.Text.Trim();

                   

					inParam[1].ParameterName = "p_Desc";
					inParam[1].OracleType = OracleType.VarChar;
					inParam[1].Size = 400;
					inParam[1].Value = txtDesc.Text.Trim();

					inParam[2].ParameterName = "p_WsStr";
					inParam[2].OracleType = OracleType.VarChar;
					inParam[2].Size = 200;
					inParam[2].Value = sWsStr;

					inParam[3].ParameterName = "p_SiteID";
					inParam[3].OracleType = OracleType.Int32;
					inParam[3].Value = nSiteID;

					//最大金额参数
					
					int m_maxmoney1=Convert.ToInt32(Convert.ToDouble(txtMaxMoney.Text.Trim())*100);
					inParam[4].ParameterName = "p_Maxmoney";
					inParam[4].OracleType = OracleType.Int32;
					inParam[4].Value=m_maxmoney1;

					//确定收费点状态

					int m_state1=1;
					if(ckForbid.Checked)
					{
						m_state1=0;
					}
					inParam[5].ParameterName = "p_State";
					inParam[5].OracleType = OracleType.Int32;
					inParam[5].Value=m_state1;

					OracleParameter[] outParam = {new OracleParameter(), new OracleParameter()};
					outParam[0].ParameterName = "p_Result";
					outParam[0].OracleType = OracleType.Int32;
					outParam[0].Direction = ParameterDirection.Output;

					GlobleHelper.ExecStoredProc("SP_ChargeSite_Update", inParam, ref outParam);

					int error = Convert.ToInt32(outParam[0].Value);
					if (error != 0)
					{
						E.ShowMessage(error);
						return;
					}


				}
				this.DialogResult = DialogResult.OK;
				this.Close();
			}

		
		}
        //取消
		private void btnCancel_Click(object sender, System.EventArgs e)
		{
			this.Close();
		
		}



	}
}

⌨️ 快捷键说明

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