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

📄 syssupmanager.cs

📁 自己编写的基本Orcale的通用的数据库初始化工具。
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Data.OracleClient;
using System.Data.SqlClient;


namespace DS.EMIS.StartPrepare
{
	/// <summary>
	/// SysSupManager 的摘要说明。
	/// </summary>
	public class SysSupManager
	{
		public SysSupManager()
		{ 
			//
			// TODO: 在此处添加构造函数逻辑
			//
		}	

		/// <summary>
		/// 创建超级用户
		/// </summary>
		public void CreateSupUser(DtbT_XT_XTCZTXX operateInfo,DtbT_XT_XTCZZDXX terminalinfo,DtbT_XT_XTYHXX userInfo)
		{	
			OracleConnection dstCnt = DBAccess.DstConnection;
			dstCnt.Open();
			
			#region 密码加密
			if(userInfo.YHDLMM.Trim() == string.Empty)
			{
				userInfo.YHDLMM = GlobalUtility.EmptyPassword;
			}
			else
			{
				userInfo.YHDLMM = GlobalUtility.EncryptPWD(userInfo.YHDLMM);
			}
			#endregion

			#region 判断前置信息是否存在
			try
			{
				//operateInfo.ZZBH = this.GetZZBH();	
				terminalinfo.CZZDLX = this.GetCZZDLX();
			}
			catch(Exception ex)
			{
				dstCnt.Close();
				throw ex;
			}
		
			#endregion

			//获取sequence序号
			operateInfo.CZTBH = DBAccess.GetNextVal(operateInfo.TableName);
			terminalinfo.XTZDBH = DBAccess.GetNextVal(terminalinfo.TableName);
			terminalinfo.CZTBH = operateInfo.CZTBH;
			userInfo.XTYHBH = DBAccess.GetNextVal(userInfo.TableName);	
			OracleTransaction tran = DBAccess.DstConnection.BeginTransaction();	
			try
			{											
				operateInfo.InsertRecord(tran);
				terminalinfo.InsertRecord(tran);
				userInfo.InsertRecord(tran);	
				tran.Commit();		
			}
			catch (SqlException ex)
			{
				tran.Rollback();
				throw ex;
			}
			finally
			{
				dstCnt.Close();
			}
		}

		private int GetZZBH()
		{

			string cmdStr = string.Format("select MIN(ZZBH) from T_ZZ_ZZXX");
			OracleCommand cmd = new OracleCommand(cmdStr,DBAccess.DstConnection);
			try
			{
				return Convert.ToInt32(cmd.ExecuteScalar());	
			}
			catch
			{
				throw new Exception("缺少根组织信息!");
			}
			finally
			{
				cmd.Dispose();
			}			
		}
		private int GetCZZDLX()
		{
			string cmdStr = string.Format("select CZZDLX from T_XT_DM_CZZDLX where MS like '%系统管理%'");
			OracleCommand cmd = new OracleCommand(cmdStr,DBAccess.DstConnection);
			try
			{
				return  Convert.ToInt32(cmd.ExecuteScalar());				
			}
			catch
			{
				throw new Exception("缺少操作终端类型代码!");
			}
			finally
			{
				cmd.Dispose();
			}
		}
		
	}

	/// <summary>
	/// 操作场所信息
	/// </summary>
	public class DtbT_XT_CZCSXX
	{
		public string TableName = "";
		protected OracleCommand _deleteCmd;
		protected OracleCommand _selectCmd;
		protected OracleCommand _insertCmd;
		protected OracleCommand _updateCmd;
		protected OracleDataReader _reader;
		
		#region Table Members
		public int CZCSBH = -1;					//CZCSBH  NUMBER(4)                             NOT NULL,
		public int ZZBH = -1;					//ZZBH    NUMBER(8),
		public string CSMC = "";				//CSMC    VARCHAR2(50 BYTE),
		public string CZTBJT="";				//CZTBJT  VARCHAR2(3000 BYTE),
		public string BZ= "";					//BZ      VARCHAR2(200 BYTE),
		public DateTime ZCSJ = DateTime.MinValue;	//ZCSJ    DATE,
		public DateTime XSJ  = DateTime.MinValue;	 //XSJ    DATE
		#endregion

