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

📄 globleutility.cs

📁 本书主要介绍了从基础开始建立Portal的快速应用开发过程(RAD)的方法。通过本书你可以了解到关于Oracle 9iAS Portal产品的主要特性、入口的开发和组织、网络开发和管理、实际的关系型数
💻 CS
字号:

using System;
using System.Collections;
using System.Windows.Forms;
using Microsoft.Win32;
using System.Data;
using System.Data.OracleClient;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Timers;
using System.Threading;
using DogOperaLib;

namespace GlobleUtility
{  
	/// <summary>
	/// 声明一个结构,用来赋值给listview的Tag属性。
	/// </summary>
	public struct lvTagTemp
	{
		public string temp_id;  //保存ListView的项对应记录的ID
		
	}
	/// <summary>
	/// 声明一个结构,用来赋值给treeview的Tag属性。
	/// </summary>
	public struct trvTagTemp
	{
		public string temp_id;  //节点记录的ID
		public int    temp_type; //节点的类型 //该值为0代表此节点是最高节点,该值为1代表此节点是部门类型,该值为2代表此节点是班级类型
		public int    temp_isexpand; //节点未/已展开过 ,未1,已2 
		
	}
	/// <summary>
	/// 声明一个结构,用来赋值给listview的Tag属性。
	/// </summary>
	public struct admin_lvTagTemp
	{
		public string temp_systemid;  //节点子系统的ID
		public string temp_wsid;      //节点工作站的ID
		public string temp_rightid;   //节点权限的ID 
		
	}


	/// <summary>
	/// 声明一个结构,用来赋值给listview的Tag属性。
	/// </summary>
	public struct HR_lvTagTemp
	{
		public string temp_fromid;  //父ID
		public string temp_toid;      //子ID
		public DateTime temp_fromdate;   //起始时间
		
	}
	/*
	//卡存信息
	public struct CardInfo
	{
		public string UnitSign;//单位标志——存学校代码
		public string UserType;//用户类型
		public string UserID;//UserID
		public string LogicID;//用户逻辑编号(学号、教工号)
		public string ValidDate;//有效日期
		
		public long Balance;//卡片余额
		public long CardSerialNum;//卡序列号
		public int CardNo;//卡号
		public string CardType;//卡类别

		public string UserName;//姓名
		public string FreeTime;//剩余机时

	}
	*/

	/*
	public class CardOperation
	{
		/// <summary>
		/// 检查有效期
		/// </summary>
		/// <param name="sValidDate">从卡中读出的有效期字符串</param>
		/// <returns>未过期,返回true;已过期,返回false。</returns>
		public static bool CheckValidDate(string sValidDate)
		{
			int year = Convert.ToInt32(sValidDate.Substring(0, 4));
			int month = Convert.ToInt32(sValidDate.Substring(4, 2));
			int date = Convert.ToInt32(sValidDate.Substring(6, 2));
			DateTime dt = new DateTime(year, month, date);
			
			int compareValue = 0;
			compareValue = dt.CompareTo(System.DateTime.Today);
			if (compareValue < 0)
			{
				//已过有效期,提示并退出
				return false;
			}
			return true;
		}
		
		/// <summary>
		/// 检查卡号是否在黑名单(CardM_Black_List)中
		/// </summary>
		/// <param name="cardNo">卡号</param>
		/// <returns>卡号在黑名单中,返回1;不在返回0;异常情况返回-1;</returns>
		public static int CheckBlackList(int cardNo)
		{
			OracleConnection myConn = Connection.DBConnection;
			if (myConn == null)
			{
				return -1;
			}

			string mySql = "select * from CardM_Black_List where CardID = " + cardNo.ToString();
			OracleCommand dbCommand = new OracleCommand(mySql, myConn);
			try
			{
				OracleDataReader dbReader = dbCommand.ExecuteReader();
				if (dbReader.Read())		//cardNo在黑名单中
				{
					dbReader.Close();
					return 1;
				}
				dbReader.Close();
				return 0;
			}
			catch(Exception)
			{
				return -1;
			}
		}

	}
	*/

