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

📄 interface.asmx.cs

📁 用于文件传输的Web服务
💻 CS
📖 第 1 页 / 共 3 页
字号:
						m_DbDelCmd.Connection=m_DbConn;
						string DelSql="";
						for(int i=0;i<DtDbf.Rows.Count;i++)
						{		
							if(i>99)
							{
								if(i.ToString().Substring(i.ToString().Length-2,2)=="00")
								{
									if(DelSql!="")
									{
										DelSql=DelSql.Substring(0,DelSql.Length-3);
										m_DbDelCmd.CommandText="delete from "+TableName+" where "+DelSql;
										m_DbDelCmd.CommandType=CommandType.Text;
										m_DbDelCmd.ExecuteNonQuery();
										DelSql="";
										m_DbDelCmd.Parameters.Clear();
									}
									m_DbCmd.CommandText=AllSql;
									m_DbCmd.CommandType=CommandType.Text;
									m_DbCmd.ExecuteNonQuery();	
									AllSql="";
									m_DbCmd.Parameters.Clear();
								}
							}								
							if(sKeyField!="")
							{
								string sWhere="";
								for(int j=0;j<sKey.Length;j++)
								{
									sWhere+=sKey[j]+"=? and ";
									m_DbDelCmd.Parameters.Add(sKey[j]+"Del"+i+j,DtDbf.Rows[i][sKey[j]]);
								}
								sWhere=sWhere.Substring(0,sWhere.Length-4);
								DelSql+="("+sWhere+") or ";
//
//									StrSql="delete from "+TableName+" where "+sWhere;
//									AllSql+=StrSql+";";
							}								

							string FieldSql="";
							string ValueSql="";
							
							for(int j=0;j<DtDbf.Columns.Count;j++)
							{
								FieldSql+=DtDbf.Columns[j].ColumnName+",";
								ValueSql+="?,";
								m_DbCmd.Parameters.Add(DtDbf.Columns[j].ColumnName+i+j,DtDbf.Rows[i][j]);												
							}
							FieldSql=FieldSql.Substring(0,FieldSql.Length-1);
							ValueSql=ValueSql.Substring(0,ValueSql.Length-1);
							
							StrSql="Insert into "+TableName+"("+FieldSql+")";
							StrSql+=" Values("+ValueSql+")";
							AllSql+=StrSql+";";

						}
						if(DelSql!="")
						{
							DelSql=DelSql.Substring(0,DelSql.Length-3);
							m_DbDelCmd.CommandText="delete from "+TableName+" where "+DelSql;
							m_DbDelCmd.CommandType=CommandType.Text;
							m_DbDelCmd.ExecuteNonQuery();
							DelSql="";
							m_DbDelCmd.Parameters.Clear();								
						}
						
						m_DbCmd.CommandText=AllSql;
						m_DbCmd.CommandType=CommandType.Text;
						m_DbCmd.ExecuteNonQuery();					
					}
					catch(System.Exception ex)
					{
						string sErr=ex.Message;
						sErr=sErr;
					}						
					
				}			
				
