小编phi*_*ill的帖子

java servlet:如何加快速度?

我有以下函数,为生成的每个订单项调用.有没有人有任何想法如何加快这一点?

private String getDetails(String doc){
    String table="";
    java.sql.ResultSet rs = qw.DBquery("select " +
        "id,LineType, QtyTotal, ManufacturerPartNumber, Description, UnitCost,UnitPrice " +
        "From DocumentItems  " +
        "where DocID="+doc+" order by linenumber " +
        "");
    table+= "<table class=inner><thead><colgroup><col id='col1'><col id='col2'><col id='col3'><col id='col4'><col id='col5'></colgroup>" +
            "<tr class='enetBlue'><th>Qty</th><th>Part Num</th><th>Description</th><th>Unit Cost</th><th>Unit Price</th></tr></thead>" +
            "<tbody>";
    try{            
        int odd = 0;
        while(rs.next()){

            int lineType = rs.getInt("LineType");
            int qty = rs.getInt("QtyTotal");
            String part = rs.getString("ManufacturerPartNumber");
            String desc = rs.getString("Description");
            float cost = rs.getFloat("UnitCost");
            float price = rs.getFloat("UnitPrice");
            String id …
Run Code Online (Sandbox Code Playgroud)

java optimization performance servlets

2
推荐指数
3
解决办法
1493
查看次数

如何处理Java PrepareStatement中的特殊字符?

在以下使用PreparedStatement该类的SQL查询中:

String query_descrip = "insert into timitemdescription (itemkey, languageid, longdesc, shortdesc) values (?, 1033, ?,?)";
PreparedStatement pstmt2 = con.prepareStatement(query_descrip); 
pstmt2.setInt(1, rs4);
pstmt2.setString(2, itemdescription);
pstmt2.setString(3, itemdescription.substring(0,39));
pstmt2.executeUpdate();       
Run Code Online (Sandbox Code Playgroud)

我有时在项目描述中得到撇号和单引号和双引号.例如,我的一个项目的后期问题是"Planar 22"监视器".当然,字符串被误解并认为描述值只是"Planar 22".处理字符串中特殊字符的最佳方法是什么?

我读过有些人正在使用正则表达式,但这些似乎是针对具体情况而定的.我正在研究的另一种方法是逐个字符地读取字符串数组.我希望有一种更有效,资源更少的方式来做到这一点.

更新一些更广泛的测试,结果发现我的代码中出现了更多问题.它也是一个URL编码问题.当jsp代码填充html表单时,它会尝试将描述字段移动到在线表单,它会在表单上而不是在查询上截断它.jTDS还纠正了接收特殊字符的问题.因为jTDS是一个jar,它也有助于避免重启机器.我将奖励jTDS线程的赏金,因为那是我部分使用的.

提前致谢

java string special-characters

2
推荐指数
1
解决办法
4817
查看次数

powershell:get-date.adddays不正确?

我要做的是创建一个PowerShell脚本,它获取目录中的文件夹列表,该目录由正则表达式筛选出来,用nnnnnnx31或nnnnnnddd筛选出文件夹名称,其中n =前6个字符的alpha字符和最后3个字符是静态字符串x31的数字.接下来,它会筛选文件是否为90天,这些文件将被复制到另一个目录.

当我尝试运行时:

get-childitem | where {$_.name -match "^\d{6}([a-zA-Z]{3}|x31)$"} | where {$_.lastwritetime -lt (get-date.adddays(-90)}
Run Code Online (Sandbox Code Playgroud)

我收到错误:

You must provide a value expression on the right-hand side of the -lt operator
At line: 1 char: 96
+ get-childitem | where {$_.name -match "^\d{6}([a-zA-Z]{3}|x31)$"} | where {$_.lastwritetime -lt  <<<< get-date.adddays(-90)}
Run Code Online (Sandbox Code Playgroud)

我也试过以下它并没有用:

get-childitem | where {$_.name -match "^\d{6}([a-zA-Z]{3}|x31)$"} | where {$_.lastwritetime -lt (get-date | foreach-object {$_.adddays(-90)}) }
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

powershell

1
推荐指数
1
解决办法
1万
查看次数

vbscript:注册表目录和键列表

如果我有一个注册表路径:

HKEY_LOCAL_MACHINE\SOFTWARE\INTERSTAR\XFILES\CONFIG MANAGER\SYSTEM\COMPANIES 
Run Code Online (Sandbox Code Playgroud)

我如何列出该路径/目录下的所有记录并访问DWORD,REG_SZ和数据?

提前致谢

registry vbscript

1
推荐指数
1
解决办法
2559
查看次数

Java:为什么这些变量不能初始化?

我正在研究布鲁斯·埃克尔(Bruce Eckel)的书中的一个例子,我想知道为什么输出时初始化值不会粘住?

class InitialValues2 { 
    boolean t = true;
    char c = 'x';
    byte b = 47;
    short s = 0xff;
    int i =999; 
    long l =1;
    float f = 3.14f;
    double d =3.14159;
    InitialValues reference; 



    void printInitialValues() { 
        System.out.println("data type       Initial values");
        System.out.println("boolean     " + t); 
        System.out.println("char        [" + c + "]"); 
        System.out.println("byte        " + b); 
        System.out.println("short       " + s); 
        System.out.println("int         " + i); 
        System.out.println("long        " + l); 
        System.out.println("float       " + f); 
        System.out.println("double      " + d);
        System.out.println("reference       " + …
Run Code Online (Sandbox Code Playgroud)

java

1
推荐指数
1
解决办法
282
查看次数

Java错误:找不到符号?

我有以下代码片段,其中一些字符串在if块中初始化:

String serialmask = request.getParameter( "serialmask"); 
String serialincrement = request.getParameter( "serialincrement");
if (serialmask == "1") { 
  String tserialmask = "aaa########"; 
} 
else { 
  String tserialmask = "";
}
if (serialincrement == "1") {  
  String tserialincrement = "aaa^^^^^^^^";
}
else { 
  String tserialincrement = ""; 
}
out.println(
  itemimport( 
    partnumber, 
    itemcost, 
    itemlistprice, 
    itemdescription, 
    PurchProdLineKey, 
    UnitMeasKey, 
    itemclasskey, 
    trackmethod, 
    tserialmask, 
    tserialincrement
  )
);
Run Code Online (Sandbox Code Playgroud)

我得到的错误"cannot find symbol" symbol : variable tserialmaskout.println(itemimport(....tserialmask,tserialincrement));声明中.

我尝试在if块之外声明变量,这似乎会带来更多的错误,说它已经被声明了.

java string

0
推荐指数
1
解决办法
6412
查看次数

javac:找不到包错误

我正在尝试编译一个导入我创建的其他包的java文件; 然而,它似乎没有找到它们.

在我的compile.bat文件中,我有:

set classpath=c:\t\DB;c:\t\Frame 
javac comchange.java 
Run Code Online (Sandbox Code Playgroud)

commChange.java的开头部分

package commchange;

import java.sql.*;
import java.awt.event.*;
import java.applet.*;
import DB.*;
import java.awt.*;
import java.util.*;
import javax.swing.*;
import java.awt.Graphics;
import Frame.*;
Run Code Online (Sandbox Code Playgroud)

目录结构是:

c:\t\commChange.java
c:\t\DB
c:\t\Frame
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

commChange.java:12: package DB does not exist 
import DB.*; 

commChange.java:17: package Frame does not exist 
import Frame.*;

commChange.java:23: cannot find symbol 
symbol: class Frame 
... 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java

0
推荐指数
1
解决办法
5263
查看次数

为什么我在返回TRUE/FALSE时输入错误来输入布尔值?

我写了以下代码:

import java.lang.*; 
import DB.*; 

    private Boolean validateInvoice(String i)
    {
     int count = 0;
     try
     { 
      //check how many rowsets
            ResultSet c = connection.DBquery("select count(*) from Invce i,cust c where tranid like '"+i+"' and i.key = c.key "); 
      while (c.next())
            {
             System.out.println("rowcount : " + c.getInt(1));
       count = c.getInt(1);
            } 
       if (count > 0 ) {
        return TRUE;
       } else { 
        return FALSE;
       } //end if   

     }
     catch(Exception e){e.printStackTrace();return FALSE;}
    }


    The errors I'm getting are:
    i.java:195:  cannot find symbol …
Run Code Online (Sandbox Code Playgroud)

java types boolean

0
推荐指数
1
解决办法
5572
查看次数