利用jdbc连接数据库access后,编写sql语句运行,为啥access表里不更新啊?
用代码块功能插入代码,请勿粘贴截图
import java.sql.*;
public class BookManager1026 {
static Connection con;
static Statement statement;
public static void linkDatabase(){//建立数据库的连接
try{
Class.forName("com.hxtt.sql.access.AccessDriver"); //加载数据库驱动
}catch(ClassNotFoundException e){
System.exit(0); //结束程序
}
try{
con = DriverManager.getConnection("jdbc:Access:///D:\\图书信息表.accdb");
statement = con.createStatement();
} catch(SQLException e){
}
}
public static void query(){//记录查询
try{
ResultSet rs=statement.executeQuery("select * from 图书信息表 where 作者='耿祥义'");
while(rs.next()){//控制行
System.out.println(rs.getInt("价格"));
System.out.println(rs.getString(2));
}
}catch(SQLException e){
}
}
public static void closeCon(){
try {
con.close();
}catch(SQLException e){
}
}
public static void addRecord(){
try{
statement.executeUpdate("insert into 图书信息表 values ('19005','统计学基础(第四版)','贾俊平','中国人民大学出版社',32,'2019年4月')");
}catch(SQLException e){
}
}
public static void upDateRecord(){
try{
statement.executeUpdate("Update 图书信息表 set 价格=59.5 where 作者='耿祥义'");
}catch(SQLException e){
}
}
public static void sumPrices(){
try{
ResultSet rs=statement.executeQuery("select 价格 from 图书信息表");
double sum=0.0;
while(rs.next()){//控制行
sum+=rs.getDouble("价格");
}
System.out.println("图书的总价格="+sum);
}catch(SQLException e){
}
}
public static void sumPrices2(){
try{
ResultSet rs=statement.executeQuery("select sum(价格) from 图书信息表");
rs.next();
System.out.println("图书的总价格="+rs.getDouble(1));
}catch(SQLException e){
}
}
public static void main(String[] args) {
linkDatabase();
sumPrices2();
closeCon();
}
}
运行结果及报错内容
图书的总价格=220.5
Process finished with exit code 0