天过无痕 2019-11-12 14: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 16:21
    关注

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

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

报告相同问题?

悬赏问题

  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表
  • ¥15 DbVisualizer Pro 12.0.7 sql commander光标错位 显示位置与实际不符