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进行设计吧,现在的网站设计都会是用到。