		public DtbT_XT_CZCSXX()
		{
			this.TableName = "DtbT_XT_CZCSXX";
		}
		
		protected  void InsertRecord(OracleTransaction tran)
		{
//			if(_insertCmd == null)
//			{
//				string cmdStr = "insert into DtbT_XT_CZCSXX(CZCSBH,ZZBH,CSMC,CZTBJT,CZTCZWZ,CZTMC,BZ,ZCSJ,XSJ) values(:CZTBH,:CZCSBH,:ZZBH,:CZTSPWZ,:CZTCZWZ,:CZTMC,:CZTH,:ZCSJ,:ZXSJ)";
//				_insertCmd = new OracleCommand(cmdStr,DBAccess.DstConnection);
//				_insertCmd.Parameters.Add(":CZTBH",OracleType.Number,4);
//				_insertCmd.Parameters.Add(":CZCSBH",OracleType.Number,4);
//				_insertCmd.Parameters.Add(":ZZBH",OracleType.Number,8);
//				_insertCmd.Parameters.Add(":CZTSPWZ",OracleType.Number,8);
//				_insertCmd.Parameters.Add(":CZTCZWZ",OracleType.Number,8);
//				_insertCmd.Parameters.Add(":CZTMC",OracleType.VarChar,20);
//				_insertCmd.Parameters.Add(":CZTH",OracleType.VarChar,8);
//				_insertCmd.Parameters.Add(":ZCSJ",OracleType.DateTime);
//				_insertCmd.Parameters.Add(":ZXSJ",OracleType.DateTime);
//			}
//			_insertCmd.Parameters[":CZTBH"].Value = this.CZTBH;
//			_insertCmd.Parameters[":CZCSBH"].Value = GlobalUtility.IntToOracleKey(this.CZCSBH);
//			_insertCmd.Parameters[":ZZBH"].Value = GlobalUtility.IntToOracleKey(this.ZZBH);
//			_insertCmd.Parameters[":CZTSPWZ"].Value = GlobalUtility.FloatToOracleKey(this.CZTSPWZ);
//			_insertCmd.Parameters[":CZTCZWZ"].Value = GlobalUtility.FloatToOracleKey(this.CZTCZWZ);
//			_insertCmd.Parameters[":CZTMC"].Value = this.CZTMC;
//			_insertCmd.Parameters[":CZTH"].Value = this.CZTH;
//			_insertCmd.Parameters[":ZCSJ"].Value = GlobalUtility.DateTimeToOracleKey(this.ZCSJ);
//			_insertCmd.Parameters[":ZXSJ"].Value = GlobalUtility.DateTimeToOracleKey(this.ZXSJ);
//			_insertCmd.ExecuteNonQuery();
//			_insertCmd.Transaction = tran;
		}


	}


	/// <summary>
	/// 系统操作台信息
	/// </summary>
	public class DtbT_XT_XTCZTXX 
	{
		public string TableName = "";
		protected OracleCommand _deleteCmd;
		protected OracleCommand _selectCmd;
		protected OracleCommand _insertCmd;
		protected OracleCommand _updateCmd;
		protected OracleDataReader _reader;

		#region Table Members
		public int CZTBH = -1;		// NUMBER 4 N 操作台编号
		public int CZCSBH = -1;		// NUMBER 4 操作场所编号
		public int ZZBH = -1;		// NUMBER 8 组织编号
		public float CZTSPWZ = -1;	// NUMBER 4,4 操作台水平位置
		public float CZTCZWZ = -1;	// NUMBER 4,4 操作台垂直位置
		public string CZTMC = "";	// VARCHAR2 20 操作台名称
		public string CZTH = "";	// VARCHAR2 8 操作台号
		public DateTime ZCSJ = DateTime.MinValue;	// DATE 注册时间
		public DateTime ZXSJ = DateTime.MinValue;	// DATE 注销时间
		#endregion

		public DtbT_XT_XTCZTXX()
		{
			this.TableName = "T_XT_XTCZTXX";
		}

		public  void UpdateSequence()
		{
			this.UpdateSequence("CZTBH");
		}

