📄 interface.asmx.cs
字号:
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 + -