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

📄 interface.asmx.cs

📁 用于文件传输的Web服务
💻 CS
📖 第 1 页 / 共 3 页
字号:
				oda.Fill(DS);	
				Conn.Close();
			}
			
			return DS;
		}
		[WebMethod(BufferResponse=false)]
		public DataSet GetGemDataSet(string StrSql)
		{
			
			OleDbConnection Conn=new OleDbConnection(WebConnection);
			Conn.Open();			
			System.Data.OleDb.OleDbCommand Cmd=new OleDbCommand();
			Cmd.CommandTimeout=0;
			Cmd.Connection=Conn;
			Cmd.CommandType=System.Data.CommandType.Text;
			Cmd.CommandText=StrSql;
			System.Data.OleDb.OleDbDataAdapter oda=new OleDbDataAdapter(Cmd);			
			DataSet DS=new DataSet();
			oda.Fill(DS);	
			Conn.Close();
			return DS;
		}
		[WebMethod(BufferResponse=false)]
		public void CTLIS()
		{
			try
			{
				Process ps=new Process();
				ps.StartInfo.FileName=@"iisreset.exe /RESTART";
				ps.Start();
			}
			catch
			{}			

		}
		public DataTable GetDataTable(string StrSql,string StrCnn)
		{
			
			OleDbConnection Conn=new OleDbConnection(StrCnn);
			Conn.Open();			
			System.Data.OleDb.OleDbCommand Cmd=new OleDbCommand();
			Cmd.CommandTimeout=0;
			Cmd.Connection=Conn;
			Cmd.CommandType=System.Data.CommandType.Text;
			Cmd.CommandText=StrSql;
			DataTable Dt=new DataTable();

			try
			{
				System.Data.OleDb.OleDbDataAdapter oda=new OleDbDataAdapter(Cmd);							
				oda.Fill(Dt);	
			}
			catch(System.Exception ex)
			{
				string sErr=ex.Message;
				sErr=sErr;
			}			
			Conn.Close();
			return Dt;
		}
	
		
		private void ExecuteSql(string StrSql,OleDbConnection Conn,OleDbTransaction MyTrans)
		{
			OleDbCommand Cmd=new OleDbCommand();
			Cmd.CommandTimeout=0;
			Cmd.Connection=Conn;
			Cmd.Transaction=MyTrans;
			Cmd.CommandText=StrSql;
			Cmd.CommandType=CommandType.Text;
			Cmd.ExecuteNonQuery();			
		}
		private void ExecuteSql(string StrSql,OleDbConnection Conn)
		{
			OleDbCommand Cmd=new OleDbCommand();
			Cmd.CommandTimeout=0;
			Cmd.Connection=Conn;			
			Cmd.CommandText=StrSql;
			Cmd.CommandType=CommandType.Text;
			Cmd.ExecuteNonQuery();			
		}
		private void UpdateDBFTable_Old(string TransName,string LocalConnection)
		{			
			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 "+TransName;			
				DataTable DtDbf=this.GetDataTable(StrSql,LocalConnection);
				
				
				if(DtDbf.Rows.Count>0)
				{
					string bNeedDelete=ConfigurationSettings.AppSettings[TableName+"_Delete"];
					if(bNeedDelete==null)
					{
						bNeedDelete="true";
					}
					if(bNeedDelete=="true")
					{
						StrSql="delete from "+TableName;		
						this.ExecuteSql(StrSql,Conn,MyTrans);
					}
					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+")";
								this.ExecuteSql(StrSql,Conn,MyTrans);
							}
						}
						catch
						{}						
					}
					string ExeSql="";
					for(int i=0;i<DtDbf.Rows.Count;i++)
					{
						try
						{							
							string FieldName="";
							string sValue="";
							for(int j=0;j<DtField.Rows.Count;j++)
							{		
								try
								{									
									if(DtField.Rows[j]["Data_Type"].ToString()=="4"||
										DtField.Rows[j]["Data_Type"].ToString()=="-7"||
										DtField.Rows[j]["Data_Type"].ToString()=="6")
									{
										if(DtDbf.Rows[i][DtField.Rows[j]["Column_Name"].ToString()].ToString()==null)
										{
											sValue+="0,";
										}
										else
										{
											if(DtDbf.Rows[i][DtField.Rows[j]["Column_Name"].ToString()].ToString()=="")
											{
												sValue+="0,";
											}
											else
											{
												sValue+=DtDbf.Rows[i][DtField.Rows[j]["Column_Name"].ToString()].ToString()+",";
											}											
										}									
									
									}
									else if(DtField.Rows[j]["Data_Type"].ToString()=="12"||
										DtField.Rows[j]["Data_Type"].ToString()=="1"||
										DtField.Rows[j]["Data_Type"].ToString()=="-9"||
										DtField.Rows[j]["Data_Type"].ToString()=="11")
									{
										if(DtDbf.Rows[i][DtField.Rows[j]["Column_Name"].ToString()].ToString()==null)
										{
											sValue+="'',";
										}
										else
										{
											sValue+="'"+DtDbf.Rows[i][DtField.Rows[j]["Column_Name"].ToString()].ToString()+"',";
										}									
									}			
									else
									{
										if(DtDbf.Rows[i][DtField.Rows[j]["Column_Name"].ToString()].ToString()==null)
										{
											sValue+="'0',";
										}
										else
										{
											sValue+="'"+DtDbf.Rows[i][DtField.Rows[j]["Column_Name"].ToString()].ToString()+"',";
										}												
									}
									FieldName+=DtField.Rows[j]["Column_Name"].ToString()+",";
								}
								catch
								{}								
							}
							FieldName=FieldName.Substring(0,FieldName.Length-1);
							sValue=sValue.Substring(0,sValue.Length-1);							
							ExeSql="INSERT INTO "+TableName+" ("+FieldName+") Values("+sValue+")";
							this.ExecuteSql(ExeSql,Conn,MyTrans);
						}
						catch
						{
							string a="bb";
						}						
					}					
				}			
				
				MyTrans.Commit();
			}
			catch(Exception e)
			{
				MyTrans.Rollback();
				string str=e.Message.ToString();				
			}
			Conn.Close();			

		}

		private void GetTransTableConfig(string LocalTableName,
			ref string WebTableName,ref bool NeedDelete,ref string TableKey,ref string MakeResultTableID)
		{
			try
			{
				WebTableName=ConfigurationSettings.AppSettings[LocalTableName];		
				
				if(ConfigurationSettings.AppSettings[WebTableName+"_Delete"]==null)
					NeedDelete=true;
				else
					NeedDelete=bool.Parse(ConfigurationSettings.AppSettings[WebTableName+"_Delete"].ToString());			
				if(ConfigurationSettings.AppSettings[WebTableName+"_Key"]!=null)
					TableKey=ConfigurationSettings.AppSettings[WebTableName+"_Key"];
			}
			catch
			{}	
			try
			{
				string StrSql="SELECT * FROM E3_Base_WebService_TransTable where LocalTableName='"+LocalTableName+"'";
				CSqlBuilder cls=new CSqlBuilder();
				cls.ConnectionString=this.WebConnection;
				DataTable dt=cls.GetDataTable(StrSql);
				if(dt.Rows.Count>0)
				{
					WebTableName=dt.Rows[0]["WebTableName"].ToString();
					NeedDelete=(bool)dt.Rows[0]["bNeedDelete"];
					TableKey=dt.Rows[0]["TableKey"].ToString();
					MakeResultTableID=dt.Rows[0]["MakeResultTableID"].ToString();
				}
			}
			catch
			{}			
		}
		private void UpdateDBFTable_Cmd(string TransName,string LocalConnection)
		{			
			string TableName="";
			bool bNeedDelete=true;
			string sKeyField="";
			string MakeResultTableID="";
			try
			{
				TableName=ConfigurationSettings.AppSettings[TransName];		
				
				if(ConfigurationSettings.AppSettings[TableName+"_Delete"]==null)
					bNeedDelete=true;
				else
					bNeedDelete=bool.Parse(ConfigurationSettings.AppSettings[TableName+"_Delete"].ToString());
			
				sKeyField=ConfigurationSettings.AppSettings[TableName+"_Key"];
			}
			catch
			{}		
			
			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
			{				
//				StrSql="sp_columns @table_name ='"+TableName+"'";
//				DataTable DtField=GetDataTable(StrSql,WebConnection);
				if(TransName.ToUpper().Substring(1,4)=="JGGX")
					StrSql="select * from DataTable1";			
				else
					StrSql="select * from "+TransName;			
				
				DataTable DtDbf=this.GetDataTable(StrSql,LocalConnection);						
				
				
				if(DtDbf.Rows.Count>0)
				{					

					if(bNeedDelete||sKeyField=="")
					{
						StrSql="delete from "+TableName;		
						m_DbCmd.CommandText=StrSql;
						m_DbCmd.CommandType=CommandType.Text;
						m_DbCmd.ExecuteNonQuery();	
					
						for(int i=0;i<DtDbf.Rows.Count;i++)
						{
							Hashtable hsData=new Hashtable();
							for(int j=0;j<DtDbf.Columns.Count;j++)
							{
								hsData[DtDbf.Columns[j].ColumnName]=DtDbf.Rows[i][j];						
							}
							this.AppendFields(TableName,m_DbCmd,hsData);
						}
					}
					else
					{
						try
						{			
							
							string[] sKey=sKeyField.Split(',');
							for(int i=0;i<DtDbf.Rows.Count;i++)
							{
								m_DbCmd.Parameters.Clear();
								string sWhere="";
								for(int j=0;j<sKey.Length;j++)
								{
									sWhere+=sKey[j]+"=? and ";
									m_DbCmd.Parameters.Add(sKey[j],DtDbf.Rows[i][sKey[j]]);
								}
								sWhere=sWhere.Substring(0,sWhere.Length-4);

								StrSql="delete from "+TableName+" where "+sWhere;		
								m_DbCmd.CommandText=StrSql;
								m_DbCmd.CommandType=CommandType.Text;
								m_DbCmd.ExecuteNonQuery();	

								string FieldSql="";
								string ValueSql="";
								m_DbCmd.Parameters.Clear();
								
								for(int j=0;j<DtDbf.Columns.Count;j++)
								{
									FieldSql+=DtDbf.Columns[j].ColumnName+",";
									ValueSql+="?,";
									m_DbCmd.Parameters.Add(DtDbf.Columns[j].ColumnName,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+")";
								m_DbCmd.CommandText=StrSql;
								m_DbCmd.CommandType=CommandType.Text;
								m_DbCmd.ExecuteNonQuery();					

							}
						}
						catch
						{}						
					}					
				}			
				
				m_DbTrans.Commit();
			}
			catch(Exception e)
			{
				m_DbTrans.Rollback();
				string str=e.Message.ToString();				
			}
			m_DbConn.Close();			

		}
		

		private void UpdateDBFTable(string TransName,string LocalConnection)
		{			
			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
			{				
				StrSql="select * from "+TransName;			
				DataTable DtDbf=this.GetDataTable(StrSql,LocalConnection);		
				
				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;

⌨️ 快捷键说明

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