		protected void UpdateSequence(string key)
		{
			string maxStr = string.Format("select max({0}) from {1}",key,this.TableName);
			OracleCommand maxCmd = new OracleCommand(maxStr,DBAccess.DstConnection);
			object obj = maxCmd.ExecuteScalar();
			decimal maxVal = 0;
			if(obj != DBNull.Value)
			{
				maxVal = (decimal)obj;
			}

			string nextStr = string.Format("SELECT S_{0}.NEXTVAL FROM DUAL",this.TableName);
			OracleCommand nextCmd = new OracleCommand(nextStr,DBAccess.DstConnection);
			decimal nextVal = 0;
			do
			{
				nextVal = (decimal)nextCmd.ExecuteScalar();
			}
			while(nextVal <= maxVal);

			maxCmd.Dispose();
			nextCmd.Dispose();
		}

		protected  bool RecordExists()
		{
			if(_selectCmd == null)
			{
				string cmdStr = "select count(*) from T_XT_XTCZTXX where CZTBH=:CZTBH";
				_selectCmd = new OracleCommand(cmdStr,DBAccess.DstConnection);
				_selectCmd.Parameters.Add(":CZTBH",OracleType.Number,4);
			}
			_selectCmd.Parameters[":CZTBH"].Value = this.CZTBH;
			decimal count = (decimal)_selectCmd.ExecuteScalar();
			return (count > 0);
		}

		public  bool Read()
		{
			if(_reader.Read())
			{
				this.CZTBH = Convert.ToInt32(_reader["CZTBH"]);
				this.CZCSBH = GlobalUtility.OracleKeyToInt(_reader["CZCSBH"]);
				this.ZZBH = GlobalUtility.OracleKeyToInt(_reader["ZZBH"]);
				this.CZTSPWZ = GlobalUtility.OracleKeyToFloat(_reader["CZTSPWZ"]);
				this.CZTCZWZ = GlobalUtility.OracleKeyToFloat(_reader["CZTCZWZ"]);
				this.CZTMC = _reader["CZTMC"].ToString();
				this.CZTH = _reader["CZTH"].ToString();
				this.ZCSJ = GlobalUtility.OracleKeyToDateTime(_reader["ZCSJ"]);
				this.ZXSJ = GlobalUtility.OracleKeyToDateTime(_reader["ZXSJ"]);
				return true;
			}
			else
			{
				return false;
			}
		}

		protected  void InsertRecord()
		{
			if(_insertCmd == null)
			{
				string cmdStr = "insert into T_XT_XTCZTXX(CZTBH,CZCSBH,ZZBH,CZTSPWZ,CZTCZWZ,CZTMC,CZTH,ZCSJ,ZXSJ) values(:CZTBH,:CZCSBH,:ZZBH,:CZTSPWZ,:CZTCZWZ,:CZTMC,:CZTH,:ZCSJ,:ZXSJ)";
				_insertCmd = new OracleCommand(cmdStr,DBAccess.DstConnection);
				_insertCmd.Parameters.Add(":CZTBH",OracleType.Number,4);
				_insertCmd.Parameters.Add(":CZCSBH",OracleType.Number,4);
				_insertCmd.Parameters.Add(":ZZBH",OracleType.Number,8);
				_insertCmd.Parameters.Add(":CZTSPWZ",OracleType.Number,8);
				_insertCmd.Parameters.Add(":CZTCZWZ",OracleType.Number,8);
				_insertCmd.Parameters.Add(":CZTMC",OracleType.VarChar,20);
				_insertCmd.Parameters.Add(":CZTH",OracleType.VarChar,8);
				_insertCmd.Parameters.Add(":ZCSJ",OracleType.DateTime);
				_insertCmd.Parameters.Add(":ZXSJ",OracleType.DateTime);
			}
			_insertCmd.Parameters[":CZTBH"].Value = this.CZTBH;
			_insertCmd.Parameters[":CZCSBH"].Value = GlobalUtility.IntToOracleKey(this.CZCSBH);
			_insertCmd.Parameters[":ZZBH"].Value = GlobalUtility.IntToOracleKey(this.ZZBH);
			_insertCmd.Parameters[":CZTSPWZ"].Value = GlobalUtility.FloatToOracleKey(this.CZTSPWZ);
			_insertCmd.Parameters[":CZTCZWZ"].Value = GlobalUtility.FloatToOracleKey(this.CZTCZWZ);
			_insertCmd.Parameters[":CZTMC"].Value = this.CZTMC;
			_insertCmd.Parameters[":CZTH"].Value = this.CZTH;
			_insertCmd.Parameters[":ZCSJ"].Value = GlobalUtility.DateTimeToOracleKey(this.ZCSJ);
			_insertCmd.Parameters[":ZXSJ"].Value = GlobalUtility.DateTimeToOracleKey(this.ZXSJ);
			_insertCmd.ExecuteNonQuery();
		}

