插入数据库mysql获取问题

时间:2016-09-01 07:57:40

标签: java mysql database

当我去DB中插入值(什么也不做)时,我遇到了问题。 在那之前,我选择表来获取最后一个ID,并且它有效。  这是我的代码:

IDBManager dbManager = getParentExtension().getParentZone().getDBManager();
    Connection connection = null;   

    int idRoom = params.getInt("idRoom");
    String betsmall = params.getUtfString("betsmall");
    int Uid  = params.getInt("recid");

    try{
        connection = dbManager.getConnection();
        PreparedStatement stmt = connection.prepareStatement("SELECT id_game from detail_game ORDER BY id_game DESC LIMIT 1");

        ResultSet res = stmt.executeQuery();
        if (!res.first())
        {
            trace("bla bla");
        }

        int id = res.getInt("id_game");
       trace (id);
    //  **till here there is no problem, i can get id from select query

      PreparedStatement stmts = connection.prepareStatement("INSERT INTO detil_bet (id_user, id_room, id_bet, bettype) VALUES (?, ?, ?, ? ");
      stmts.setInt(1, Uid);
      stmts.setInt(2, idRoom);
      stmts.setInt(3, id);
      stmts.setString(4, betsmall);
      stmts.executeUpdate();

    }
}

这是问题,插入什么都不做。

2 个答案:

答案 0 :(得分:1)

FooAudit

在" VALUES"。

中看起来需要一些末端括号

打印堆栈跟踪的catch块也会告诉您这里的问题。我不是最好的SQL人员,我总是使用this来检查我的SQL语法,以便仔细检查我是否做得对。

答案 1 :(得分:0)

您的连接似乎不是自动提交。尝试添加

stmts.commit();

在“stmts.executeUpdate();”。

之后