A. jsp+servlet+ajax實現多條件實時查詢
ajax可以通過一個簡單的按鈕觸發,就是你的查詢按鈕!剩下的就是ajax的內容了
B. JSP頁面,如何對4個條件條件進行sql語句查詢,可能查詢一條,二條和任意組合查詢、如何操作
你好,
把四個值傳遞到後台,拼接sql時先判斷條件值有沒有,如果有就添加sql條件,如果沒有就不拼接。
一般都是這么做的。
希望能幫到你。
C. jsp怎麼查詢資料庫內容
你用的什麼開發工具啊!
<%@ page
  language="java"
  contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"
%>
<%@page import="java.sql.*"%>
<center>
<H1> <font color="blue" size="12">管理中心</font></H1>
<HR />
<table  width="80%"  border="1">
 
  <tr>
    <th>ID</th>
    <th>書名</th>
    <th>作者</th>
    <th>價格</th>
    <th>刪除</th>
  </tr>
  <%                                                            
    // 資料庫的名字
    String dbName = "zap";
    // 登錄資料庫的用戶名
    String username = "sa";
    // 登錄資料庫的密碼
    String password = "123";
    // 資料庫的IP地址,本機可以用 localhost 或者 127.0.0.1
    String host = "127.0.0.1";
    // 資料庫的埠,一般不會修改,默認為1433
    int port = 1433;
    String connectionUrl = "jdbc:sqlserver://" + host + ":" + port + ";databaseName=" + dbName + ";user=" + username
        + ";password=" + password;
    //
    //聲明需要使用的資源   
    // 資料庫連接,記得用完了一定要關閉
    Connection con = null;
    // Statement 記得用完了一定要關閉
    Statement stmt = null;
    // 結果集,記得用完了一定要關閉
    ResultSet rs = null;
    try {
      // 注冊驅動   
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
      // 獲得一個資料庫連接
      con = DriverManager.getConnection(connectionUrl);
     
      String SQL = "SELECT * from note";
      // 創建查詢
      stmt = con.createStatement();
      // 執行查詢,拿到結果集
      rs = stmt.executeQuery(SQL);
      
      while (rs.next()) {
         %>
     <tr>
      <td>
    
      <%=rs.getInt(1)%>
      </td>
      <td>
       <a href="prepareupdate?ID=<%=rs.getInt("ID")%>" target="_blank"><%=rs.getString(2)%></a>
      </td>
      <td>
       <%=rs.getString(3)%>
      </td>
      <td>
       <%=rs.getString(4)%>
      </td>
      <td>
      <a href="delete?ID=<%=rs.getInt("ID")%>" target="_blank">刪除</a>
   
      </td>
      
     </tr>
     <%
      }
} catch (Exception e) {
      // 捕獲並顯示異常
      e.printStackTrace();
    } finally {
      // 關閉我們使用過的資源
      if (rs != null)
        try {
          rs.close();
        } catch (Exception e) {}
      if (stmt != null)
        try {
          stmt.close();
        } catch (Exception e) {}
      if (con != null)
        try {
          con.close();
        } catch (Exception e) {}
    }
  %>
</table>
 <a href="insert.jsp">添加新紀錄</a>
