精华内容
下载资源
问答
  • 数据库中无数据时查询数据为空,出现空指针异常的解决方案
    万次阅读
    2019-11-04 22:21:48

    数据库和表都建好了,但是表中还没有写入数据,查询的时候出现了空指针异常的错误。

    异常类型:java.lang.NullPointerException

    解决方案:

    我用的解决方法是使用try、catch,例如下代码,但实际这样写是不规范的仅供参考。因为我们通常要在catch语句块里做处理的,不能只是在控制台输出就不管了

    try{  
       hotelImageList = ihotelImgManager.query(hiqc);  
      }catch(Exception e){  
       System.out.println("无数据");  
      }  
    
    更多相关内容
  • 需要jsp上实现查询数据库的表格(就是通过用户输入查询表格)总体的思路:1.首先用户jsp输入需要查询的对象并...4.Servlet接收数据库查询到的信息。5.再通过跳转跳转到一个新的jsp页面,并页面输出...

    需要在jsp上实现查询数据库的表格(就是通过用户输入查询表格)

    总体的思路:

    1.首先用户在jsp中输入需要查询的对象并跳转Servlet。

    2.Servlet在后台接收到数据。

    3.Servlet与数据库建立连接,并且在Servlet输入  sql代码与用户输入的信息  去查询Mysql数据库里的表格。

    4.在Servlet中接收数据库查询到的信息。

    5.再通过跳转跳转到一个新的jsp页面中,并在页面中输出查询出来的表格。

    总体上的思路已经写明了,那么接下来我们就按照步骤一步一步往下做。

    我们需要的有:

    一个用于输入的jsp页面 ,

    一个用于建立连接和接收数据的Servlet,

    一个用于打印数据的jsp页面

    一.首先写一个用于接收用户数据的表单

    Insert title here

    这里的FirstSql是连接到下面的Servlet的

    输入框

    提交表单按钮

    效果如下

    1257c6fa34ef1414107ed0280ad4b480.png

    二.创建一个Servlet

    首先这里需要mysql数据库的数据,在Navicat中编写sql代码获取数据表格

    SELECT student.`name`,contact_desc.`desc`,contact_ext.contact

    FROM student

    JOIN contact_ext ON contact_ext.idcard=student.idcard

    JOIN contact_desc ON contact_desc.contact_type=contact_ext.contact_type

    WHERE student.idcard=;(这里需要查询的ID暂时不写,是需要用户输入的)查询以后的结果是这样的

    386714892a3a1cdf5ce0de342b9b02ec.png

    然后编写创建Servlet

    package com.servlet;

    import java.io.IOException;

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.ResultSet;

    import java.sql.Statement;

    import java.util.ArrayList;

    import java.util.HashMap;

    import java.util.List;

    import java.util.Map;

    import java.util.Scanner;

    import javax.servlet.ServletException;

    import javax.servlet.annotation.WebServlet;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    @WebServlet("/FirstSql")

    public class FirstSql extends HttpServlet{

    private static String jdbcDriver = "com.mysql.jdbc.Driver";// mysql连接驱动,无需改

    public static String jdbcUrl = "jdbc:mysql://localhost:3306/zdy";

    public static String jdbcUser = "root";//数据库用户名

    public static String jdbcPwd = "1111";//数据库密码

    private static Connection conn;

    public static Statement st;

    static {

    try {

    Class.forName(jdbcDriver);// 加载mysql驱动类

    conn = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPwd);

    // 驱动利用驱动地址,数据库用户名,密码创建连接

    st = conn.createStatement();

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    //以上基本是固定格式的

    protected void service(HttpServletRequest request, HttpServletResponse response) //

    throws ServletException, IOException {

    Listlist =new ArrayList();//创建list集合用于存入map的键值对集合

    String idcard_w = request.getParameter("idcard_w");//接收到前台传来的数据

    System.out.println(idcard_w);

    try {

    String sql ="SELECT student.`name`,contact_desc.`desc`,contact_ext.contact\r\n"+

    "FROM student\r\n"+

    "JOIN contact_ext ON contact_ext.idcard=student.idcard\r\n"+

    "JOIN contact_desc ON contact_desc.contact_type=contact_ext.contact_type\r\n"+

    "WHERE student.idcard="+idcard_w;

    //复制之前的sql代码 每行必须要转换为字符串然后加上换行符

    //idcard_w是用户传入的数据用于查询用户需要的信息

    ResultSet rs = st.executeQuery(sql);

    //从数据库读取的内容,返回一个结果集。

    System.out.println("获取数据");

    while (rs.next()) {

    String name = rs.getString("name");

    String desc = rs.getString("desc");

    String contact = rs.getString("contact");

    //获取用循环接收数据库的表格信息

    Map map = new HashMap();

    map.put("name", name);

    map.put("desc", desc);

    map.put("contact", contact);

    //用键值对存入到map集合中

    System.out.println(map);

    list.add(map);//在将map集合对象存入list集合

    System.out.println("放入集合");

    for (Map map_1 :list) {

    System.out.println(map_1);

    }//在打印台遍历出数据查看是否有错误

    }//遍历结果集

    } catch (Exception e) {

    e.printStackTrace();

    }

    System.out.println("跳转");

    request.setAttribute("key_list",list);//将list集合数据放入到request中共享

    request.getRequestDispatcher("/index.jsp").forward(request, response);

    //跳转到index.jsp页面

    }

    }

    三.跳转到的index.jsp中,将表格打印出来

    Insert title here

    name

    desc

    contact

    ${usr.name}${usr.desc} ${usr.contact}

    到这里程序已经基本完成,剩下就是测试了

    在这里输入1提交

    1257c6fa34ef1414107ed0280ad4b480.png

    页面则会跳转到如下界面

    d156f58db4bca3941b1b16ba7c7538a1.png

    如果提交2的话

    ff398f83a9e816ac338757f2aadb4ca5.png

    展开全文
  • SQL Server如何查看表的数据内容

    千次阅读 2021-02-11 23:31:12
    数据库管理工具可以很直观查询数据库储存的数据,如...第一次接触时我也是费很大劲才弄明白,这里把SQL Server如何查看表的数据内容方法记录下来,给小伙伴们少走弯路。1、打开SQL Server 2008;2、右侧...

    数据库管理工具可以很直观查询到数据库储存的数据,如phpMyAdmin只可以直接打开MySQL数据库的表,直接查看其中的内容。但是Mssql数据即使用SQL Server数据库管理工具也很难直观地看到表中保存的数据,需要输入命令才行。第一次接触时我也是费很大劲才弄明白,这里把SQL Server如何查看表的数据内容方法记录下来,给小伙伴们少走弯路。

    1、打开SQL Server 2008;

    0658b5bcf1324d024c73498872a33095.png

    2、在右侧的对象资源器选中需要查询的mssql数据库,点击菜单栏”新建查询”;

    150920b38a4b689b9e51212d475a6950.png

    3、在新打开的窗口输入:

    select * from 表名

    表名就是你要查询数据的表,如我要查询表:”NJSQAdmin”的数据,则输入:

    select * from NJSQAdmin

    如下图:

    19a7210150cc2119f7ee78e8c3349831.png

    4、点击执行,就可以看到表的数据。如:NJSQAdmin表是保管网站管理员账号和密码数据的表,查询后我们可以看到对应的数据。

    4cc6b68c1a20954963f14381a934c9fb.png

    当然查询需求的不同,输入的命令也不同。这里只是对SQL Server如何查询表数据的简单展示,后面的增进及需求,则需要自己另行百度查找学习了。

    展开全文
  • 我们在查询数据库,如果没有设置数据重复性校验,可能会插入重复的数据项,那么针对这些重复的数据项可能存在脏数据,Mysql去除重复性,重复数据处理,MySQSL去重

    前言

      我们在查询数据库表中,如果没有设置数据重复性校验,可能会插入重复的数据项,那么针对这些重复的数据项可能存在脏数据,当然如果在设计时考虑到并且业务允许重复数据那么这些数据就是有效数据。面对不同的业务逻辑,这些重复数据的处理方式也是不同的,那么本文将简单汇总一下MySQL中重复数据处理的一些方法。

    测试数据表

      测试使用数据表s_user

    CREATE TABLE `s_user` (
      `userid` int(11) NOT NULL AUTO_INCREMENT,
      `nick_name` varchar(50) DEFAULT NULL,
      `name` varchar(255) DEFAULT NULL,
      `email` varchar(50) NOT NULL COMMENT '邮箱',
      `pass_word` varchar(255) DEFAULT NULL,
      `state` tinyint(3) DEFAULT NULL,
      `create_time` datetime DEFAULT NULL,
      PRIMARY KEY (`userid`)
    ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
    

      测试使用数据

    INSERT INTO `test`.`s_user` ( `userid`, `nick_name`, `name`, `email`, `pass_word`, `state`, `create_time` )
    VALUES
    	( 1, '小米', '小米', '1@qq.com', '123123', 1, '2022-02-10 19:48:43' );
    INSERT INTO `test`.`s_user` ( `userid`, `nick_name`, `name`, `email`, `pass_word`, `state`, `create_time` )
    VALUES
    	( 2, '小白', '小白1', '23@qq.com', '123123', 1, '2022-02-10 19:48:43' );
    INSERT INTO `test`.`s_user` ( `userid`, `nick_name`, `name`, `email`, `pass_word`, `state`, `create_time` )
    VALUES
    	( 3, '小白', '2小白', '45@qq.com', '123123', 1, '2022-02-10 19:48:43' );
    INSERT INTO `test`.`s_user` ( `userid`, `nick_name`, `name`, `email`, `pass_word`, `state`, `create_time` )
    VALUES
    	( 4, '小红', '小红', '67@qq.com', '123', 1, '2022-02-15 19:48:43' );
    INSERT INTO `test`.`s_user` ( `userid`, `nick_name`, `name`, `email`, `pass_word`, `state`, `create_time` )
    VALUES
    	( 5, '小黄', '小黄', '89@qq.com', '123', 1, '2022-02-15 20:48:43' );
    INSERT INTO `test`.`s_user` ( `userid`, `nick_name`, `name`, `email`, `pass_word`, `state`, `create_time` )
    VALUES
    	( 6, '小白', '小白3', '10@qq.com', '123', 1, '2022-02-15 21:48:43' );
    INSERT INTO `test`.`s_user` ( `userid`, `nick_name`, `name`, `email`, `pass_word`, `state`, `create_time` )
    VALUES
    	( 7, '小米', '小米1', '11@qq.com', '123123', 1, '2022-02-10 19:48:43' );
    INSERT INTO `test`.`s_user` ( `userid`, `nick_name`, `name`, `email`, `pass_word`, `state`, `create_time` )
    VALUES
    	( 8, '小张', '小张', '123@qq.com', '123123', 1, '2022-02-10 19:48:43' );
    

    图片.png

    查询重复数据

      示例:测试数据中有很多nick_name昵称重复的数据,那么我们需要查询出nick_name重复的数据。基本执行思路如下:

    1、首先定义需要查询的重复的列

    2、使用GROUP BY对重复的列进行分组

    3、使用HAVING查询出数量大于1的数据

    4、可以与查询条件WHERE、Order By排序等一起使用

    查询重复数据SQL如下:

    SELECT * FROM `s_user` GROUP BY nick_name HAVING(COUNT(nick_name))>1

      执行查询重复数据SQL结果如下图:

    图片.png

    统计重复数据

      示例:统计数据表s_usernick_name昵称重复的昵称名称和数量。

      分析如下:

    1、需要查询的重复字段为nick_name

    2、需要显示姓名和数量,使用GROUP BY分组查询姓名,查询数量使用COUNT()函数进行数量统计

      统计重复数据SQL如下:

    SELECT nick_name,COUNT(nick_name) as nick_name_sum; FROM `s_user` GROUP BY nick_name
    

    执行统计重复数据SQL结果如下图:

    图片.png

    过滤重复数据

      在某些业务场景中,不需要出现重复数据,如果数据库中出现了重复数据,需要进行过滤,也就是去除重复数据,我们可以使用GROUP BY或DISTINCT 关键字进行重复数据去除。

      示例:将数据表s_usernick_name昵称重复的昵称名称去除,只显示一个相同昵称的数据。

      使用GROUP BY进行去除指定字段重复数据SQL如下:

    SELECT * FROM `s_user` GROUP BY nick_name;
    

    使用GROUP BY进行去除指定字段重复数据SQL执行结果如下:

    图片.png
    使用DISTINCT 关键字进行去除指定字段重复数据SQL如下:

    SELECT DISTINCT nick_name FROM `s_user`;
    

    使用DISTINCT 关键字进行去除指定字段重复数据SQL执行结果如下:

    图片.png

    删除重复数据

      在某些场景中,数据库表中不能有重复的数据,那么需要将数据清洗一下,删除那些重复的数据再进行其他操作。

      示例:将数据表s_usernick_name为小米的userid较小的数据删除。

      分析

    1、需要查询的字段是nick_name,进行分组,并且查询出userid不是最大的id的。

    SELECT * FROM `s_user` WHERE userid in (SELECT MAX(userid) FROM `s_user` GROUP BY nick_name) AND nick_name="小米"
    

    2、将userid不是最大的userid的数据执行删除操作,可以看到要删除userid为1的数据。

    DELETE FROM `s_user` WHERE userid NOT in (SELECT * FROM (SELECT MAX(userid) FROM `s_user` GROUP BY nick_name)as a) AND nick_name="小米"
    

      执行SQL

    图片.png

      再次执行查询所有数据,可以看到用户昵称为”小米“的userid较小的数据已经删除,只保留了最大的数据。

    SELECT * FROM `s_user`
    

    图片.png

    防止重复数据

      在数据库设计初期,如果已经明确数据库表中禁止存在重复数据字段,那么在设计初期可以对重复数据进行校验和限制。

      方式一:使用主键或者唯一索引的方式进行限制,如果插入重复的数据时,SQL将无法插入数据成功并抛出异常。这是从数据库层面防止重复数据。如果不需要抛出异常,则在插入数据库的时候应使用INSERT IGNORE INTO进行数据保存,如果将要插入的数据不存在,则直接插入数据库,如果插入的数据已经存在则直接跳过这条数据。

      方式二:也可以在业务逻辑中进行重复数据校验,插入之前对可能重复的字段信息进行校验,如果已经存在,提示用户数据已经存在,修改后再保存。

    结语

      好了,以上就是在MySQL查询数据库中,重复数据处理问题汇总,感谢您的阅读,希望您喜欢,如对您有帮助,欢迎点赞收藏。如有不足之处,欢迎评论指正。下次见。

      作者介绍:【小阿杰】一个爱鼓捣的程序猿,JAVA开发者和爱好者。公众号【Java全栈架构师】维护者,欢迎关注阅读交流。

    展开全文
  • C# 连接SQL Sever 数据库数据查询实例 数据仓库

    万次阅读 多人点赞 2021-05-15 16:44:11
    大数据时代编程可能需要用到一些文本内容,不可能全部写到代码里,不好更改,用户也不方便使用 所以需要用到我们的数据库来保存这些数据,直接更改数据 SQL: 下载地址:...
  •  SqlConnection con = null; //创建SqlConnection 的对象  try //try里面放可能出现错误的代码  {  string str = "data source=.;initial catalog=数据库名称;user ID=登录名;pwd=密码;...
  • 索引是提高数据查询最有效的方法,也是最难全面掌握的技术,因为正确的索引可能使效率提高10000倍,而无效的索引可能是浪费了数据库空间,甚至大大降低查询性能。 索引的管理成本 1、存储索引的磁盘空间 2、...
  • 数据库查询指定行的数据

    千次阅读 2019-06-12 09:19:40
    各种不同数据库查询前几行/后几行的sql语句 SqlServer select top 10 * from tablename; Informix select first 10 * from tablename; Oralce select * from tablename where rownum<=10; MySql...
  • Java操作数据库查询数据

    万次阅读 2019-06-08 12:23:11
    Java操作数据库查询数据的大概流程: 1)创建数据库连接(这里用的是MySQL数据库) private static String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test"; //数据源(mysql)的...
  • select table_name,table_rows from information_schema.tables where TABLE_SCHEMA = '数据库名称' order by table_rows desc;   转载于:https://www.cnblogs.com/yulongcode/p/11395928.html...
  • 查询时序数据库中数据

    千次阅读 2017-07-17 21:00:31
    查询数据的使用场景时序数据库主要的使用场景就是管理机器运行的实时数据和其他场景的时序数据。而查询机器运行的历史数据和实时数据,分析数据背后的趋势和规律,为企业的设备运营提供参考和决策建议,以提高企业...
  • 我的resultMap已经将数据库中的字段转成了驼峰格式,而我的SQL语句又手动转了驼峰格式,导致两个地方发生了冲突,我们只要把resultMap或者sql语句的名字转换删除一方即可。 总结:问题所在:
  • 快速判断一条数据是否在数据库中

    千次阅读 2020-07-31 16:21:30
    一、 获取数据库中所有的数据在进行判断,用in判断是否返回的结果,这种方法类似于下面这种场景: s_list = [i for i in range(100000)] a = 9999 if a in s_list: print(1) else: print(2) 如果数据是少量...
  • 1.对于数据库中数据,但是查询不到的问题,这里可能有几种问题如下: 1.可能出现类型不匹配的问题: 例如数据库中存储的是int类型的值,前端传递过来的是string类型的值,所以查询不到匹配的数据, 2.可能是出现了...
  • 在数据库如何对表进行查询

    千次阅读 2021-05-08 08:18:56
    想要在数据库里对表进行增删查改的操作的话,首先需要在数据库里要有表有数据(下面将会用数据库的随便一张表做查询操作)。第一步打开数据库,点击菜单栏下的属性栏里的“新建查询”按钮,然后会弹出来一个新的窗体...
  • testQuery.wxml <view class="guide"> <text class="headline"></text> <text class="p"></text>... 点击查询按钮</text> <button size="mini" type="defau
  • //需要两个jar包,一个连接接数据库(mysql-connection-java-5.1.7-bin.jar),一个关于json(json.jar),网上一搜就找到了, import java.sql.Connection; import java.sql.DriverManager; import java.sql....
  • ssm框架下,怎么将从数据库查询到的数据显示table表格??
  • ; charset=UTF-8" pageEncoding="UTF-8"%> List list=new ArrayList(); Connection con=null; ResultSet rs=null; Statement stmt=n
  • QT查询数据库中数据在tableview显示

    万次阅读 多人点赞 2016-06-04 21:49:06
    2、查询数据显示到tableview void MainWindow::selectBoxSlot()//查询箱子状态 { bool ok=db.open(); if(ok) { QSqlQueryModel *model = new QSqlQueryModel(ui->tableView); model->setQuery(QString(...
  • 通过Python查询数据库信息

    千次阅读 2020-11-24 09:52:59
    使用pymysql驱动访问数据库,所以前提要装好了pymysql。(可通过pip install pymysql安装)#-*- coding:utf-8 -*-import pymysql#连接数据库connection=pymysql.connect(db='数据库库名', user='用户名', password='...
  • HTML页面,ajax是基于id的... 拿到的数据会显示这里 <div id="test"></div> ajax代码: $(document).ready(function() { $.ajax({ url : "admin/get_banji.php",//后台请求的数据,用的是PHP ...
  • #注意,我这里只是把查询出来的第一列数据保存到结果了,如果是多列的话,稍微修改下就ok了 except Exception as e : print ( 'Error msg: ' + e ) finally : cur . close ( ) conn . close ( )...
  • 数据库实验报告 数据查询

    万次阅读 2018-06-17 22:29:16
    桂 林 理 工 大 学实 验 报 告班级 软件2班 学号 3162052051734 姓名 梁振宇 同组实验者 实验名称 数据查询 日期 2018年 06 月05 日 一、实验目的:1. 观察查询结果, 体会SELECT语句实际应用;2. 要.....
  • 如何快速定位查询某个特定内容在数据库哪个表哪个字段 ** 通过以下存储过程可以快速搜到指定内容在指定数据库里哪个表哪个字段 注意“执行”前需先在数据库左上角选择好你要搜索的数据库 declare @zifu ...
  • Android Studio添加动态的数据库Database Inspector来可视化操作数据库 二、使用步骤 1.添加插件Database Inspector import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as ...
  • 数据库中数据字典的理解

    万次阅读 2019-06-03 20:26:48
    最近数据库设计大作业,要从零开始设计一个小规模的数据库,画完E-R图之后给老师检查,老师说我需求分析做的不好,没有体现业务流程,数据字典也不完整,要把数据字典完整的表示出来,流程也不能少。这下把我整...
  • 在数据库技术,用数据模型的概念描述数据库的结构和语义,是对现实世界的数据抽象。数据模型是研究数据库技术的核心和基础。 文章目录1.概念数据模型(CDM)2.逻辑数据模型(LDM)3.物理数据模型(PDM) 1.概念...
  • 思路:要插入的数据最后加上&lt;br&gt;例:insert into table_name(name) values("XiaoBai&lt;br&gt;DaBai")

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 853,397
精华内容 341,358
关键字:

怎么在数据库中查询数据内容