	/// <summary>
	/// 类名:Connection
	/// 功能:建立与数据库的连接
	/// 
	/// 使用方法:使用构造函数建立实例,然后调用Open函数。
	/// </summary>
	public class Connection
	{
		public Connection()
		{}
		private static System.Data.OracleClient.OracleConnection dbConnection;//用来连接数据库
		private static String sLoginUser;//用来取得登录系统的管理员的用户名
		private static int nWSID;//用来取得登录系统(即运行本程序)的工作站
		private static int nRightID;//用来取得登录系统的管理员的权限
		// 返回:整型值,0表示无错误,大于零表示一个错误码
		public int Open()
		{
			Register Reg = new Register();
			if(null == Reg)
			{
				return 1;
			}
			if(Reg.DBComputer.Equals("") || Reg.DBSource.Equals(""))
			{

			}

			dbConnection = new System.Data.OracleClient.OracleConnection();
			if(null == dbConnection)
				return 1;

			String sConn = "data source=" + Reg.DBSource + ";";//数据源
			String sUserPWD = "password=charge1;user id=charge1;";//连接数据库的数据库用户和密码
			String sTempConnStr =sConn+sUserPWD;//取得数据库连接字符串
			
			if(sTempConnStr == "")
				return 2;//创建数据库连接字符串失败

			if(dbConnection.State != ConnectionState.Closed)
				dbConnection.Close();
			dbConnection.ConnectionString = sTempConnStr;
			try
			{
				dbConnection.Open();
			}
			catch
			{
				return 3;//连接数据库失败
			}
			
			return 0;
		}
		
		
		public void Close()//关闭数据库连接
		{
			if(dbConnection != null)
			{
				if(dbConnection.State != ConnectionState.Closed)
					dbConnection.Close();
			}
		}

		public static System.Data.OracleClient.OracleConnection DBConnection//定义性质,改变私有变量的可访问性
		{
			get
			{
				if(dbConnection == null)
					return null;

				if (dbConnection.State != ConnectionState.Open)//数据库连接关闭状态
				{
					try
					{
						dbConnection.Open();//打开数据库连接
					}
					catch (OracleException)
					{
						MessageBox.Show("连接数据库失败!");
						return null;
					}
				}
				return dbConnection;
			}
		}

		public static String LoginUser//定义登录用户性质
		{
			get
			{
				return sLoginUser;
			}
            set
			{
				sLoginUser = value;
			}
		}

		public static int WSID//定义登录工作站性质
		{
			get
			{
				return nWSID;
			}
            set
			{
				nWSID = value;
			}
		}

		public static int RightID//定义登录用户权限性质
		{
			get
			{
				return nRightID;
			}
            set
			{
				nRightID = value;
			}
		}
      
	}

	[ StructLayout( LayoutKind.Sequential )]
	public class SystemTime 
	{
		public ushort Year;
		public ushort Month; 
		public ushort DayOfWeek; 
		public ushort Day; 
		public ushort Hour; 
		public ushort Minute; 
		public ushort Second; 
		public ushort Milliseconds; 
	}

	public class Kernel32 
	{
		[ DllImport( "Kernel32.dll" )] public static extern void GetLocalTime([In, Out] SystemTime st);
		[ DllImport( "Kernel32.dll" )] public static extern void SetLocalTime([In] SystemTime st);
		[ DllImport( "Kernel32.dll" )] public static extern bool Beep([In] uint dwFreq, [In] uint dwDuration);
	}

	/// <summary>
	/// Register
	/// 功能:读写注册表,从而设置或取得数据库服务器的机器名
	/// 使用方法:访问或设置属性DBComputer
	/// </summary>
	public class Register
	{
		public Register()
		{
			RegistryKey rk = Registry.LocalMachine;//取得注册表的HKEY_LOCAL_MACHINE基项
			rk=rk.CreateSubKey("Software\\University\\Charge1");//创建子项
			if(null != rk)
			{
				dbComputer = (string)rk.GetValue("DBMachine", "");
				dbSource   = (string)rk.GetValue("DBSource", "");
			}
		}
        // 取得或设置数据库所在的计算机名
		public String DBComputer
		{
			get
			{
				return dbComputer;
			}

			set
			{
				RegistryKey rk = Registry.LocalMachine;
				rk=rk.CreateSubKey("Software\\University\\Charge1");
				if(null != rk)
				{
					dbComputer = value;
					rk.SetValue("DBMachine", dbComputer);
				}
			}
		}
		//取得或设置数据库名
		public String DBSource
		{
			get
			{
				return dbSource;
			}
            set
			{
				RegistryKey rk = Registry.LocalMachine;
				rk=rk.CreateSubKey("Software\\University\\Charge1");
				if(null != rk)
				{
					dbSource = value;
					rk.SetValue("DBSource", dbSource);
				}
			}
		}
		private String dbComputer;    //数据库所在的计算机名
		private String dbSource;      //数据库名
	}