</center>
我其中的一個資料庫查詢界面。
D. jsp 多條件查詢。
你可以這樣 , 將表單提交到另外一個jsp中 然後就可以通過request.getpar...來獲取表單中的值,處理完後在返回到這個jsp.
E. jsp如何實現多種條件查詢
你可以把查詢條件寫在一個實體類裡面。在執行查詢的時候進行sql拼接的方式過濾查詢條件。例如:查詢 jsp頁面上面有 用戶名[uname],年齡[age],性別[sex] 這些查詢內容,填寫什麼查什麼的話,你就可以建一個 User實體類 裡麵包含這些欄位  然後寫sql :
StringBuffer sb =new StringBuffer("select * from user u");
User user=UserDao.User();
Boolean flag=false;
if(null!=user.getAge()&&""!=user.getAge()){
sb.append("  where u.name= "+user.getAge());
flag=true;
}
if(null!=user.getAge()&&""!=user.getAge()){
 if(flag){
 sb.append( and u.age= "+user.getAge());
 }else
sb.append("  where u.age= "+user.getAge());
flag=true;
}
if(null!=user.getSex()&&""!=user.getSex()){
if(flag){
sb.append(" and u.sex= "+user.getSex());
}else
sb.append("  where u.sex= "+user.getSex());
flag=true;
}
實現思路還有很多 ,不過你要用hibernate來實現的話會更簡單,你可以到網上查查。。。
希望可以幫到你,謝謝
}
F. jsp如何在DAO層中的類里寫多條件查詢的方法
只穿頁數?那就是固定了一頁多少條吧?
你看看參考資料,它是用了在jsp頁面上直接分頁,你可以把他思想拿過來然後封裝成類
你是用list分頁的話我建議你不要那樣,如果數據到了一定程度就會很慢的。
最好是用存儲過程分頁
下面這個可以參考一下
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_show]') and OBJECTPROPERTY(id, N'IsProcere') = 1)
drop procere [dbo].[p_show]
GO
CREATE Proc p_show
@QueryStr nvarchar(4000), --表名、視圖名、查詢語句
@PageSize int=10,   --每頁的大小(行數)
@PageCurrent int=1,   --要顯示的頁
@FdShow nvarchar (4000)='', --要顯示的欄位列表,如果查詢結果有標識欄位,需要指定此值,且不包含標識欄位
@FdOrder nvarchar (1000)='' --排序欄位列表
as
declare @FdName nvarchar(250) --表中的主鍵或表、臨時表中的標識列名
 ,@Id1 varchar(20),@Id2 varchar(20) --開始和結束的記錄號
 ,@Obj_ID int    --對象ID
--表中有復合主鍵的處理
declare @strfd nvarchar(2000) --復合主鍵列表
 ,@strjoin nvarchar(4000) --連接欄位
 ,@strwhere nvarchar(2000) --查詢條件
select @Obj_ID=object_id(@QueryStr)
 ,@FdShow=case isnull(@FdShow,'') when '' then ' *' else ' '+@FdShow end
 ,@FdOrder=case isnull(@FdOrder,'') when '' then '' else ' order by '+@FdOrder end
 ,@QueryStr=case when @Obj_ID is not null then ' '+@QueryStr else ' ('+@QueryStr+') a' end
--如果顯示第一頁,可以直接用top來完成
if @PageCurrent=1 
begin
 select @Id1=cast(@PageSize as varchar(20))
 exec('select top '+@Id1+@FdShow+' from '+@QueryStr+@FdOrder)
 return
end
--如果是表,則檢查表中是否有標識更或主鍵
if @Obj_ID is not null and objectproperty(@Obj_ID,'IsTable')=1
begin
 select @Id1=cast(@PageSize as varchar(20))
  ,@Id2=cast((@PageCurrent-1)*@PageSize as varchar(20))
 select @FdName=name from syscolumns where id=@Obj_ID and status=0x80
 if @@rowcount=0   --如果表中無標識列,則檢查表中是否有主鍵
 begin
  if not exists(select 1 from sysobjects where parent_obj=@Obj_ID and xtype='PK')
   goto lbusetemp  --如果表中無主鍵,則用臨時表處理
  select @FdName=name from syscolumns where id=@Obj_ID and colid in(
   select colid from sysindexkeys where @Obj_ID=id and indid in(
    select indid from sysindexes where @Obj_ID=id and name in(
     select name from sysobjects where xtype='PK' and parent_obj=@Obj_ID
   )))
  if @@rowcount>1  --檢查表中的主鍵是否為復合主鍵
  begin
   select @strfd='',@strjoin='',@strwhere=''
   select @strfd=@strfd+',['+name+']'
    ,@strjoin=@strjoin+' and a.['+name+']=b.['+name+']'
    ,@strwhere=@strwhere+' and b.['+name+'] is null'
    from syscolumns where id=@Obj_ID and colid in(
    select colid from sysindexkeys where @Obj_ID=id and indid in(
     select indid from sysindexes where @Obj_ID=id and name in(
      select name from sysobjects where xtype='PK' and parent_obj=@Obj_ID
    )))
   select @strfd=substring(@strfd,2,2000)
    ,@strjoin=substring(@strjoin,5,4000)
    ,@strwhere=substring(@strwhere,5,4000)
   goto lbusepk
  end
 end
end
else
 goto lbusetemp
/*--使用標識列或主鍵為單一欄位的處理方法--*/
lbuseidentity: 
 exec('select top '+@Id1+@FdShow+' from '+@QueryStr
  +' where '+@FdName+' not in(select top '
  +@Id2+' '+@FdName+' from '+@QueryStr+@FdOrder
  +')'+@FdOrder
  )
 return
