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

发布于 2022-09-01 22:48:02 字数 2471 浏览 25 评论 0

向数据库 中奖记录表中 添加一条中奖 记录,马上调用方法查询这条记录, 查询不到! 我打开数据库查看 数据是插入成功的。 开发语言是用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;
        }
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦萦几度 2022-09-08 22:48:02

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文