精华内容
下载资源
问答
  • 固定条件,直接查询数据库,把结果进行分页显示出来; 见博客 https://blog.csdn.net/qq_37591637/article/details/82951647 二、条件不定,查询数据库,把查询结果进行分页显示 如下图;包含四个条件,用户在...

    一、.固定条件,直接查询数据库,把结果进行分页显示出来;

    见博客

    https://blog.csdn.net/qq_37591637/article/details/82951647

    二、条件不定,查询数据库,把查询结果进行分页显示

    如下图;包含四个条件,用户在选择的时候可以选择一个条件、任意两个条件、三个条件、全部条件进行查询,

     思路:

    1,jjsp把用户选择的条件参数传递到A.servlet中;

    2 在A.servlet中用户选择条件,根据条件组成一个sql语句,把这个没有进行limit ?,?分页的数据传递到一个中介的B.servlet中

    3.在B.servlet中,把这个sql语句进行分页查询

    遇到的难点:

    1.乱码,:

    整个过程涉及到:A.servlet传递参数到B.servlet 、  B.servlet传递参数到C.jsp 、C.jsp 传递参数到B.servlet 三个过程

    其中  A.servlet传递参数到B.servlet  C.jsp 传递参数到B.servlet 总有一个乱码,怎么处理都不行?总有一个正常一个乱码?

    解决方式:

    一样的参数,接受的时候用了两个字符串接受,分开处理;

    A.servlet

    package cn.com.servlet;
    import java.io.IOException;
    import java.net.URLDecoder;
    import java.net.URLEncoder;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import cn.com.pack.*;
    public class SearchCondition extends HttpServlet {
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
             doPost(request, response);
    	}
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
        //这个servlet的主要作用是根据用户的选择才查询出想要的结果
    	String name=request.getParameter("name");
    	if(name!=null&&name!=""){
    		name = URLEncoder.encode(name, "ISO-8859-1");
    		name = URLDecoder.decode(name, "UTF-8");	
    	}
    	String number=request.getParameter("num");
    	if(number!=null&&number!=""){
    		number = URLEncoder.encode(number, "ISO-8859-1");
    		number = URLDecoder.decode(number, "UTF-8");	
    	}
    	String state=request.getParameter("states");
    	state = URLEncoder.encode(state, "ISO-8859-1");
    	state = URLDecoder.decode(state, "UTF-8");
    	
    	String part=request.getParameter("organs");
    	part = URLEncoder.encode(part, "ISO-8859-1");
    	part = URLDecoder.decode(part, "UTF-8");
    	//1.1把收到的信息都存储到一个集合里面,如果是空的就筛选掉,放进一个新的集合
    	//penson(假如你的数据放在对象中)
    	Map<String,String> map =new HashMap<String,String>();
    	String sql =" select * from person_info where 1=1 ";
    	Person_info person=new Person_info();
    	if(name!= null&&name!=""){
    	map.put("name",name);
    	}else if(number!=null&&number!=""){
    		map.put("number",number);
    	}else if(part!=null&&part!=""){
    		if(part.equals("全部")){
    			
    		}else{
    			map.put("part",part);	
    		}
    	}
    	else if(state!=null&&state!=""){
         if(state.equals("全部")){
    			
    		}else{
    			map.put("state",state);
    		}
    		
    	}
    	Set<String> key = map.keySet(); 
    	for (String i : key) {
    	sql=sql+"and "+i+"= '"+map.get(i)+"'";
    	                     }
       
        request.setCharacterEncoding("utf-8");
        System.out.println("第一次传过去的sql:"+sql);
    	request.getRequestDispatcher("/SearchCondition_Media?sql="+sql).forward(request, response);
    	}
    
    	
    
    }
    

    B.servlet

    package cn.com.servlet;
    import java.io.IOException;
    import java.net.URLDecoder;
    import java.net.URLEncoder;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import cn.com.jdbc.JdbcUtils;
    import cn.com.pack.Person_info;
    @SuppressWarnings("serial")
    public class SearchCondition_Media extends HttpServlet {
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		doPost(request, response);
    	}
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		// 条件查询媒介
    		// 1.数据库里面数据的总条数;
    		
    		int countpage = 0;
    		request.setCharacterEncoding("utf-8");
    		String sql = request.getParameter("sql");
    		String sql1=request.getParameter("sqls");
    		if(sql1!=null&&!("".equals(sql1))){			
    			sql1 = new String (sql1.getBytes("ISO-8859-1"),"UTF-8");
    		System.out.println("sql1:"+sql1);
    		}
    		
    		
    		if(sql==null||"".equals(sql)){
    			
    			sql=sql1;
    		}
    		System.out.println("sql:" + sql);
    		ResultSet rs0 = JdbcUtils.select(sql, null);
    		List<Person_info> list = new ArrayList<Person_info>();
    		// 分页查询
    		try {
    			while (rs0.next()) {
    				countpage++;
    			}
    		} catch (SQLException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    		// 每页显示多少行
    		int limt = 10;
    		// 2.如果一页是10条数据的话,那么就是all页
    		int all = (countpage / limt) + 1;
    		// 这个是从前台获取的数据,是上一页还是下一页
    		int cpage = 1;
    		// 这个是上一页还是下一页的数据
    		String currentpage = request.getParameter("currentpage");
    		if (currentpage == null || currentpage == "") {
    			cpage = 1;
    		} else {
    			cpage = Integer.parseInt(currentpage);
    			// 如果到了最后一页,用户再点击下一页的时候跳转到第一页
    			if (cpage == (all + 1)) {
    				cpage = 1;
    				// 如果到了第一页,用户再点击下一页的时候跳转到最后一页
    			} else if (cpage == 0) {
    				cpage = all;
    			}
    		}
    		// 3.开始查询的数据
    		int start = limt * (cpage - 1);
    		// 4.结束查询的数据
    		int end = start + (limt - 1);
    		// 这个代码是查询数据库里面的person_info,然后循环遍历显示在页面上
    		// sql语句的意思就是limit 索引,显示索引以后多少行
    		String sqls = sql + "  limit ?,?";
    		// 如果到了最后一页的时候,
    		if (end > countpage) {
    			limt = countpage - start;
    		}
    		int sz[] = { start, limt };
    		ResultSet rs = JdbcUtils.selectint(sqls, sz);
    		try {
    			while (rs.next()) {
    				Person_info pin = new Person_info(rs.getString(1),
    						rs.getString(2), rs.getString(3), rs.getString(4),
    						rs.getString(5), rs.getString(6));
    				list.add(pin);
    			}
    			request.setAttribute("list", list);
    			request.setAttribute("cpage", cpage);
    			request.setAttribute("all", all);
    			request.setAttribute("address", "/Socket/SearchCondition_Media");
    			request.getRequestDispatcher("/Personnel_definition.jsp?sql="+sql).forward(
    					request, response);
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		// 1.2根据新的集合的来进行查询
    
    	}
    
    }
    

    C.jsp

    <div id="center-right">
    <!--  人员信息界面-->
    <form action="/Socket/SearchCondition" method="post">
    <br>
    <span class="peo_left">人员名称:<input type="text" name="name"/></span>
    <span class="peo_left" style="margin-left: 117px;">人员编号:<input type="text"  name="num"/></span><br>
    <span class="peo_left">所属机构:
    <select name="organ" id="organ">
    <option onclick="organ_se();">所有</option>
    <option onclick="organ_se();">公司</option>
    <option onclick="organ_se();">新龙项目部</option>
    <option onclick="organ_se();">中矿</option>
    </select>
    </span>
    <span class="peo_left">启用状态:
    <select id="state">
    <option onclick="state_se();">全部</option>
    <option onclick="state_se();">启用</option>
    <option onclick="state_se();">禁用</option>
    </select>
    <span><input type="text" id="organs" name="organs" style="display: none;"/>
    <input type="text" id="states" name="states" style="display: none;"/></span>
    </span>
    <span id="button">
    <input type="submit" value="查询" class="select"/>
    <input type="reset" value="重置" class="select"/>
    <input type="button" value="人员报表" class="select"/>
    </span>
    </form>
    <br>
    <div id="peo_info" style="height: 259px;">
    <table  style="width: 99%;">
    <tr><td>人员名称</td><td>人员编号</td><td>所属部门</td><td>所属工种</td><td>职务</td><td>启用状态</td><td><a href="Personnel_add.jsp">【添&nbsp;&nbsp;&nbsp;&nbsp;加】</a></td></tr>
     <c:forEach items="${list}" var="i"  varStatus="status">
     <c:if test="${status.index % 2 == 0}">
     <tr style="background-color: white"><td class="list_p">${i.name}</td><td class="list_p">${i.number}</td><td class="list_p">${i.part}</td><td class="list_p">${i.kinds}</td><td class="list_p">${i.duty}</td><td class="list_p">${i.state}</td><td class="list_p"><a href="/Socket/Person_edit?name=${i.name}&&number=${i.number}">【编辑</a>|<a  href="/Socket/Person_delete?name=${i.name}&&number=${i.number}">删除</a>】</td></tr>
     </c:if>
     <c:if test="${status.index % 2 == 1}">
     <tr style="background-color: #f2f7fa"><td class="list_p">${i.name}</td><td class="list_p">${i.number}</td><td class="list_p">${i.part}</td><td class="list_p">${i.kinds}</td><td class="list_p">${i.duty}</td><td class="list_p">${i.state}</td><td class="list_p"><a href="/Socket/Person_edit?name=${i.name}&&number=${i.number}">【编辑</a>|<a href="/Socket/Person_delete?name=${i.name}&&number=${i.number}">删除</a>】</td></tr>
     </c:if>
     </c:forEach>
     <tr><td>
     <a href="<%=request.getAttribute("address") %>?currentpage=${cpage-1}&&sqls=<%=request.getParameter("sql")%>">上一页</a></td><td>第${cpage}页</td><td><a href="<%=request.getAttribute("address") %>?currentpage=${cpage+1}&&sqls=<%=request.getParameter("sql")%>">下一页</a></td><td>总共<%=request.getAttribute("all") %>页</td></tr>
    </table>
    </div>
    </div>

     

    展开全文
  • sql中查询日志表中的数据通过表中的某个字段中的某个进行筛选SQL select * from sys_log where params like ‘%值%’ and ROWNUM <= 10 ORDER BY create_date desc;

    sql中查询日志表中的数据通过表中的某个字段中的某个值进行筛选SQL
    select *
    from sys_log
    where params like ‘%值%’ and ROWNUM <= 10 ORDER BY create_date desc;

    展开全文
  • 数据库筛选指定表

    千次阅读 2019-06-14 14:08:47
    适用于数据量比较大,数据按年度或者月度纵向分表存储的情况。在查询数据的时候,通常存在跨表查询的情况。 /** * 根据起始时间查询所有涉及的表 * 如果没有起始时间,则统计所有的air_data_****表,并返回 ...

    适用于数据量比较大,对数据按年度或者月度纵向分表存储的情况。在查询数据的时候,通常存在跨表查询的情况。

    /**
    	 * 根据起始时间查询所有涉及的表
    	 * 如果没有起始时间,则统计所有的air_data_****表,并返回
    	 * @param startedDate
    	 * @param endDate
    	 * @return
    	 */
    	private List<String> getTables(String startedDate,String endDate){
    		String pre = "gk_device_data_" ;
    		//查询指定数据库中所有的表
    		String sql = "SELECT TABLE_NAME FROM information_schema.`TABLES` WHERE TABLE_SCHEMA = '"+ PropertiesUtil.getConnectedDatabaseName() +"'" ;
    		List<Object> oList = excuteQuery(sql);
    		List<String> tlist = new ArrayList<String>();
    		for (Object obj : oList) {
    			String tableName = (String) obj ;
    			if (tableName.contains(pre)) {
    				tlist.add(tableName);
    			}
    		}
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    		List<String> list = new ArrayList<String>();
    		try {
    			Date d1 = sdf.parse(startedDate);
    			Date d2 = sdf.parse(endDate);
    			Calendar cal1 = Calendar.getInstance();
    			Calendar cal2 = Calendar.getInstance();
    			cal1.setTime(d1);
    			cal1.set(Calendar.DAY_OF_MONTH, 1);
    			cal2.setTime(d2);
    			cal2.set(Calendar.DAY_OF_MONTH, 2);
    			while (cal1.before(cal2)) {
    				int m = cal1.get(Calendar.MONTH)+1;
    				String tableName = pre + cal1.get(Calendar.YEAR) + "" + ((m< 10)?("0"+m):m);
    				list.add(tableName);
    				cal1.set(Calendar.MONTH, m);
    			}
    		} catch (ParseException e) {
    			e.printStackTrace();
    		}
    		return list ;
    	}
    
    展开全文
  • 原文标题:在SSMS(2008)中对数据库对象进行搜索和筛选 原文发表:2009/4/28 0:51:00 我记得在两年前讲SQL Server 2005的课程的时候,有一个朋友提出了这么一个疑问:我的数据库里面的存储过程非常多,有没有...
    该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明!

    陈希章

    原文地址:http://www.cnblogs.com/chenxizhang/archive/2009/04/28/1444984.html
    原文标题:在SSMS(2008)中对数据库对象进行搜索和筛选
    原文发表:2009/4/28 0:51:00

    我记得在两年前讲SQL Server 2005的课程的时候,有一个朋友提出了这么一个疑问:我的数据库里面的存储过程非常多,有没有什么办法快速定位到我想要的存储过程,除了一个一个去找之外。

    虽然看起来不怎么起眼,但当时确实没有很好的办法做这个事情。我们当时想到的思路就是开发一个能嵌入在SSMS里面的插件,用编程的方式来实现

    如果想要了解如何开发一个插件让它配合SSMS一起工作,你可以参考下面这个例子

    http://ssmsallocation.codeplex.com/

     

    但这个功能在SSMS 2008中有所提供,从两个方面可以实现

    1. 搜索

    选中某个数据库之后,按F7,可以看到一个所谓的“对象资源管理器详细信息”的选项卡页面。顶部有一个搜索框,输入你要检索的对象名称,即可完成搜索. 关键字支持通配符。%表示通配任意多个的任意字符。_表示通配一个任意字符

    image

    2. 筛选

    在某个文件夹上面点击右键,选择筛选=》筛选设置

    image

    image

    作者:陈希章
    出处:http://blog.csdn.net/chen_xizhang
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    展开全文
  • sql通过游标遍历某个数据库中所有的表,按某种需求筛选出对应的记录 运行环境: SQL SERVER   DECLARE @Name nvarchar(255),@Sql nvarchar(4000) DECLARE TName CURSOR FOR SELECT [name] FROM sysobjects...
  • 关键:选中显示所有事件、显示所有列,然后通过DatabaseName 筛选数据库名称为Ecology的数据库, TextData 筛选文本中包含表名T_Plant2的内容,%%用于模糊查询。 这时候执行某条 sql,例如:select * from T_Plants...
  • 参考地址:https://jingyan.baidu.com/article/fa4125ac00a5d328ac70929d.html 1 快速查找你所需要的表 2 筛选表中数据 3 ctrl +h 导出历史日志
  • oracle数据库知识点! 1.在查询中过滤行! select * from employees --查询employees表(员工表)的所有列的所有数据(这里没有加where条件,所以是查询所有行,*号表示显示所有的列) select employee_id, first_...
  • SELECT TABLE_NAME as '表名', COLUMN_NAME as '列名',COLUMN_COMMENT,DATA_TYPE as '字段类型' ,COLUMN_TYPE as '长度加类型' FROM information_schema.`COLUMNS` where TABLE_SCHEMA='smarthos_ty' order by TABLE...
  • 首先自行创建一个School数据库,并添加一个...我们对数据库的操作封装成一个类,便于以后操作直接调用。 创建一个OperaData类: public class OperaData { SqlConnection conn = null;//定义连接的全局变量 S...
  • MySQL 数据库sql语句用关键字作为where条件进行筛选实例演示,mysql建表、查询字段为关键字解决方法。 只要把关键字用反引号包上就好了,反引号可以通过 Tab 上的键打出来。 我用 where 这个关键字做实例。
  • Oracle数据库中查询某个时间段的数据
  • mongodb数据库某个表内有多个字段,其中4个字段为属性值,要求删除4个属性值完全相同的数据,例某两条数据的c1,c2,c3,c4四个属性各自一 一对应且相同,要求只保留最新的一条,请问用Mongodb语句该如何操作,目前...
  • select * from sys.objects where type_desc='USER_TABLE' order by name...至于用户建数据库名,在master系统数据库的sys.databases视图里用database_id>6来筛选,name字段所示即为数据库名。      
  • 根据某个字段来查询筛选数据

    千次阅读 2019-07-28 20:36:23
    根据某个字段来查询筛选数据 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:Visual Studio 作者:李继金 撰写时间:2019年7月24日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...
  • 求ACCESS VBA数据库编程代码:ACCESS (OFFICE 365家庭版) 在窗体中进入某个字段,出现一个查询向导,我要编写一些代码使查询向导的第二列按照某个筛选
  • ![图片说明](https://img-ask.csdn.net/upload/201707/05/1499236552_198579.png) 请问怎么匹配这个字段含有的31字符的记录
  • 数据库MySQL详解

    万次阅读 多人点赞 2018-07-24 20:03:47
    查看某个数据库的定义的信息: show create database 数据库名; 例如: show create database day21_1; 删除数据库 drop database 数据库名称; 例如: drop database day21_2; 其他的数据库操作命令 切换数据库: ...
  • 这里写自定义目录标题mysql使用group by分组后筛选某个值最大的一列其他解决方案: mysql使用group by分组后筛选某个值最大的一列 今天在mysql使用group希望group by之后根据某个字段的最大值找出那一列,先看下表...
  • Django获取数据库数据时根据id筛选

    千次阅读 2019-04-26 11:50:00
    filter(id__in=models.Teacher.objects.all()[0:5]) teacher_list = models.Teacher.objects.filter(id__in=models.Teacher.objects.all()[0:5]).values('id', 'name', 'cls__id', 'cls__caption') ...
  • sqlite数据库-查询某个区间的数据

    千次阅读 2011-12-31 12:21:15
    数据库中有一表名为Table1,内有一列为Date型数据birthday生日,现需要查询某个时间段内生日的人,可使用的方法:  1、用SQL语句为   SELECT * FROM TABLE1 WHERE BIRTHDAY BETWEEN '2000-01-01' AND '2000-...
  • 遍历数据库查找某个字符串

    千次阅读 2006-12-20 08:28:00
    --从字段为char,nchar,varchar,nvarchar,text,ntext中筛选字符串"9999":create table #cc(ss int)create table #bb(tablename varchar(100),colname varchar(100))declare @count int,@tablename varchar(100),@c
  • 使用C#Excel文件进行内容筛选

    千次阅读 2019-06-28 16:45:37
    一个使用C#编写的小工具,指定文件夹下的所有Excel文件进行筛选,如果一个文件中含有某个指定的字符串,记录该文件,并且定位这个字符串出现的位置。 网上使用C#Excel文件进行读写的方法主要有四种: (1)...
  • SELECT * FROM information_schema.columns WHERE column_name='brand_id'; TABLE_SCHEMA字段为db的名称(所属的数据库),字段TABLE_NAME为表的名称。
  • 数据库

    千次阅读 2007-10-24 08:27:00
    数据库之路——从关系演算到数据立方作者:WangQingDa...计算机软件理论(Master)仅以此文献给我自己,以及对数据库理论和实践感兴趣的并具备足够的耐心阅读它的诸位朋友。数据库对于任何学习计算机专业的人来说都是基
  • 可以在动态sql中拼接如下代码 <foreach item='item' index='index' collection='infos' open='(' separator=',' close=')'> #{item} </foreach>
  • #最后一步获取更新的ID记录到TXT def record(): db =pymysql.connect('远端数据库IP', '用户', '密码', '库',端口,charset='utf8') cursor = db.cursor() sql= "select id from t_sqapp_newuser_flow order by ...
  • 数据库学习】数据库总结

    万次阅读 多人点赞 2018-07-26 13:26:41
    1,数据库 1)概念 数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 常见数据库管理系统有:Access、mysql、sql server 2)特点 ①数据库数据特点 永久存储、有组织...
  • 准备工作:cmd进入运行 输入mongo 查看全部数据库: show dbs 选择切换/创建某一个数据库: use (数据库的名字) 在数据库中创建一个wangjihao集合: db.wangjihao ...在选中的数据库中创建一个...筛选查找 wa...
  • 实时数据库与时序数据库

    千次阅读 多人点赞 2020-11-18 10:40:39
    1、概述 在工业大数据数据库存储领域,除了传统的关系型数据库和分布式数据库以外,还有一种类型的数据库是非常常用...实时数据库最起初是基于先进控制和优化控制而出现的,数据的实时性要求比较高,因而实时、高效

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,820
精华内容 22,728
关键字:

对某个数据库进行筛选后