/*--表中有復合主鍵的處理方法--*/
lbusepk:  
 exec('select '+@FdShow+' from(select top '+@Id1+' a.* from
  (select top 100 percent * from '+@QueryStr+@FdOrder+') a
  left join (select top '+@Id2+' '+@strfd+' 
  from '+@QueryStr+@FdOrder+') b on '+@strjoin+'
  where '+@strwhere+') a'
  )
 return
/*--用臨時表處理的方法--*/
lbusetemp:  
select @FdName='[ID_'+cast(newid() as varchar(40))+']'
 ,@Id1=cast(@PageSize*(@PageCurrent-1) as varchar(20))
 ,@Id2=cast(@PageSize*@PageCurrent-1 as varchar(20))
exec('select '+@FdName+'=identity(int,0,1),'+@FdShow+'
  into #tb from'+@QueryStr+@FdOrder+'
 select '+@FdShow+' from #tb where '+@FdName+' between '
 +@Id1+' and '+@Id2
 )
GO 
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
 vaela
G. jsp中如何用sql語句實現多重條件的搜索
你是指動根據條件動態生成SQL語句吧,這個網上叫SQL模板。如:
StringBuffer SqlBase = new StringBuffer("select * from table");
String courseNo = request.getParameter("courseNo");
......
//然後
void addCondition(StringBuffer sb,String colName,String val) {
    if(val != null && !val.equals("") {
        if(sb.indexOf("where") == -1) {
            sb.append(" where " + colName + "=" + val);
        } else {
            sb.append(" and " + colName + "=" + val);
        }
    }
}
H. jsp多條件查詢問題,請高手指點迷津!
一般是用select * from table where 1=1 and ……
1=1是一個條件為真的值 and後面就加上你要查詢的條件,如果是多個就就多and幾次
比如這是我以前寫的一段
 String sql="select * from book where 1=1;
        if(bookID!=0)
            sql=sql+" and bookID="+bookID;
         
        if(!bookName.equals(""))
            sql=sql+ " and bookname like '%"+bookName+"%'";
        if(!author.equals(""))
            sql=sql+" and author like '%"+author+"%'";
            
         if(bookStatus!=2)
             sql = sql +" and status="+bookStatus;
I. 求一個簡單的jsp多條件查詢類似下圖mysql資料庫表分上下頁顯示模板源碼(最主要是按時間查詢)
你的sql語句有問題,兩個時間中間和and之間沒有空格,時間前後沒加單引號
「select * from b_user where a_time between '」+datea+"' and '"+dateb+"' order by id desc limit "
另外,活用控制台,報什麼錯你也不發出來。
J. JSP怎麼實現多條件模糊搜索
//import org.hibernate.Criteria;你說的功能用hibernate實現起來比較方便
下面是代碼:
Criteria criteria = session.createCriteria(CardSaleRecord.class);
//CardSaleRecord也就是你想查詢的表所對應得實體類,但是要在映射文件中配置
//創建別名,可不要
  criteria.createAlias("cityCode", "c");
  criteria.createAlias("proctCode", "p");
//從頁面中獲取來的模糊查詢的條件
  Date fromDate = cardSaleFormBean.getYearMonth();
  Date toDate = cardSaleFormBean.getTimeSpan();
  String cityCode = cardSaleFormBean.getCityCode().getCityCode();
  String proctCode = cardSaleFormBean.getProctCode().getProctCode();
  String status = cardSaleFormBean.getSelectAuditStatus();
//根據條件是否為空,是否在sql語句中增加約束條件
  if(null!=fromDate){
   criteria.add(Restrictions.gt("saleDate", fromDate));
  }
  if(null!=toDate){
   criteria.add(Restrictions.lt("saleDate", toDate));
  }
  if(!"default".equals(cityCode)){
   criteria.add(Restrictions.eq("c.cityCode", cityCode));
  }
  if(!"default".equals(proctCode)){
   criteria.add(Restrictions.eq("p.proctCode", proctCode));
  }
  if(!"default".equals(status)){
   
   criteria.add(Restrictions.eq("checkStatus", status));
  }
  //返回結果
  return criteria.list(); 
既然是網站上用的,那就選擇struts spring hibernate進行設計吧,現在的網站設計都會是用到。