		public  void InsertRecord(OracleTransaction tran)
		{
			if(_insertCmd == null)
			{
				string cmdStr = "insert into T_XT_XTCZTXX(CZTBH,CZCSBH,ZZBH,CZTSPWZ,CZTCZWZ,CZTMC,CZTH,ZCSJ,ZXSJ) values(:CZTBH,:CZCSBH,:ZZBH,:CZTSPWZ,:CZTCZWZ,:CZTMC,:CZTH,:ZCSJ,:ZXSJ)";
				_insertCmd = new OracleCommand(cmdStr,DBAccess.DstConnection,tran);
				_insertCmd.Parameters.Add(":CZTBH",OracleType.Number,4);
				_insertCmd.Parameters.Add(":CZCSBH",OracleType.Number,4);
				_insertCmd.Parameters.Add(":ZZBH",OracleType.Number,8);
				_insertCmd.Parameters.Add(":CZTSPWZ",OracleType.Number,8);
				_insertCmd.Parameters.Add(":CZTCZWZ",OracleType.Number,8);
				_insertCmd.Parameters.Add(":CZTMC",OracleType.VarChar,20);
				_insertCmd.Parameters.Add(":CZTH",OracleType.VarChar,8);
				_insertCmd.Parameters.Add(":ZCSJ",OracleType.DateTime);
				_insertCmd.Parameters.Add(":ZXSJ",OracleType.DateTime);
			}
			_insertCmd.Parameters[":CZTBH"].Value = this.CZTBH;
			_insertCmd.Parameters[":CZCSBH"].Value = GlobalUtility.IntToOracleKey(this.CZCSBH);
			_insertCmd.Parameters[":ZZBH"].Value = GlobalUtility.IntToOracleKey(this.ZZBH);
			_insertCmd.Parameters[":CZTSPWZ"].Value = GlobalUtility.FloatToOracleKey(this.CZTSPWZ);
			_insertCmd.Parameters[":CZTCZWZ"].Value = GlobalUtility.FloatToOracleKey(this.CZTCZWZ);
			_insertCmd.Parameters[":CZTMC"].Value = this.CZTMC;
			_insertCmd.Parameters[":CZTH"].Value = this.CZTH;
			_insertCmd.Parameters[":ZCSJ"].Value = GlobalUtility.DateTimeToOracleKey(this.ZCSJ);
			_insertCmd.Parameters[":ZXSJ"].Value = GlobalUtility.DateTimeToOracleKey(this.ZXSJ);
			 _insertCmd.ExecuteNonQuery();
		}

