当我去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();
}
}
这是问题,插入什么都不做。
答案 0 :(得分:1)
FooAudit
在" VALUES"。
中看起来需要一些末端括号打印堆栈跟踪的catch块也会告诉您这里的问题。我不是最好的SQL人员,我总是使用this来检查我的SQL语法,以便仔细检查我是否做得对。
答案 1 :(得分:0)
您的连接似乎不是自动提交。尝试添加
stmts.commit();
在“stmts.executeUpdate();”。
之后