qq_34806078 2016-05-19 14:12 采纳率: 33.3%
浏览 1121

JDBC 向数据库插入数据 遇到个怪问题 求大神回答

代码如下
package insertCar;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class InsertEsCar {
public static void main(String[] args) throws SQLException {

     Connection conn = null;

     try {
        Class.forName("com.mysql.jdbc.Driver");
        conn =  DriverManager.getConnection("jdbc:mysql://localhost:3306/eauto100?useUnicode\\=true&characterEncoding\\=utf8&autoReconnect\\=true","root","");
        Statement stmt = conn.createStatement();
        String sql = "select * from es_car";
        ResultSet rs = stmt.executeQuery(sql);
        List<carInfo> list = new ArrayList<carInfo>();
        while(rs.next()){
            carInfo car = new carInfo();
            car.setCarId(rs.getInt("car_id"));
            car.setCarLineId(rs.getInt("car_line_id"));
            car.setCarName(rs.getString("car_name"));
            car.setMakeYear(rs.getString("make_year"));
            car.setAirCC(rs.getString("air_cc"));

            list.add(car);

        }

        String[] year = {"2016","2017"};

        for (carInfo c : list) {
            if(c.getCarId() !=4226 && c.getCarId() !=4526){

            String[] name = c.getCarName().split(" ");
                for (String i : year) {
                    name[1] = i + "款";
                    String carname = "";
                    for (String str : name) {
                        carname += str + " ";
                    }
                    c.setCarName(carname);
                    sql = "insert into es_car (car_id,car_line_id, car_name, make_year, air_cc) values(null,"+c.getCarLineId()+",'"+c.getCarName()+"',"+i+", '"+c.getAirCC()+"')";
                    int a =stmt.executeUpdate(sql);
                   // System.out.println(a);
                   // conn.setAutoCommit(false);
                   // conn.commit();

                }

                }
            }



     }
    catch (Exception e) {
       e.printStackTrace();
    }finally{
        if(conn!=null){
            conn.close();
        }
    }
 }

}

class carInfo{
private Integer carId;
private Integer carLineId;
private String carName;
private String makeYear;
private String airCC;

public Integer getCarId() {
    return carId;
}

public void setCarId(Integer carId) {
    this.carId = carId;
}

public Integer getCarLineId() {
    return carLineId;
}

public void setCarLineId(Integer carLineId) {
    this.carLineId = carLineId;
}

public String getCarName() {
    return carName;
}

public void setCarName(String carName) {
    this.carName = carName;
}

public String getMakeYear() {
    return makeYear;
}

public void setMakeYear(String makeYear) {
    this.makeYear = makeYear;
}

public String getAirCC() {
    return airCC;
}

public void setAirCC(String airCC) {
    this.airCC = airCC;
}

}
程序可以正常执行,打印出的sql语句放到数据库中也可以正常插入,a 的返回值为1,可是到数据库中查询表格里就是没有数据,救命!!!!!!!!!!!!!!!!!

  • 写回答

3条回答 默认 最新

  • Royal_lr 2016-05-19 14:26
    关注

    可能是事务的问题把,,,,

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)