try
{
Connection con = db.getConnection();
Statement stmt = con.createStatement();
ResultSet rs=null;
String sqlQuery = "select * from TabGmailInbox where ";
System.out.println("******"+sqlQuery);//第一个打印
if(startTime.trim() ==""){
sqlQuery =sqlQuery+"timebegin between '"+ startT + "'";
}
else{
sqlQuery =sqlQuery+"timebegin between '"+ startTime + "'";
}
System.out.println("******"+sqlQuery);//第二个打印
if(endTime.trim() ==""){
sqlQuery =sqlQuery+"and'"+ endT + "'";
}
else{
sqlQuery =sqlQuery+"and'"+ endTime + "'";
}
if(MailTheme.trim() =="" ){
}
else
{
sqlQuery =sqlQuery+"MailTheme = '"+ MailTheme + "'";
}
if(RecvAccount.trim() ==""){
}
else
{
sqlQuery =sqlQuery+"and RecvAccount = '"+ RecvAccount + "'";
}
if(SenderAccount.trim() ==""){
}
else
{
sqlQuery =sqlQuery+"and SenderAccount = '"+ SenderAccount + "'";
}
if(RecvTime.trim() ==""){
}
else
{
sqlQuery =sqlQuery+"and RecvTime = '"+ RecvTime + "'";
}
System.out.println("******"+sqlQuery);//第3个打印
rs = stmt.executeQuery(sqlQuery);
%>
代码如上,在if之前的那个system.out可以打印出来,但是if之后的就打印不出来了,代码似乎执行到if之前就停止了,这是为什么啊?这和这个JSP页面的JavaScript脚本有关系吗?我的IDE显示语法上没有错误的!就是不能执行得到预期的结果啊!请有经验的同志或者知道为什么的同志不吝赐教,但求详尽易懂,我是小白菜一颗 5555555~~~~~~~
"".equals(startTime.trim())字符串比较不用==,使用equals方法
整个这段代码的功能就是希望根据网页上面输入的字符串,来动态生成SQL语句!
顶一个。楼主这个问题不大,按他说的改就OK了,String类型的判断相等要用 equals 。
他的是比较字符串==“”。和equals的结果是一样的。==是比较的地址。equals是比较的值。不过尽量不要==。用"".equals(Object)这样可以避免出现NullPointException。你们让他那样改和没改效果是一样的。是最后少个括号。在jsp页面中。这是不会报语法错误的
System.out.println(str.trim()=="");//false
try
{
String sqlQuery = "select * from TabGmailInbox where ";
System.out.println("******"+sqlQuery);//第一个打印
if(startTime.trim() ==""){
sqlQuery =sqlQuery+"timebegin between '"+ startT + "'";
}
else{
sqlQuery =sqlQuery+"timebegin between '"+ startTime + "'";
} System.out.println("******"+sqlQuery);//第二个打印
System.out.println("******"+sqlQuery);//第3个打印你的是第一个打印出来了吗?
Date day1 = cal.getTime();
cal.add(Calendar.DATE, -100);
Date day2 = cal.getTime();
String startT = Utility.formatDate(day2);
String endT = Utility.formatDate(day1);
pageContext.setAttribute("startT", startT);
pageContext.setAttribute("endT",endT);
String RecvAccount = request.getParameter("RecvAccount");
String SenderAccount = request.getParameter("SenderAccount");
String RecvTime = request.getParameter("RecvTime");
String MailTheme = request.getParameter("MailTheme");
String startTime = request.getParameter("date1");
String endTime = request.getParameter("date2");
try
{
Connection con = db.getConnection();
Statement stmt = con.createStatement();
ResultSet rs=null;
String str = new String("");
String sqlQuery = "select * from TabMailLoginAll where ";
System.out.println("******"+sqlQuery);
if(startTime.trim().equals("")){
sqlQuery =sqlQuery +"TimeLogin between '"+ startT + "'";
}
else{
sqlQuery =sqlQuery +"TimeLogin between '"+ startTime + "'";
}
System.out.println("******"+sqlQuery);
if(endTime.trim() ==""){
sqlQuery =sqlQuery +"and '"+ endT + "'";
}
else{
sqlQuery =sqlQuery +"and '"+ endTime + "'";
}
System.out.println("******"+sqlQuery);
if(MailTheme.trim() =="" ){
}
else
{
sqlQuery =sqlQuery+"MailTheme = '"+ MailTheme + "'";
}
System.out.println("******"+sqlQuery);
if(RecvAccount.trim() ==""){
}
else
{
sqlQuery =sqlQuery+"and RecvAccount = '"+ RecvAccount + "'";
}
System.out.println("******"+sqlQuery);
if(SenderAccount.trim() ==""){
}
else
{
sqlQuery =sqlQuery+"and SenderAccount = '"+ SenderAccount + "'";
}
System.out.println("******"+sqlQuery);
if(RecvTime.trim() ==""){
}
else
{
sqlQuery =sqlQuery+"and RecvTime = '"+ RecvTime + "'";
}
System.out.println("******"+sqlQuery);
rs = stmt.executeQuery(sqlQuery);
while(rs.next())
{
String a=rs.getString(1);
String b=rs.getString(2);
String c=rs.getString(3);
String d=rs.getString(4);
}
rs.close();
stmt.close();
con.close();
}catch(Exception e){out.println(e.getMessage());}
String endT = "";
String RecvAccount = "";
String SenderAccount = "";
String RecvTime = "";
String MailTheme = "";
String startTime = "";
String endTime = "";
String sqlQuery = "select * from TabMailLoginAll where ";
System.out.println("******" + sqlQuery);
if (startTime.trim().equals("")) {
sqlQuery = sqlQuery + "TimeLogin between '" + startT + "'";
} else {
sqlQuery = sqlQuery + "TimeLogin between '" + startTime + "'";
}
System.out.println("******" + sqlQuery);
if (endTime.trim() == "") {
sqlQuery = sqlQuery + "and '" + endT + "'";
} else {
sqlQuery = sqlQuery + "and '" + endTime + "'";
}
System.out.println("******" + sqlQuery);
if (MailTheme.trim() == "") {
} else {
sqlQuery = sqlQuery + "MailTheme = '" + MailTheme + "'";
}
System.out.println("******" + sqlQuery);
if (RecvAccount.trim() == "") {
} else {
sqlQuery = sqlQuery + "and RecvAccount = '" + RecvAccount + "'";
}
System.out.println("******" + sqlQuery);
if (SenderAccount.trim() == "") {
} else {
sqlQuery = sqlQuery + "and SenderAccount = '" + SenderAccount + "'";
}
System.out.println("******" + sqlQuery);
if (RecvTime.trim() == "") {
} else {
sqlQuery = sqlQuery + "and RecvTime = '" + RecvTime + "'";
}
System.out.println("******" + sqlQuery);
我把你的程序改成这样,可以正确的输出。
搞不明白你那咋回事了。。
把你的QQ说出来,我加你,远程帮你调。。