//				m_DbTrans.Commit();
			}
			catch(Exception e)
			{
//				m_DbTrans.Rollback();
				string str=e.Message.ToString();				
			}
			m_DbConn.Close();			

		}
		private void AppendFields(string TableName,OleDbCommand OleCmd,Hashtable hsValue)
		{
			string FieldSql="";
			string ValueSql="";
			OleCmd.Parameters.Clear();
			foreach(DictionaryEntry entry in hsValue)
			{							
				FieldSql+=entry.Key.ToString()+",";
				ValueSql+="?,";
				OleCmd.Parameters.Add(entry.Key.ToString(),entry.Value);
			}		
			FieldSql=FieldSql.Substring(0,FieldSql.Length-1);
			ValueSql=ValueSql.Substring(0,ValueSql.Length-1);
			string StrSql="";
			StrSql="Insert into "+TableName+"("+FieldSql+")";
			StrSql+=" Values("+ValueSql+")";
			OleCmd.CommandText=StrSql;
			OleCmd.CommandType=CommandType.Text;
			OleCmd.ExecuteNonQuery();

		}
		private void UpdateExcelTable(string TransName,string LocalConnection)
		{			
			
			string ExcelName=TransName;
			DateTime DqDt=DateTime.Now;
			if(TransName.ToUpper().Substring(0,4)=="JGGX"||TransName.ToUpper().Substring(0,4)=="JGXX")			
			{
				TransName=TransName.Substring(0,7);
				if(TransName.ToUpper().Substring(0,4)=="JGXX")
					DqDt=DateTime.Parse(ExcelName.Substring(13,4)+"-"+ExcelName.Substring(17,2)+"-"+ExcelName.Substring(19,2));
				else
					DqDt=DateTime.Parse(ExcelName.Substring(8,4)+"-"+ExcelName.Substring(12,2)+"-"+ExcelName.Substring(14,2));
			}			
			LocalConnection=LocalConnection.Replace("(file)",ExcelName);			

			string TableName="";
			bool bNeedDelete=true;
			string sKeyField="";			
			string MakeResultTableID="";
			this.GetTransTableConfig(TransName,ref TableName,ref bNeedDelete,ref sKeyField,ref MakeResultTableID);

			if(sKeyField==null)
				sKeyField="";

			if(TableName==null)
				TableName=TransName;
			string StrSql="";				
			OleDbConnection m_DbConn;
//			OleDbTransaction m_DbTrans;
			OleDbCommand m_DbCmd=new OleDbCommand();
			try
			{
				m_DbConn=new OleDbConnection(WebConnection);
				
				m_DbConn.Open();				
			}
			catch(Exception e)
			{				
				string str=e.Message.ToString();
				return;
			}

			
//			m_DbTrans=m_DbConn.BeginTransaction();		
			m_DbCmd.CommandTimeout=0;
			m_DbCmd.Connection=m_DbConn;
//			m_DbCmd.Transaction=m_DbTrans;


			try
			{			
				DataTable DtDbf;
				if(TransName.ToUpper().Substring(0,4)=="JGGX"||TransName.ToUpper().Substring(0,4)=="JGXX")
				{
					if(TransName.Substring(5,2)=="00")
					{
						DtDbf=new DataTable();
						DtDbf.Columns.Add("DqRq");
						DtDbf.Columns.Add("FileName");
						DtDbf.Columns.Add("Hydm");
						DataRow dr=DtDbf.NewRow();						
						dr["DqRq"]=DqDt;
						dr["FileName"]=ExcelName;
						dr["Hydm"]=ExcelName.Substring(8,4);

						DtDbf.Rows.Add(dr);
					}
//					else if(TransName.Substring(5,2)=="24")
//					{
//						DtDbf=new DataTable();
//						DtDbf.Columns.Add("DqRq");
//						DtDbf.Columns.Add("FileName");
//						DataRow dr=DtDbf.NewRow();						
//						dr["DqRq"]=DqDt;
//						dr["FileName"]=ExcelName;
//						DtDbf.Rows.Add(dr);
//					}					
					else
					{
						StrSql="select * from DataTable1";
						DtDbf=this.GetDataTable(StrSql,LocalConnection);			
						DtDbf.Columns.Add("DqRq");
						DtDbf.Columns.Add("FileName");
						for(int i=0;i<DtDbf.Rows.Count;i++)
						{
							DtDbf.Rows[i]["DqRq"]=DqDt;
							DtDbf.Rows[i]["FileName"]=ExcelName;
						}
					}				
				}
				else
				{
					StrSql="select * from "	+ "OpenDataSource("+LocalConnection+")...[Sheet1$]"; 
					DtDbf=this.GetDataTable(StrSql,WebConnection);									
				}

				
				
				if(DtDbf.Rows.Count>0)
				{									
					if(bNeedDelete||sKeyField=="")
					{
						StrSql="delete from "+TableName;		
						m_DbCmd.CommandText=StrSql;
						m_DbCmd.CommandType=CommandType.Text;
						m_DbCmd.ExecuteNonQuery();				
						
					}
				
					try
					{
						string[] sKey=sKeyField.Split(',');
						string AllSql="";
						m_DbCmd.Parameters.Clear();
						
						OleDbCommand m_DbDelCmd=new OleDbCommand();
						m_DbDelCmd.CommandTimeout=0;
						m_DbDelCmd.Connection=m_DbConn;
						string DelSql="";
						for(int i=0;i<DtDbf.Rows.Count;i++)
						{		
							if(i>99)
							{
								if(i.ToString().Substring(i.ToString().Length-2,2)=="00")
								{
									if(DelSql!="")
									{
										DelSql=DelSql.Substring(0,DelSql.Length-3);
										m_DbDelCmd.CommandText="delete from "+TableName+" where "+DelSql;
										m_DbDelCmd.CommandType=CommandType.Text;
										m_DbDelCmd.ExecuteNonQuery();
										DelSql="";
										m_DbDelCmd.Parameters.Clear();
									}
									m_DbCmd.CommandText=AllSql;
									m_DbCmd.CommandType=CommandType.Text;
									m_DbCmd.ExecuteNonQuery();	
									AllSql="";
									m_DbCmd.Parameters.Clear();
								}
							}								
							if(sKeyField!="")
							{
								string sWhere="";
								for(int j=0;j<sKey.Length;j++)
								{
									sWhere+=sKey[j]+"=? and ";
									m_DbDelCmd.Parameters.Add(sKey[j]+"Del"+i+j,DtDbf.Rows[i][sKey[j]]);
								}
								sWhere=sWhere.Substring(0,sWhere.Length-4);
								DelSql+="("+sWhere+") or ";
								//
								//									StrSql="delete from "+TableName+" where "+sWhere;
								//									AllSql+=StrSql+";";
							}								

							string FieldSql="";
							string ValueSql="";
							
							for(int j=0;j<DtDbf.Columns.Count;j++)
							{
								FieldSql+="["+DtDbf.Columns[j].ColumnName+"],";
//								if(DtDbf.Columns[j].ColumnName.IndexOf("/")!=-1||DtDbf.Columns[j].ColumnName.IndexOf("-")!=-1)
//									FieldSql+="["+DtDbf.Columns[j].ColumnName+"],";
//								else
//									FieldSql+=DtDbf.Columns[j].ColumnName+",";
								ValueSql+="?,";
								m_DbCmd.Parameters.Add(DtDbf.Columns[j].ColumnName+i+j,DtDbf.Rows[i][j]);												
							}
							FieldSql=FieldSql.Substring(0,FieldSql.Length-1);
							ValueSql=ValueSql.Substring(0,ValueSql.Length-1);
							
							StrSql="Insert into "+TableName+"("+FieldSql+")";
							StrSql+=" Values("+ValueSql+")";
							AllSql+=StrSql+";";

						}
						if(DelSql!="")
						{
							DelSql=DelSql.Substring(0,DelSql.Length-3);
							m_DbDelCmd.CommandText="delete from "+TableName+" where "+DelSql;
							m_DbDelCmd.CommandType=CommandType.Text;
							m_DbDelCmd.ExecuteNonQuery();
							DelSql="";
							m_DbDelCmd.Parameters.Clear();								
						}
						
						m_DbCmd.CommandText=AllSql;
						m_DbCmd.CommandType=CommandType.Text;
						m_DbCmd.ExecuteNonQuery();					
					}
					catch(System.Exception ex)
					{
						string sErr=ex.Message;
						sErr=sErr;
					}											
				}							
//				m_DbTrans.Commit();
			}
			catch(Exception e)
			{
//				m_DbTrans.Rollback();
				string str=e.Message.ToString();				
			}
			m_DbConn.Close();			

		}

		private void UpdateExcelTable_Old(string TransName,string LocalConnection)
		{			
			
			string ExcelName=TransName;
			LocalConnection=LocalConnection.Replace("(file)",ExcelName);

			string TableName=ConfigurationSettings.AppSettings[TransName];		
			if(TableName==null)
				TableName=TransName;
			string StrSql="";				
			OleDbConnection Conn;
			OleDbTransaction MyTrans;
			try
			{
				Conn=new OleDbConnection(WebConnection);
				
				Conn.Open();				
			}
			catch(Exception e)
			{				
				string str=e.Message.ToString();
				return;
			}
			

			//			MyTrans=Conn.BeginTransaction();			

			try
			{				
				StrSql="sp_columns @table_name ='"+TableName+"'";
				DataTable DtField=GetDataTable(StrSql,WebConnection);

				StrSql="select * from MyRange";	
		
				StrSql="select * from "	+ "OpenDataSource("+LocalConnection+")...[Sheet1$]"; 


				DataTable DtDbf=this.GetDataTable(StrSql,WebConnection);						
				
				
				if(DtDbf.Rows.Count>0)
				{
					string bNeedDelete=ConfigurationSettings.AppSettings[TableName+"_Delete"];
					if(bNeedDelete==null)
					{
						bNeedDelete="true";
					}
					if(bNeedDelete=="true")
					{
						StrSql="delete from "+TableName;		
					}
					else
					{
						try
						{
							string sKeyField=ConfigurationSettings.AppSettings[TableName+"_Key"];
							if(sKeyField!=null)
							{
								StrSql="Select DISTINCT "+sKeyField+" from "+TransName;
								DataTable DtKey=this.GetDataTable(StrSql,LocalConnection);
								string sWhere="";
								if(DtKey!=null&&DtKey.Rows.Count>0)
								{
									for(int i=0;i<DtKey.Rows.Count;i++)
									{
										sWhere+="'"+DtKey.Rows[i][sKeyField].ToString()+"',";
									}
								}
								sWhere=sWhere.Substring(0,sWhere.Length-1);
								StrSql="delete from "+TableName+" where "+sKeyField+" in ("+sWhere+")";
							}
						}
						catch
						{}						
					}
					string ExeSql="";
					CSqlBuilder cls=new CSqlBuilder();
					cls.CreateSQL(TableName,this.WebConnection);
					Hashtable hs=new Hashtable();
					for(int i=0;i<DtDbf.Rows.Count;i++)
					{
						Hashtable hsEntry=new Hashtable();
						for(int j=0;j<DtField.Rows.Count;j++)
						{
							hsEntry[DtField.Rows[j]["Column_Name"].ToString()]=DtDbf.Rows[i][DtField.Rows[j]["Column_Name"].ToString()];
						}
						hs.Add("Entry"+i,hsEntry);
					}
					if(hs.Count>0)
					{
						if(StrSql!="")
							cls.SQLInsertMutiRow(hs,StrSql);
						else
							cls.SQLInsertMutiRow(hs);
					}					
				}			
				
				//				MyTrans.Commit();
			}
			catch(Exception e)
			{
				//				MyTrans.Rollback();
				string str=e.Message.ToString();				
			}
			Conn.Close();			

		}


		#region Component Designer generated code
		
		//Required by the Web Services Designer 
		private IContainer components = null;
				
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
		}

		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if(disposing && components != null)
			{
				components.Dispose();
			}
			base.Dispose(disposing);		
		}
		
		#endregion

		// WEB SERVICE EXAMPLE
		// The HelloWorld() example service returns the string Hello World
		// To build, uncomment the following lines then save and build the project
		// To test this web service, press F5

//		[WebMethod]
//		public string HelloWorld()
//		{
//			return "Hello World";
//		}
	}
}

⌨️ 快捷键说明

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