		protected  void UpdateRecord()
		{
			if(_updateCmd == null)
			{
				string cmdStr = "update T_XT_XTCZTXX set CZCSBH=:CZCSBH,ZZBH=:ZZBH,CZTSPWZ=:CZTSPWZ,CZTCZWZ=:CZTCZWZ,CZTMC=:CZTMC,CZTH=:CZTH,ZCSJ=:ZCSJ,ZXSJ=:ZXSJ where CZTBH=:CZTBH";
				_updateCmd = new OracleCommand(cmdStr,DBAccess.DstConnection);
				_updateCmd.Parameters.Add(":CZTBH",OracleType.Number,4);
				_updateCmd.Parameters.Add(":CZCSBH",OracleType.Number,4);
				_updateCmd.Parameters.Add(":ZZBH",OracleType.Number,8);
				_updateCmd.Parameters.Add(":CZTSPWZ",OracleType.Number,8);
				_updateCmd.Parameters.Add(":CZTCZWZ",OracleType.Number,8);
				_updateCmd.Parameters.Add(":CZTMC",OracleType.VarChar,20);
				_updateCmd.Parameters.Add(":CZTH",OracleType.VarChar,8);
				_updateCmd.Parameters.Add(":ZCSJ",OracleType.DateTime);
				_updateCmd.Parameters.Add(":ZXSJ",OracleType.DateTime);
			}
			_updateCmd.Parameters[":CZTBH"].Value = this.CZTBH;
			_updateCmd.Parameters[":CZCSBH"].Value = GlobalUtility.IntToOracleKey(this.CZCSBH);
			_updateCmd.Parameters[":ZZBH"].Value = GlobalUtility.IntToOracleKey(this.ZZBH);
			_updateCmd.Parameters[":CZTSPWZ"].Value = GlobalUtility.FloatToOracleKey(this.CZTSPWZ);
			_updateCmd.Parameters[":CZTCZWZ"].Value = GlobalUtility.FloatToOracleKey(this.CZTCZWZ);
			_updateCmd.Parameters[":CZTMC"].Value = this.CZTMC;
			_updateCmd.Parameters[":CZTH"].Value = this.CZTH;
			_updateCmd.Parameters[":ZCSJ"].Value = GlobalUtility.DateTimeToOracleKey(this.ZCSJ);
			_updateCmd.Parameters[":ZXSJ"].Value = GlobalUtility.DateTimeToOracleKey(this.ZXSJ);
			_updateCmd.ExecuteNonQuery();
		}
	}

	/// <summary>
	/// 系统操作终端信息
	/// </summary>
	public class DtbT_XT_XTCZZDXX 
	{
		public string TableName = "";
		protected OracleCommand _deleteCmd;
		protected OracleCommand _selectCmd;
		protected OracleCommand _insertCmd;
		protected OracleCommand _updateCmd;
		protected OracleDataReader _reader;

		#region Table Members
		public int XTZDBH = -1;		// NUMBER 4 N 系统终端编号
		public int CZZDLX = -1;		// NUMBER 4 N 操作终端类型
		public int CZTBH = -1;		// NUMBER 4 N 操作台编号
		public string ZDMC = "";	// VARCHAR2 20 终端名称
		public string ZDIPDZ = "";	// VARCHAR2 50 终端IP地址
		public string ZDMACDZ = "";	// VARCHAR2 50 终端MAC地址
		public int ZDJSZT = 0;		// INTEGER 终端枷锁状态
		public DateTime ZCSJ = DateTime.MinValue;	// DATE 注册时间
		public DateTime ZXSJ = DateTime.MinValue;	// DATE 注销时间
		public string DQBBH = "";	// VARCHAR2 50 当前版本号
		#endregion

		public DtbT_XT_XTCZZDXX()
		{
			this.TableName = "T_XT_XTCZZDXX";
		}

		public  void UpdateSequence()
		{
			//base.UpdateSequence("XTZDBH");
		}

		protected  bool RecordExists()
		{
			if(_selectCmd == null)
			{
				string cmdStr = "select count(*) from T_XT_XTCZZDXX where XTZDBH=:XTZDBH";
				_selectCmd = new OracleCommand(cmdStr,DBAccess.DstConnection);
				_selectCmd.Parameters.Add(":XTZDBH",OracleType.Number,4);
			}
			_selectCmd.Parameters[":XTZDBH"].Value = this.XTZDBH;
			decimal count = (decimal)_selectCmd.ExecuteScalar();
			return (count > 0);
		}

		public  bool Read()
		{
			if(_reader.Read())
			{
				this.XTZDBH = Convert.ToInt32(_reader["XTZDBH"]);
				this.CZZDLX = Convert.ToInt32(_reader["CZZDLX"]);
				this.CZTBH = Convert.ToInt32(_reader["CZTBH"]);
				this.ZDMC = _reader["ZDMC"].ToString();
				this.ZDIPDZ = _reader["ZDIPDZ"].ToString();
				this.ZDMACDZ = _reader["ZDMACDZ"].ToString();
				this.ZDJSZT = GlobalUtility.OracleKeyToInt(_reader["ZDJSZT"]);

⌨️ 快捷键说明

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