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

📄 queryemployeesalary.cs

📁 工资结算系统 拥有权限控制 临时工资表 自动导入导出Excel 以及邮件群发功能
💻 CS
📖 第 1 页 / 共 2 页
字号:
			if(numrows<2)
			{
				MessageBox.Show("对不起,您不能发送email!!!\n\n  提示:\n   导入数据库不含数据行!!\n 请重新导入数据库");
				return;
			}
			int namefield=0,emailfield=0,bankcardfield=0;
			int line=0;
			if(numrows>=6)  numrows=6;
			int i1=0;
			for(i1=0;i1<numrows;i1++)
			{   
				int  senderfeild=0;
				for(int i2=0;i2<countfields;i2++)
				{
					string  fieldname=this.dataGrid1[i1,i2].ToString().Trim();
					switch(fieldname)
					{
						case "姓名":namefield=i2; senderfeild++;break;
						case "Email":emailfield=i2;senderfeild++;break;
						case "银行卡号":bankcardfield=i2;senderfeild++;break;					}
				}
				if(senderfeild==3)
				{
					line=i1;
					break;
				}
			}
			if(i1==numrows) 
			{
				MessageBox.Show("对不起,您不能发送email!!!\n\n  提示:\n   导入数据库必须包含关键字段(姓名,Email, 银行卡号)!!\n 请重新导入数据库");
				return;
			}            
			for(int i3=0;i3<=line;i3++)
			{
				if(this.dataGrid1.IsSelected(i3))
				{
					MessageBox.Show("此行非数据行,请选择数据行(从"+(line+2)+"行起)!!!");
					return;
				}
			}			
			ArrayList eml = new ArrayList();
			eml.Clear();			
			int num=((DataSet)(this.dataGrid1.DataSource)).Tables[0].Rows.Count;			
			for(int i=line+1;i<num;i++)
			{
				if(this.dataGrid1.IsSelected(i))
				{
					string name=this.dataGrid1[i,namefield].ToString().Trim();
                    string email=this.dataGrid1[i,emailfield].ToString().Trim();
					string ID=this.dataGrid1[i,bankcardfield].ToString().Trim();
					try
					{
						if(dbCon==null) dbCon = MainForm.getConnection();
						
						OleDbCommand cmd = dbCon.CreateCommand();
					
						cmd.CommandText = "select Email from employee where  姓名='"+name+"' and  Email='"+email+"' and  银行卡号='"+ID+"' and 状态=0"; 
						OleDbDataReader reader = cmd.ExecuteReader();
						int readerflag=0;
						while(reader.Read())
						{
							eml.Add(reader.GetString(0));							
							readerflag=1;
						}
						if(readerflag==0)
						{
							MessageBox.Show("                Email发送失败!!!\n\n     第"+i+"行记录数据(姓名:"+name+",Email:"+email+",银行卡号:"+ID+")  可能有误\n     或 该库信息已被删除 或 信息有误\n\n                     请修正!!!");
							reader.Close();
							cmd.Dispose();
							return;
						}
						reader.Close();
						cmd.Dispose();
					}
					catch(Exception ee)
					{
						MessageBox.Show(ee.ToString());
					}						
				}			
			}			
			salary.EmailSender  emailsender=new salary.EmailSender(eml,this.dataGrid1);
			emailsender.ShowDialog();
		}
		
		private void menuItem2_Click(object sender, System.EventArgs e)
		{	
			System.Data.DataSet ds = (System.Data.DataSet)this.dataGrid1.DataSource;
			if(ds==null|| ds.Tables.Count<=0) 
			{
				MessageBox.Show("您没查询或导入数据表,不能修改!!!\n   请进行查询或导入数据表!!");
				return;
			}
			int  countfields=((System.Data.DataSet)this.dataGrid1.DataSource).Tables[0].Columns.Count;
			int numrows=((DataSet)(this.dataGrid1.DataSource)).Tables[0].Rows.Count;
			if(numrows<2)
			{
				MessageBox.Show("对不起,您不能修改!!!\n\n  提示:\n   数据库不含数据行!!\n 请重新导入数据库");
				return;
			}
			int namefield=0,emailfield=0,bankcardfield=0;
			int line=0;
			if(numrows>=6)  numrows=6;

			int i1=0;
			for(i1=0;i1<numrows;i1++)
			{   
				int  senderfeild=0;
				for(int i2=0;i2<countfields;i2++)
				{
					
					string  fieldname=this.dataGrid1[i1,i2].ToString().Trim();
					switch(fieldname)
					{
						case "姓名":namefield=i2; senderfeild++;break;
						case "Email":emailfield=i2;senderfeild++;break;
						case "银行卡号":bankcardfield=i2;senderfeild++;break;
					}
				}
				if(senderfeild==3)
				{
					line=i1;
					break;
				}
			}
			if(i1==numrows) 
			{
				MessageBox.Show("对不起,您不能修改!!!\n\n  提示:\n   数据库必须包含关键字段(姓名,Email, 银行卡号)!!\n 请重新导入数据库");
				return;
			}
			for(int i3=0;i3<=line;i3++)
			{
				if(this.dataGrid1.IsSelected(i3))
				{
					MessageBox.Show("此行非数据行,请选择数据行(从"+(line+2)+"行起)!!!");
					return;
				}
			}			
			HrSalary.salary.SalaryModify  salarmodify=new HrSalary.salary.SalaryModify(this.dataGrid1,namefield,emailfield,bankcardfield);
			salarmodify.Owner=this;
			salarmodify.ShowDialog();
		}
		

		private void button2_Click(object sender, System.EventArgs e)
		{	
			
			System.Data.DataSet ds = (System.Data.DataSet)this.dataGrid1.DataSource;
			if(ds==null|| ds.Tables.Count<=0) 
			{
				MessageBox.Show("您没查询或导入数据表,不能保存入库l!!!\n   请进行查询或导入数据表!!");
				return;
			}
			DialogResult result=MessageBox.Show ("您将覆盖现有数据,确实要保存吗?   ", "保存提示框",
				MessageBoxButtons.YesNo, MessageBoxIcon.Question);
			if(result== DialogResult.No ) 
				return;			
			string  error="";
			try
			{			
				if(dbCon==null) dbCon = MainForm.getConnection();
				OleDbCommand cmd = dbCon.CreateCommand();
				OleDbTransaction dbTrans = dbCon.BeginTransaction(); 
				cmd.Transaction = dbTrans;
			
				bool onError = false;
				try
				{	
					cmd.CommandText ="delete  *  from  tmp_table";// "truncate table mydatatable";
					int count=cmd.ExecuteNonQuery();				
					countDgRows = ((DataSet)(this.dataGrid1.DataSource)).Tables[0].Rows.Count;
					countDgColumns = ((DataSet)(this.dataGrid1.DataSource)).Tables[0].Columns.Count;
					for(int i=0;i<countDgRows;i++)
					{						
						string   tablefield="";// sql= "insert into tmp_table(A) values('";
						string sql,sql0=""; 
						int j=0;

						string A="";
						sql0+=i.ToString ()+"','";
						for(j=1;j<countDgColumns;j++)
						{						     	
							A="A"+j.ToString();
							tablefield+=A+",";
							sql0+=this.dataGrid1[i,j-1]+"','";
						}
						if(j==countDgColumns)
						{
							A="A"+j.ToString();
							tablefield+=A;
							sql0+=this.dataGrid1[i,j-1];//sql+=this.dataGrid1[i,0]+"')";	
						}
						sql="insert into tmp_table(A0,"+tablefield+")"+"  values('"+ sql0+"')";						
						cmd.CommandText=sql;
						int rs = cmd.ExecuteNonQuery();
						if(rs!=1)
						{
							onError = true;
							break;
						}
					}
				}
				catch(Exception ee)
				{
					error=ee.ToString();
					onError = true;
				}
				if(onError)
				{
					dbTrans.Rollback();
					MessageBox.Show("保存数据失败\n"+error);					
				}
				else
				{
					dbTrans.Commit();
					MessageBox.Show("保存数据成功");
				}
				try
				{
					cmd.Dispose();				
				}
				catch(Exception){}
			}
			catch(Exception eee)
			{
				MessageBox.Show(eee.ToString());
			}
		}
		private  string   number_Input_Check(string caption,string  text,int maxvalue)
		{
			string error="";
			text=text.Trim();
			if(text=="" )
			{
				error=caption+"不能为空!!\n";
				return(error);
			}
			
			int i=0;
			for(i=0;i<text.Length;i++)
			{

				if(text[i]>'9' || text[i]<'0')            
					break;
			}
			if(i<text.Length)
			{
				error=caption+"输入格式不正确,请修正!!!\n";
				return(error);
			}

			//int maxvalue=65535;
			// MessageBox.Show( pid.CompareTo(j.ToString()).ToString());
			if(text.Length>maxvalue.ToString().Length  || ( (text.Length==maxvalue.ToString().Length ) && text.CompareTo(maxvalue.ToString())>0 ))
			{
				error=caption+" 输入值溢出(最大值:65535),请修正!!!\n";
				return(error);
			}
			//MessageBox.Show(i.ToString()+":"+pid.Length.ToString());
			return(error);
		}
	private int find_fieldNum(string sql)
	{
			int i=0;
				try
			{
				if(dbCon==null) dbCon = MainForm.getConnection();
				OleDbCommand cmd = dbCon.CreateCommand();
				cmd.CommandText =sql;
				OleDbDataReader reader = cmd.ExecuteReader();				
				if(reader.Read())
				{
					for(i=0;i<51;i++)
					{
						if(reader.GetValue(i).ToString().Trim().Equals(""))
							break;
					}
				}				
				reader.Close();
				cmd.Dispose();
			}
			catch(Exception e)
			{
				MessageBox.Show(e.ToString());
			}
			return(i-1);
	}

		private void queryCheck(string sql,int countfield)
		{
			if(this.radioButton2.Checked)
			{ 
				if(this.textBox3.Text.Equals("") || this.textBox3.Text=="")
				{
					MessageBox.Show("您没输入姓名,请重新输入");
					this.textBox3.Focus();
					return;
				}
				
			if(!find_namefield(sql,countfield))
			{
				MessageBox.Show("数据库不含\"姓名\"字段,您不能按姓名查询!!!");
				return;
			}
				sql+= " where  A0='0' or  A"+this.namecolumn.ToString()+"='姓名' or A" +this.namecolumn.ToString()+"  like '%"+this.textBox3.Text+"%'";

			} 
			showData(sql);
		}
		public void showData(string sql)
		{
			//MessageBox.Show(sql);
			try
			{
				if(dbCon==null) dbCon = MainForm.getConnection();
				dbAdapter = new OleDbDataAdapter(sql , dbCon);
				dbAdapter.TableMappings.Add("Table","employee");
				ds=new DataSet("employee");
				ds.Clear();
				dbAdapter.Fill(ds);
				this.dataGrid1.SetDataBinding(ds,"employee");
				this.totalNumber.Text =((int)(ds.Tables["employee"].Rows.Count-1)).ToString();
			}
			catch(Exception ee)
			{
				MessageBox.Show(ee.ToString());
			}
			
		}
		private  bool find_namefield(string sql,int countfield)
		{
			bool namefieldflag=false;
			if(dbCon==null) dbCon = MainForm.getConnection();
			OleDbCommand cmd = dbCon.CreateCommand();
			cmd.CommandText =sql;
			OleDbDataReader reader = cmd.ExecuteReader();
			int line = 0;
			try
			{
				while(reader.Read())
				{
					
					if(line>6)  break;
					for(int i=0;i<countfield;i++)
					{
						if(reader.GetString(i).Equals("姓名"))
						{
							namefieldflag=true;
							this.namecolumn=i+1;
							this.namerow=line;
							break;

						}
					}
				line++;
				}			
			}
			catch(Exception ee)
			{
				MessageBox.Show(ee.ToString());
			}	
				
			reader.Close();
			cmd.Dispose();
			

			return namefieldflag;
		}

		private void button4_Click(object sender, System.EventArgs e)
		{
			string sql0 =  "select * from tmp_table where  A0='0' ";
			int countfield=find_fieldNum(sql0);
			if(countfield<1)
			{
				MessageBox.Show("库中为空表,请导入并保存数据表!!!");
				 return;
			}
			string sql =  "select  ";
			string A="";
			string  tablefield="";
			int i=1;
				for(i=1;i<countfield;i++)
				{						     	
					A="A"+i.ToString();
					tablefield+=A+",";						
				}
			tablefield+="A"+i.ToString();
			sql +=tablefield+"  from tmp_table";
			queryCheck(sql,countfield);
		}

		private void QueryEmployeeSalary_Load(object sender, System.EventArgs e)
		{
			
		}

		private void contextMenu1_Popup(object sender, System.EventArgs e)
		{
			this.menuItem1.Visible=true;
			this.menuItem2.Visible=true;
		}

		private void button5_Click(object sender, System.EventArgs e)
		{
			System.Data.DataSet ds = (System.Data.DataSet)this.dataGrid1.DataSource;
			if(ds==null|| ds.Tables.Count<=0) 
			{
				MessageBox.Show("您没查询或导入数据表,不能导出Excel!!!\n   请进行查询或导入数据表!!");
				return;
			}
			Excel.Application ExcelObj = null;
			ExcelObj = new Excel.Application();
			ExcelObj.Visible =false;
			SaveFileDialog sf = new SaveFileDialog();
			HrSalary.util.GridUtil   gridutil=new HrSalary.util.GridUtil();
			gridutil.GridXls(sf,this.dataGrid1,ExcelObj);
			ExcelObj.Quit();
		
		}
	}
}

⌨️ 快捷键说明

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