20155322 《Java程序设计》课堂实践项目 数据库-3-4
20155322 《Java程序设计》课堂实践项目 数据库-3-4
数据库-3
实践要求
- 参考教材代码完成下面的要求,提交能连接到world的截图(有学号水印),并提交代码的码云链接。查询world数据库,获得New Jessey州所有城市的总人口数。
实践步骤
我并没有在MessageDAO上修改,而是直接在之前的Demo上加入了:
Statement stmt = conn.createStatement(); //创建Statement对象
String sql = "SQL语句"; //要执行的SQL
ResultSet rs = stmt.executeQuery(sql);//创建数据对象
SQL:
SELECT sum(Population) FROM `city` WHERE District= 'New Jersey'
然后使用rs.getString
将数据打印出来:
if(rs.next());
System.out.println(rs.getString(1));
实践中遇到的问题
运行时抛出:java.sql.SQLException: Before start of result set错误
这个错误的原因是因为ResultSet对象代表SQL语句执行的结果集,维护指向其当前数据行的光标。每调用一次next()方法,光标向下移动一行。最初它位于第一行之前,因此第一次调用next()应把光标置于第一行上,使它成为当前行。随着每次调用next()将导致光标向下移动一行。在ResultSe对象及其t父辈Statement对象关闭之前,光标一直保持有效。所以使用rs.getString();前一定要加上rs.next();
参考资料
在加上if(rs.next());
之后,就没问题了。
实践代码
/**
* Created by mac on 2017/6/7.
*/
import static java.lang.System.out;
import java.sql.*;
public class Connection02 {
public static void main(String[] args)
throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
String jdbcUrl = "jdbc:mysql://localhost:3306/world";
String user = "root";
String passwd = "";
try (Connection conn =
DriverManager.getConnection(jdbcUrl, user, passwd)) {
out.printf("已%s数据库连接%n", conn.isClosed() ? "关闭" : "打开");
Statement stmt = conn.createStatement(); //创建Statement对象
String sql = "SELECT sum(Population) FROM `city` WHERE District= 'New Jersey'"; //要执行的SQL
ResultSet rs = stmt.executeQuery(sql);//创建数据对象
//System.out.println("ID" + "\t"+"\t" + "Name" +"\t"+ "\t" + "CountryCode"+ "\t"+"\t" + "Distridt" + "\t"+"\t" + "Population");
//int count = 0;
/*while (rs.next()) {
System.out.print(rs.getInt(1) + "\t"+"\t");
System.out.print(rs.getString(2) + "\t"+"\t");
System.out.print(rs.getString(3) + "\t"+"\t");
System.out.print(rs.getString(4) + "\t"+"\t");
System.out.print(rs.getString(5) + "\t"+"\t");
System.out.println();
count++;
}*/
if(rs.next());
System.out.println(rs.getString(1));
//System.out.printf("There are all %d answers",count);
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
20155322 《Java程序设计》课堂实践项目 数据库-3-4的更多相关文章
- 《Java 程序设计》课堂实践项目-数据库
<Java 程序设计>课堂实践项目数据库 课后学习总结 目录 数据库实验要求 课堂实践成果 课后思考 由于担心做的不好,找同学询问了数据库的问题,学习了数据库的连通,补写的这篇博客.这是补 ...
- 《Java 程序设计》课堂实践项目汇总链接
1.<Java 程序设计>课堂实践项目-命令行参数 2.<Java 程序设计>课堂实践项目-mini dc 3.<Java 程序设计>课堂实践项目-Arrays和S ...
- 20155322 《Java程序设计》课堂实践项目MyOD
20155322 <Java程序设计>课堂实践项目MyOD 实践要求 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 提交测试代码和 ...
- 《Java 程序设计》课堂实践项目 课后学习总结
<Java 程序设计>课堂实践项目 课后学习总结 String类的使用(sort) 目录 Linux命令(sort) 课堂实践 课后思考 学习老师的代码之后的思考:int与Integer ...
- 《Java 程序设计》课堂实践项目-类定义
<Java 程序设计>课堂实践项目类定义 课后学习总结 目录 改变 类定义实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改. ...
- 《Java 程序设计》课堂实践项目-简易计算器
<Java 程序设计>课堂实践项目简易计算器 课后学习总结 目录 改变 简易计算器实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有 ...
- 《Java 程序设计》课堂实践项目-Arrays和String单元测试
<Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布 ...
- 20155308 2016-2017-2《Java程序设计》课堂实践项目
20155308 2016-2017-2<Java程序设计>课堂实践项目 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅 ...
- # 20155308 2016-2017-2《Java程序设计》课堂实践项目 5月17日
20155308 2016-2017-2<Java程序设计>课堂实践项目 5/17 本次因为git出现了问题,所以没有按时提交我的代码 问题一 在IDEA中对P145 MathTool.j ...
随机推荐
- jq给同一元素绑定多个事件
$(".aa").on("click",function(){ alert(1) }).on("mousemove",function(){ ...
- FZU-1608 Huge Mission 线段树(更新懒惰标记)
题目链接: https://cn.vjudge.net/problem/FZU-1608 题目大意: 长度n,m次操作:每次操作都有三个数:a,b,c:意味着(a,b]区间单位长度的价值为c,若某段长 ...
- JAVA中正则表达式学习总结
一.JAVA中正则表达式相关的类 1. java.util.regex.Pattern 该类用于编译模式,模式可以理解为一个正则表达式,比如:a*b. 用法如下: // 创建模式 Pattern p ...
- python with原型
@Python 的 with 语句详解 这篇文章主要介绍了Python 的 with 语句,本文详细讲解了with语句.with语句的历史.with语句的使用例子等,需要的朋友可以参考下 一. ...
- 1968. [AHOI2005]约数研究【数论】
Description Input 只有一行一个整数 N(0 < N < 1000000). Output 只有一行输出,为整数M,即f(1)到f(N)的累加和. Sample Input ...
- [HNOI2010]公交线路
题目 发现\(n\)比较大,但是\(k,p\)都很小,考虑矩乘使得复杂度倾斜一下 发现所有车的最大间隔都是\(p\),还保证\(k<p\),于是我们可以考虑压下最后\(p\)位的情况 于是设\( ...
- POJ2318 TOYS
嘟嘟嘟 题面:先告诉你一个矩形抽屉的坐标,然后\(n\)个隔板将抽屉分成了\(n + 1\)格(格子从\(0\)到\(n - 1\)标号),接下来随机输入\(m\)个玩具的坐标.问最后每一个格子里有多 ...
- Odoo中的模型
转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9280164.html [Odoo中,一切皆模型,连视图都是模型.Odoo将各种数据,如:权限数据 ...
- C/C++——老夫记不住
常指针 Coordinate * const pCoor=&coor1; 指针所指向的地址不可改变. 常对象指针 const Coordinate *pCoor=&coor1; 所指对 ...
- 如何在ubuntu中安装CP-ABE
cpabe依赖pbc,pbc依赖gmp,gmp依赖M4.bison.flex,所以先安装后面的 安装m4 $ sudo apt-get install m4 安装 flex 安装 bison 1 ...