首页 > 我刚数据库中插入一条记录,紧接着再去查询却查不到?

我刚数据库中插入一条记录,紧接着再去查询却查不到?

向数据库 中奖记录表中 添加一条中奖 记录,马上调用方法查询这条记录, 查询不到! 我打开数据库查看 数据是插入成功的。 开发语言是用java, 框架 hibernate!

插入数据,和查询数据代码如下,请大神解答,小弟,感激不尽!

    //插入中奖记录
    public int insertPrizeRecord(Integer prizeId,String uid)
    {
        try
        {
            StringBuilder sqlBuilder = new StringBuilder();
            sqlBuilder.append(" INSERT INTO AM_PrizeRecord (       ");
            sqlBuilder.append("             PrizeId                ");
            sqlBuilder.append("            ,mobile                 ");
            sqlBuilder.append("            ,PrizeTime )            ");
            sqlBuilder.append("      VALUES (                      ");
            sqlBuilder.append("            " + prizeId + "         ");
            sqlBuilder.append("            ,'" + uid + "'          ");
            sqlBuilder.append("            , GETDATE() )           ");
            Query query = em.createNativeQuery(sqlBuilder.toString());
            int result = query.executeUpdate();
            em.clear();
            return result;
        }
        catch (Exception e)
        {
            e.printStackTrace();
            return 0;
        }
    }
 //获取中奖记录
    public ArrayList<PrizeRecord> getPrizeRecordListAll(Integer prizeId)
    {
        try
        {
            StringBuilder sqlBuilder = new StringBuilder();
            sqlBuilder.append(" select PrizeRecordId,   ");
            sqlBuilder.append("        PrizeId,         ");
            sqlBuilder.append("        mobile           "); 
            sqlBuilder.append(" from AM_PrizeRecord     ");
            sqlBuilder.append(" where PrizeId = " + prizeId );
            sqlBuilder.append(" order by PrizeTime      ");
            Query query = em.createNativeQuery(sqlBuilder.toString());
            List list = query.getResultList();
            ArrayList<PrizeRecord> data = new ArrayList<PrizeRecord>();
            for (Object object : list)
            {
                Object[] o = (Object[])object;
                PrizeRecord gc = new PrizeRecord();
                gc.setPrizeRecordId((Integer)o[0]);
                gc.setPrizeId((Integer)o[1]); 
                gc.setMobile(o[2] == null?"":o[2].toString());
                data.add(gc);
            }
            em.clear();
            return data;
        }
        catch (Exception e)
        {
            e.printStackTrace();
            return null;
        }
    }

建议你先把你的查询语句打印出来,然后到数据库里面执行一下看看是否是查询语句不正确,如果查询语句ok的话,那就分开执行,过一会再手动执行查询,然后如果还是不行,那就debug,看看是否程序异常了~

【热门文章】
【热门文章】