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

📄 base.cs

📁 c#编写的人事管理系统源码 写得不错 值得收藏
💻 CS
字号:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.IO;
using System.Data;
using System.Data.OleDb;
namespace PM
{
	/// <summary>
	/// Base 的摘要说明。
	/// </summary>
	public class Base
	{
		#region 数据库的连接
		OleDbConnection conn;
		static string str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Directory.GetCurrentDirectory() + "\\manange.mdb";
		public Base()
		{
		    conn = new OleDbConnection(str);
			conn.Open();
		}
		#endregion

        #region  执行SQL语句
		public int ExeSQL(string sql)
		{
		    OleDbCommand cmd = new OleDbCommand(sql,this.conn);
			try
			{
			    cmd.ExecuteNonQuery();
				return 0;
			}
			catch(System.Data.OleDb.OleDbException ex)
			{
			    throw new Exception(ex.ToString());
			}
			finally
			{
			    cmd.Dispose();
				this.conn.Close();
			}
		}
		#endregion

		#region 判断数据库是否有记录,有记录则返回真,无则返回假
		public bool IsRead(string sql)
		{
			OleDbCommand cmd = new OleDbCommand(sql,this.conn);
			OleDbDataReader dr = cmd.ExecuteReader();
			try
			{
				if(dr.Read())
				{
					return true;
				}
				else
				{
					return false;
				}
			}
			catch(System.Data.OleDb.OleDbException ex)
			{
				throw new Exception(ex.ToString());
			}
			finally
			{
				dr.Close();
				cmd.Dispose();
				this.conn.Close();
			}
		}
		#endregion

		#region  批量执行SQL语句
		public void ExeSQLs(string []sql)
		{
		    OleDbCommand cmd = new OleDbCommand();
			int j = sql.Length;
			OleDbTransaction transaction = this.conn.BeginTransaction();
			try
			{
			    cmd.Connection = this.conn;
				cmd.Transaction = transaction;
				foreach(string str in sql)
				{
				    cmd.CommandText = str;
					cmd.ExecuteNonQuery();
				}
				transaction.Commit();
			}
			catch(System.Data.OleDb.OleDbException ex)
			{
				transaction.Rollback();
			    throw new Exception(ex.ToString());
			}
			finally
			{
			    cmd.Dispose();
				this.conn.Close();
			}
		}
		#endregion

		#region 执行SQL语句并返回一个表
		public DataTable ExeSQLdt(string sql)
		{
			try
			{
				OleDbDataAdapter da = new OleDbDataAdapter(sql,this.conn);
				DataTable dt = new DataTable();
				da.Fill(dt);
				return dt;
			}
			catch(System.Data.OleDb.OleDbException ex)
			{
			    throw new Exception(ex.ToString());
			}
			finally
			{
			    this.conn.Close();
			}
		}
		#endregion

		#region  从数据库读图片
		public void ReadImage(int Id,PictureBox pb)
		{
			
			try
			{
				string sql = "select * from Photo where phId=" + Id;
				OleDbCommand cmd = new OleDbCommand(sql,this.conn);
				OleDbDataReader dr = cmd.ExecuteReader();
				if(dr.Read())
				{
					MemoryStream ms = new MemoryStream((byte[])dr["pType"]);
					pb.Image = Image.FromStream(ms,true);
					dr.Close();
					cmd.Dispose();
					this.conn.Close(); 
				}
				else
				{
					pb.Image = null;
				}
				
			}
			catch(Exception ee)
			{
				MessageBox.Show(ee.ToString());
			}
			
		}
		#endregion

		#region  写图片到数据库
		public void WriteImage(string path,int Id)
		{
			string sql1 = "update Photo set pType=@pType where phId=" + Id;//更新数据库语句
			string sql2 = "insert into Photo values (@phId,@pType)";//插入数据库语句
			string sql3 = "select * from Photo where phId=" + Id;//查询数据库语句
			Base bb = new Base();
			if(bb.IsRead(sql3) == true)
			{
				try
				{
					DialogResult result = MessageBox.Show("相片已存在,是否替换?","提示!",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
					if(result == DialogResult.Yes)
					{
						OleDbCommand cmd = new OleDbCommand(sql1,this.conn);
						byte [] b = new byte[1024000];
						FileStream fs = new FileStream(path,FileMode.Open,FileAccess.Read);
						fs.Read(b,0,b.Length);
						cmd.Parameters.Add("@pType",OleDbType.VarBinary,(int)fs.Length);
						cmd.Parameters["@pType"].Value = b;
						cmd.ExecuteNonQuery();
						cmd.Dispose();
						this.conn.Close();
					}
					else
					{
						return ;
					}
				}
				catch(Exception ee)
				{
					MessageBox.Show(ee.Message.ToString());
				}
			}
			else
			{
				try
				{
					OleDbCommand cmd = new OleDbCommand(sql2,this.conn);
					byte [] b = new byte[1024000];
					FileStream fs = new FileStream(path,FileMode.Open,FileAccess.Read);
					fs.Read(b,0,b.Length);
					cmd.Parameters.Add("@phId",OleDbType.Integer);
					cmd.Parameters.Add("@pType",OleDbType.VarBinary,(int)fs.Length);
					cmd.Parameters["@phId"].Value = Id;
					cmd.Parameters["@pType"].Value = b;
					cmd.ExecuteNonQuery();
					cmd.Dispose();
					this.conn.Close();
				}
				catch(Exception ee)
				{
					MessageBox.Show(ee.Message.ToString());
				}
			}
		}
		#endregion
	}
}

⌨️ 快捷键说明

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