我正在使用PreparedStatement批量插入到MySQL数据库中。然后,我需要查询为成功插入的行返回一个特定列(名称)的值。, new String[]{"name"}); 但是,我还没有找到在preparedStatement运行后从它获取返回值的任何方法。我尝试过preparedStatemet.getGeneratedKeys();,但它只返回主键值。
我重写了DoAfterPost过程;在这段代码中,我创建了另一个查询,用于获取与插入记录相关联的主键(即SELECT @IDENTITY for SqlServer,SELECT LAST_INSERT_ID() for MySql,等等)。在过去,我总是使用TAdoConnection进行数据库连接。在DoAfterPost内部进行的“子查询”调用中,没有问题,因为它是相同的会话(检索最后插入的主键的这些查询假设是持久的数据库连接)。但这会造成问题,因为派生的子查询不使用与主查询相同的