	//全局的帮助函数
	public class GlobleHelper
	{
		//过程名称:ExecStoredProc
		//功能:执行一个不需要返回数据集的存储过程
		//参数:ProcName    存储过程名字,使用包时要加上包的名字
		//      inParam     存储过程需要的输入参数
		//      outParam    存储过程需要的输出参数,注意,这是引用参数
		//返回值:0表示成功,大于零表示错误号
		public static int ExecStoredProc(string ProcName, OracleParameter[] inParam, 
			ref OracleParameter[] outParam)
		{
			if(Connection.DBConnection.State != ConnectionState.Open)
				Connection.DBConnection.Open();//取得数据库连接

			OracleCommand Cmd = new OracleCommand(ProcName, Connection.DBConnection);//建立数据库命令
			Cmd.CommandType = CommandType.StoredProcedure;//命令类型为执行存储过程
            //添加输入参数
			if(inParam != null)
			{
				for(int i = 0; i < inParam.Length; i++)
					Cmd.Parameters.Add(inParam[i]);
			}
            //添加输出参数
			if(outParam != null)
			{
				for(int i = 0; i < outParam.Length; i++)
					Cmd.Parameters.Add(outParam[i]);
			}
            //以无返回方式执行数据库命令
			try
			{
				Cmd.ExecuteNonQuery();
			}
			catch
			{
				return 7;
			}

			return 0;
		}

		//过程名称:ExecStoredProc
		//功能:执行一个需要返回数据集的存储过程
		//参数:ProcName    存储过程名字,使用包时要加上包的名字
		//      inParam     存储过程需要的输入参数
		//      outParam    存储过程需要的输出参数,注意,这是引用参数
		//      outDataReader  接收数据集的参数,注意,这是引用参数
		//返回值:0表示成功,大于零表示错误号
		public static int ExecStoredProc(string ProcName, OracleParameter[] inParam, 
			ref OracleParameter[] outParam, ref OracleDataReader outDataReader)
		{
			if(Connection.DBConnection.State != ConnectionState.Open)
				Connection.DBConnection.Open();

			OracleCommand Cmd = new OracleCommand(ProcName, Connection.DBConnection);
			Cmd.CommandType = CommandType.StoredProcedure;

			if(inParam != null)
			{
				for(int i = 0; i < inParam.Length; i++)
					Cmd.Parameters.Add(inParam[i]);
			}

			if(outParam != null)
			{
				for(int i = 0; i < outParam.Length; i++)
					Cmd.Parameters.Add(outParam[i]);
			}

			try
			{
				outDataReader = Cmd.ExecuteReader();
			}
			catch
			{
				return 7;
			}

			return 0;
		}

		//过程名称:ExecStoredProc
		//功能:执行一个需要返回数据集的存储过程
		//参数:ProcName    存储过程名字,使用包时要加上包的名字
		//      inParam     存储过程需要的输入参数
		//      outParam    存储过程需要的输出参数,注意,这是引用参数
		//      outDataset  接收数据集的参数,注意,这是引用参数
		//返回值:0表示成功,大于零表示错误号
		public static int ExecStoredProc(string ProcName, OracleParameter[] inParam, 
			ref OracleParameter[] outParam, ref DataSet outDataSet)
		{
			if(Connection.DBConnection.State != ConnectionState.Open)
				Connection.DBConnection.Open();

			OracleCommand Cmd = new OracleCommand(ProcName, Connection.DBConnection);
			Cmd.CommandType = CommandType.StoredProcedure;

			if(inParam != null)
			{
				for(int i = 0; i < inParam.Length; i++)
					Cmd.Parameters.Add(inParam[i]);
			}

			if(outParam != null)
			{
				for(int i = 0; i < outParam.Length; i++)
					Cmd.Parameters.Add(outParam[i]);
			}

			try
			{
				OracleDataAdapter DataAdapter = new OracleDataAdapter(Cmd);
				DataAdapter.Fill(outDataSet);
			}
			catch
			{
				
				return 7;
			}

			return 0;
		}
	}
	


}

⌨️ 快捷键说明

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