天过无痕 2019-11-12 06:15 采纳率: 0%
浏览 127
已采纳

hql数据库操作,返回结果有问题,求解?

 public int createNameCheck(String createName,String saleId){
         String sql = "";
         sql = "select * from DATA_RRYX.T_PC_COMBINATION_SALE T where T.editor='"+createName+"'and T.id ='"+saleId+"'and T.is_delete = 'N'";
                int t = tpcCombinationSaleDAO.getRecordCountBySQL(sql);
                log.info("t"+t);
                return t;
     }
public int getRecordCountBySQL(String sql) {
        Session session = null;
        sql = "select count(*) from (" + sql +")";
        int result = 0;
        try {
            session = super.getSession();
            logger.debug("sql = " + sql);
            Query qry = session.createSQLQuery(sql);
            result = ((Number) qry.uniqueResult()).intValue();
        } catch (Exception e) {
            logger.error("获取SQL查询行数异常!getRecordCountBySQL(String)中。");
        } finally {

        }
        return result;
    }

这个查询数据库语句主要是查询 创建人、id以及是否删除的语句,然后调用的方法返回值就是查询到的数量,可是我传入创建人中文参数正确的时候,返回值为0,但是传入英文、数字都可查询到,如图下,plsql也能查到,请问大神有知道是什么原因吗?

图片说明
图片说明

  • 写回答

1条回答 默认 最新

  • zhshchilss 2019-11-12 08:21
    关注

    1.这个表,是只有这条中文数据不行,还是其他中文数据也不行
    2.其他表有中文数据的,能不能查询出来
    3.sql可以先写死一个sql,查询 slelect * from table where editor='中文' 看返回结果
    4.数字id可以查询出来,把数字id修改成你的 中文,然后这条记录能查询出来吗
    5.查询不出来的这个数据是怎么insert进去的,用工具开启事务了吗,有的需要commit数据库才真的保存进去
    6.看看这个表的编码和其他表有没有什么分别
    7.把这个表备份,然后新建一个同样的表,然后再查询看效果

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥99 关于#javascript#的问题:怎么样写一个浏览器插件的js,填充浏览器元素:
  • ¥15 关于#hadoop#的问题:按照老师上课讲的步骤写的
  • ¥20 有人会用这个工具箱吗 付fei咨询
  • ¥30 成都市武侯区住宅小区兴趣点
  • ¥15 Windows软实时
  • ¥15 自有服务器搭建网络隧道并且负载均衡
  • ¥15 opencv打开dataloader显示为nonetype
  • ¥15 MacOS 80端口外网无法访问
  • ¥50 js逆转反解密-会的来
  • ¥15 wrodpress如何调取数据库并展示
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部