📄 复件 webprint.java
字号:
//strX = strX + "<option>";
if(iCount>1){
//假定两列时,第一列为value,第二列为text
sT=rs.getString(1);
if (sT==null) sT="";
strX+="<option value='" +sT;
sT=rs.getString(2);
if (sT==null) sT="";
strX+="' >"+sT+"</option>";
}else {
//一列时则value和text相同
sT=rs.getString(1);
if (sT==null) sT="";
strX+="<option value='" +sT;
strX+="' >"+sT+"</option>";
}
// }
i = i + 1;
}
//strX = strX + "</root>";
rs.close();
}
catch (Exception e){
sTmp=e.getMessage() ;
System.out.println(sTmp);
}
return strX ;
}
//--------------------------------------
private String SqlToField(String strSql) {
//用一个SQL语句返回一个字段的第一个记录值
String strR = "";
try {
Statement stmt = con.createStatement();
rs = stmt.executeQuery(strSql);
if (rs.next()) {
strR = rs.getString(1) ;
}
rs.close();
stmt.close();
}
catch (Exception e){
//out.println("读表发生错误");
}
return strR;
}
//--------------------------------------
//报表增加
//--------------------------------------
private String GetReportCell() {
//找到指定位置的单元的值.
Node root = document.getChildNodes().item(0);
String sRow = root.getChildNodes().item(0).getChildNodes().item(0).getNodeValue();
int iRow=Integer.parseInt(sRow,10);
String sCol =root.getChildNodes().item(1).getChildNodes().item(0).getNodeValue();
int iCol=Integer.parseInt(sCol,10);
String strTableName =root.getChildNodes().item(2).getChildNodes().item(0).getNodeValue();
strTableName=fcTrans(strTableName);
//int iRow=Integer.parseInt(sRow,10);
String strSql="";
//String strID=TableNameToID(strTableName);
//strSql = "Select fstrDiv1 From cellsheet where flngID=" + strID + " and flngSheetNo=" + strPage ;
strSql = "Select fstrTable1 From fcCell where fstrTableName='" + strTableName+"'" ;
//String sLogCol=ToLogCol(sRow,sCol,"Select fstroCoor From cellsheet where flngID=" + strID + " and flngSheetNo=" + strPage );
//int iCol=Integer.parseInt(sLogCol,10);
String strR="";
String strR1="";
int iStart=0;
int iStartTmp=0;
int iTmp=0;
int iEnd=0;
try {
Statement stmt = con.createStatement();
rs = stmt.executeQuery(strSql);
if (rs.next()) {
strR = rs.getString(1) ;
}
rs.close();
stmt.close();
//strR1=strR;
//查找定位TR TD
//iStart=strR.indexOf("%20id%3Dt%20",0);//查找 id=t
for (int i=0;i<=iRow;i++) {
iStartTmp=strR.indexOf("%3CTR",iStart+1);//TR开始符
if (iStartTmp>0) {
iStart=iStartTmp;
}
}
if (iStartTmp>0) {
for (int i=0;i<=iCol;i++) {
iStartTmp=strR.indexOf("%3CTD",iStart+1); //TD开始符
if (iStartTmp>0) {
iStart=iStartTmp;
}
}
iStart=strR.indexOf("%3E",iStart);//TD后的第一个>
iEnd=strR.indexOf("%3C/TD%3E",iStart);//TD结束符
if (iEnd>iStart && iStart>0) {
strR=strR.substring(iStart+3,iEnd);
}
}
}
catch (Exception e){
System.out.println(e.getMessage());
}
//return Integer.toString(iEnd) ;
System.out.println(strR);
return "<root>"+strR+"</root>";
}
//--------------------------------------
//--------------------------------------
//通用函数
private String fc_RepStr(String mainStr,String findStr,String replaceStr){
//多次替代
int iStart=0;
int iEnd=0;
String sRet="";
while (iStart<mainStr.length()) {
iEnd=mainStr.indexOf(findStr,iStart);
if (iEnd<0) {
iEnd=mainStr.length();
sRet=sRet+mainStr.substring(iStart,iEnd);
}
else {
sRet=sRet+mainStr.substring(iStart,iEnd)+replaceStr;
}
iStart=iEnd+findStr.length();
}
return sRet;
}
private String rTrim(String str){
String rstr = str;
if(str == null)
{
rstr = "";
}
else
{
if(str.length() == 0) rstr = "";
if(str.length() > 0)
{
for(int i = str.length() ; i > 0 ; i--)
{
if(str.substring(i-1,i).equals(" "))
rstr = rstr.substring(0,i-1);
else break;
}
}
}
return rstr;
}
//--------------------------------------------
private String XmlOut(ResultSet oRs , String sRowEntityName,long EntFormat )
{
String sSet="";
try {
//oRs.first();
while (oRs.next())
{
sSet = sSet + RecordToXMLEntity(oRs, sRowEntityName, EntFormat) ;
}
}
catch (Exception e)
{
return e.getMessage();
}
return sSet ;
}
private String RecordToXMLEntity(ResultSet oRs , String EntityName,long EntFormat)
{
String sEty ="";
int iField=1;
int iCount=1;
try {
ResultSetMetaData rsmd=oRs.getMetaData();
iCount=rsmd.getColumnCount();
if (EntFormat==1)
{
//属性
sEty = "<" + EntityName ;
for (iField = 1 ; iField<=iCount ;iField++ )
{
sEty = sEty + " " + rsmd.getColumnName(iField) +"='" + oRs.getString(iField) +"'" ;
}
sEty = sEty + "/>" + "\n";
}
else
{
//节点
sEty = "<" + EntityName +">" +"\n" ;
for (iField = 1 ; iField<=iCount ; iField++)
{
sEty = sEty +"<" + rsmd.getColumnName(iField) +">" + oRs.getString(iField) +"</" + rsmd.getColumnName(iField) +">";
}
sEty = sEty +"\n" +"</" + EntityName +">" +"\n";
}
}
catch (Exception e)
{
}
return sEty;
}
//-----------------------------------------------------
private Attr[] sortAttributes(NamedNodeMap attrs) {
int len = (attrs != null) ? attrs.getLength() : 0;
Attr array[] = new Attr[len];
for ( int i = 0; i < len; i++ ) {
array[i] = (Attr)attrs.item(i);
}
for ( int i = 0; i < len - 1; i++ ) {
String name = array[i].getNodeName();
int index = i;
for ( int j = i + 1; j < len; j++ ) {
String curName = array[j].getNodeName();
if ( curName.compareTo(name) < 0 ) {
name = curName;
index = j;
}
}
if ( index != i ) {
Attr temp = array[i];
array[i] = array[index];
array[index] = temp;
}
}
return(array);
} // sortAttributes(NamedNodeMap):Attr[]
private String fcTrans(String sSource)
{
//
//XML节点中的汉字经8859_1==>UTF-8转换后用System.out.println输出正常
String unicodesR ="";
try {
byte [] by = sSource.getBytes("8859_1"); //GB2312
unicodesR = new String(by,"UTF-8");
}
catch (Exception e)
{
}
//System.out.println(unicodesR);
return unicodesR;
///
}
//--------------------------------------------
//WebCode中用
private String sqltoxml()
{
Node root=document.getChildNodes().item(0);
String strpage=root.getChildNodes().item(0).getChildNodes().item(0).getNodeValue();
String strsql=root.getChildNodes().item(1).getChildNodes().item(0).getNodeValue();
strsql=fcTrans(strsql);
String strsearch=root.getChildNodes().item(2).getChildNodes().item(0).getNodeValue();
String strrownum=root.getChildNodes().item(3).getChildNodes().item(0).getNodeValue();
String showcheckbox=root.getChildNodes().item(4).getChildNodes().item(0).getNodeValue();
String blnempty=root.getChildNodes().item(5).getChildNodes().item(0).getNodeValue();
//加空行
showcheckbox=showcheckbox.toUpperCase();
int intpage=Integer.parseInt(strpage);//开始页
int intrownum=Integer.parseInt(strrownum);//页尺寸
String strX="";
try {
//建立数据库连接
strDataSource="webgrid";
strUserName="sa";
strPassword="";
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:"+strDataSource;
Class.forName(sDBDriver);
Connection con1 = DriverManager.getConnection(sConnStr,strUserName,strPassword);
Statement stmt = con1.createStatement();
//原来的
//Statement stmt = con.createStatement();
//执行查询建立结果集
//-----------------
//System.out.print(strsearch);
int i=1;
if (strsearch.compareTo("###")!=0){
rs = stmt.executeQuery(strsql);
boolean bfind=false;
while(rs.next()){
String searchone=rs.getString(1);
//out.print(searchone);
if (searchone.equals(strsearch)){
bfind=true;
break;
}
i=i+1;
}
rs.close();
if (bfind==true){
if (i<=intrownum){
intpage=1;
}
else {
if (i%intrownum>0){
intpage=i/intrownum+1;
}
else {
intpage=i/intrownum;
}
}
}
//自动定位到当前选择所在值的页
}
//out.print("intpage="+intpage);
//-----------------
// System.out.print(intpage);
rs = stmt.executeQuery(strsql);
ResultSetMetaData rsmd=rs.getMetaData();
strX="<root>";
String sLabel="";
int k=0;
int thisrow=0;
int pagenumber=0;//总页数
int iFind=0; //控制在开始处插入一个空白行
while (rs.next()) {
if (blnempty.equals("true") && iFind==0) {
//插入一个空白行
strX=strX+"<tr height='16'>";
for (i=1;i<=rsmd.getColumnCount();i++) {
strX = strX + "<td></td>";
}
strX=strX+"</tr>";
iFind=1;
}
if (k>=(intpage-1)*intrownum && k<(intpage)*intrownum){
strX = strX + "<tr>";
for (i=1;i<=rsmd.getColumnCount();i++) {
sLabel=rsmd.getColumnLabel(i);
//System.out.println(rsmd.getColumnTypeName(i));
String sT=rs.getString(i);
if (sT==null) sT="";
strX = strX + "<td>" + sT + "</td>";
}
if (showcheckbox.equals("TRUE"))
strX = strX + "<td width='30'><input type='checkbox'></input></td>"+"</tr>";
else
strX = strX + "</tr>";
}
k=k+1;
}
if (k%intrownum>0)
pagenumber=k/intrownum+1;
else
pagenumber=k/intrownum;
strX=strX+"<pagenumber>"+pagenumber+"</pagenumber><intpage>"+intpage+"</intpage></root>";
} catch (Exception e){
strX=e.getMessage();
}
return strX;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -