📄 querydb.cs
字号:
dt=QueryEntry.GetOneBillMultiContaDetail("sMANIFEST_LIST_REL", strBillNo,strVoyage_No);
code.Append("<?xml version='1.0' encoding='gb2312'?>" + "\n");
code.Append("<?xml-stylesheet type='text/xsl' href='OneEntryMutiConta.xsl' ?>"+"\n");
code.Append("<CONTA_PASS_INFO>"+"\n");
// code.Append(" ");
// code.Append("<status>success:1 select is completed!</status>"+"\n");
for(int i=0;i<dt.Rows.Count;i++)
{
code.Append(" ");
code.Append("<CONTA_RECORD>"+"\n");
code.Append(" ");
for(int j=0;j<dt.Columns.Count;j++)
{
if (dt.Rows[i][j].ToString().Length > 0)
{
code.Append(" ");
code.Append("<");
code.Append(dt.Columns[j].ColumnName.ToString());
code.Append(">");
code.Append(dt.Rows[i][j].ToString());
code.Append("</");
code.Append(dt.Columns[j].ColumnName.ToString());
code.Append(">"+"\n");
}
else
{
code.Append(" ");
code.Append("<");
code.Append(dt.Columns[j].ColumnName.ToString());
code.Append("/>"+"\n");
}
}
code.Append(" ");
code.Append("</CONTA_RECORD>"+"\n");
code.Append(" ");
}
code.Append(" ");
code.Append("</CONTA_PASS_INFO>"+"\n");
code.Append(" ");
dt.Dispose();
return code.ToString();
}
catch(System.Exception err)
{
throw err;
}
finally
{
QueryEntry.DisConnectDB();
}
}
public string GetContaNoXML(string strBillNo,string strVehi)
{
StringBuilder code = new StringBuilder(2048);
DataTable dt1,dt2 ;
QueryDB QueryEntry;
QueryEntry =new QueryDB();
int i,Row;
int iRowNum;
try
{
dt1=QueryEntry.GetContaHead("mBarConta" ,strBillNo,strVehi);
code.Append("<?xml version='1.0' encoding='gb2312'?>" + "\n");
code.Append("<?xml-stylesheet type='text/xsl' href='Conta.xsl' ?>"+"\n");
code.Append("<response>"+"\n");
// code.Append(" ");
// code.Append("<status>success:1 select is completed!</status>"+"\n");
code.Append(" ");
code.Append("<mConta_head>>"+"\n");
code.Append(" ");
for(i=0;i<dt1.Columns.Count;i++)
{
if(dt1.Rows.Count>0 )
{
if (dt1.Rows[0][i].ToString().Length > 0)
{
code.Append(" ");
code.Append("<");
code.Append(dt1.Columns[i].ColumnName.ToString());
code.Append(">");
code.Append(dt1.Rows[0][i].ToString());
code.Append("</");
code.Append(dt1.Columns[i].ColumnName.ToString());
code.Append(">"+"\n");
}
else
{
code.Append(" ");
code.Append("<");
code.Append(dt1.Columns[i].ColumnName.ToString());
code.Append("/>"+"\n");
}
}
}
code.Append(" ");
code.Append("</mConta_head>"+"\n");
code.Append(" ");
code.Append(" ");
code.Append("<Detail>"+"\n");
code.Append(" ");
dt2=QueryEntry.GetContaInfo("mBarConta" ,strBillNo,strVehi);
iRowNum=dt2.Rows.Count;
if(iRowNum>2)
iRowNum=2;
try
{
if(iRowNum>1)
{
dt2.Rows[0][10]=float.Parse(dt1.Rows[0][2].ToString())-float.Parse(dt1.Rows[0][1].ToString())-float.Parse(dt2.Rows[1][2].ToString())-float.Parse(dt2.Rows[1][3].ToString());
dt2.Rows[1][10]=float.Parse(dt1.Rows[0][2].ToString())-float.Parse(dt1.Rows[0][1].ToString())-float.Parse(dt2.Rows[0][2].ToString())-float.Parse(dt2.Rows[0][3].ToString());
}
else
{
dt2.Rows[0][10]=float.Parse(dt1.Rows[0][2].ToString())-float.Parse(dt1.Rows[0][1].ToString());
}
}
catch(Exception)
{
if(iRowNum>0)
dt2.Rows[0][10]=0;
if(iRowNum>1)
dt2.Rows[1][10]=0;
}
for(i=0;i<dt2.Columns.Count;i++)
{
for(Row=0;Row<iRowNum;Row++)
{
if(iRowNum>0 )
{
if (dt2.Rows[Row][i].ToString().Length > 0)
{
code.Append(" ");
code.Append("<");
code.Append(dt2.Columns[i].ColumnName.ToString()+Row.ToString());
code.Append(">");
code.Append(dt2.Rows[Row][i].ToString());
code.Append("</");
code.Append(dt2.Columns[i].ColumnName.ToString()+Row.ToString());
code.Append(">"+"\n");
}
else
{
code.Append(" ");
code.Append("<");
code.Append(dt2.Columns[i].ColumnName.ToString()+Row.ToString());
code.Append("/>"+"\n");
}
}
}
}
code.Append(" ");
code.Append("</Detail>"+"\n");
code.Append(" ");
code.Append(" ");
code.Append("</response>"+"\n");
code.Append(" ");
dt1.Dispose();
dt2.Dispose();
return code.ToString();
}
catch(System.Exception err)
{
throw err;
}
finally
{
QueryEntry.DisConnectDB();
}
}
}
public class AllQuery
{
private QueryCondition m_QueryCondition;
private int m_nGoodsType;
private int m_LineNumOfBuffer;
private int m_LineNumPerPage;
private int m_CurrentPageNum;
private int m_TotalReclNum;
private int m_FirstPageNumOfBuffer;
private int m_EndPageNumOfBuffer;
private int m_CurrentPageNumOfBuffer;
private DataTable m_QueryResultDT;
protected StringBuilder m_strQuerySQL;
public AllQuery()
{
m_strQuerySQL=new StringBuilder(1280);
m_LineNumOfBuffer=500;
m_LineNumPerPage=10;
m_TotalReclNum=-1;
m_FirstPageNumOfBuffer=-1;
m_EndPageNumOfBuffer=-1;
}
public int GetLineNumPerPage()
{
return m_LineNumPerPage;
}
public int GetTotalPage(ref QueryCondition Condition)
{
int nTotalPage=0;
if(m_TotalReclNum!=-1)
{
nTotalPage=m_TotalReclNum/m_LineNumPerPage;
}
else
{
m_TotalReclNum=GetTotalRecNum(ref Condition);
nTotalPage=m_TotalReclNum/m_LineNumPerPage;
}
if((m_TotalReclNum % m_LineNumPerPage)!=0)
nTotalPage+=1;
return nTotalPage;
}
public DataTable GetQueryResultTable(ref string SQL,int TopLine,int LineNum)
{
QueryDB DB;
if(SQL!="")
{
try
{
DB=new QueryDB();
bool bResult=DB.ConnectDB();
if(bResult)
{
m_QueryResultDT=DB.GetDataTable(SQL,TopLine,LineNum);
return m_QueryResultDT;
}
DB.DisConnectDB();
}
catch(Exception)
{
}
}
return null;
}
public DataTable GetQueryResultView(ref QueryCondition Condition ,int iCurrentPageNum ,ref int PageNumInBuf)
{
string strSQL=GetQuerySQL(ref Condition);
int PageNumOfBuf;
if(m_TotalReclNum<0)
{
m_TotalReclNum=GetTotalRecNum(ref Condition);
}
int TotalPageNum=m_TotalReclNum/m_LineNumPerPage;
if((m_TotalReclNum>0 ) && ((m_TotalReclNum % m_LineNumPerPage)!=0))
TotalPageNum+=1;
PageNumOfBuf=m_LineNumOfBuffer/m_LineNumPerPage;
//PageNumOfBuf=m_EndPageNumOfBuffer-m_FirstPageNumOfBuffer+1;
if((iCurrentPageNum>=m_FirstPageNumOfBuffer ) && (iCurrentPageNum<=m_EndPageNumOfBuffer ))
{
//PageNumOfBuf=m_EndPageNumOfBuffer-m_FirstPageNumOfBuffer+1;
PageNumInBuf=(iCurrentPageNum-m_FirstPageNumOfBuffer) % PageNumOfBuf;
}
else
{
// m_TotalReclNum=GetTotalRecNum( Condition);
if(iCurrentPageNum> TotalPageNum)
iCurrentPageNum=TotalPageNum;
m_FirstPageNumOfBuffer= iCurrentPageNum-(iCurrentPageNum % PageNumOfBuf);
if(m_FirstPageNumOfBuffer<=0)
m_FirstPageNumOfBuffer=1;
// m_FirstPageNumOfBuffer+=1;
m_EndPageNumOfBuffer=m_FirstPageNumOfBuffer+PageNumOfBuf-1 ;
if(m_EndPageNumOfBuffer> TotalPageNum)
m_EndPageNumOfBuffer=TotalPageNum;
//PageNumOfBuf=m_EndPageNumOfBuffer-m_FirstPageNumOfBuffer+1;
PageNumInBuf=(iCurrentPageNum-m_FirstPageNumOfBuffer) % PageNumOfBuf;
int nNeedReadStartLineNum=(m_FirstPageNumOfBuffer-1)*m_LineNumPerPage;
int nNeedReadEndLineNum=m_LineNumOfBuffer;
if(m_TotalReclNum<=0)
{
nNeedReadStartLineNum=0;
nNeedReadEndLineNum=0;
}
else if((m_TotalReclNum-nNeedReadStartLineNum)< m_LineNumOfBuffer)
nNeedReadEndLineNum=m_TotalReclNum-nNeedReadStartLineNum;
QueryDB DB;
if(strSQL!="")
{
try
{
DB=new QueryDB();
bool bResult=DB.ConnectDB();
if(bResult)
{
m_QueryResultDT=DB.GetDataTable(strSQL,nNeedReadStartLineNum,nNeedReadEndLineNum);
//m_QueryResultDT=DB.GetDataTableByCommitView(strSQL,nNeedReadStartLineNum,nNeedReadEndLineNum);
}
//DB.DisConnectDB();
}
catch(Exception)
{
}
}
}
if(m_QueryResultDT==null)
PageNumInBuf=0;
if(PageNumInBuf<0)
PageNumInBuf=0;
else if(PageNumInBuf>=m_QueryResultDT.Rows.Count)
PageNumInBuf=m_QueryResultDT.Rows.Count;
return m_QueryResultDT;
}
public string GetQuerySQL(ref QueryCondition Condition)
{
string str=Condition.GetQueryCondition();
return str;
}
public DataTable GetQueryResult(ref QueryCondition Condition)
{
DataTable dt;
string strSQL=Condition.GetQueryCondition();
if(strSQL.Length!=0)
{
QueryDB DB=new QueryDB();
bool bResult=DB.ConnectDB();
if(bResult)
{
dt =DB.ExeQuery(strSQL,"vTable");
DB.DisConnectDB();
return dt;
}
else
return null;
}
else
return null;
}
void SetLineNumOfBuffer(int LineNumOfBuffer)
{
m_LineNumOfBuffer=LineNumOfBuffer;
}
void SetLineNumPerPage(int PageNum)
{
m_LineNumPerPage=PageNum;
}
public int GetTotalRecNum(ref QueryCondition Condition)
{
string str=Condition.GetQueryCondition();
QueryDB DB;
m_TotalReclNum=0;
if(str!="")
{
try
{
DB=new QueryDB();
bool bResult=DB.ConnectDB();
if(bResult)
{
m_TotalReclNum=DB.GetRecNoOfCommitView( str);
}
DB.DisConnectDB();
}
catch(Exception)
{
}
}
return m_TotalReclNum;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -