生成的语句数据库有数据,程序没有 返回

SqlSugar 处理完成
35 224

数据库:人大金仓

sqlsugar:image.png

语句:

SELECT  "C"."NAME" AS "NAME" , "A"."ENTERPRISECODE" AS "ENTERPRISECODE" , "C"."REGIONNAME" AS "REGIONNAME" , 

to_char("A"."STATDATE",'yyyy-MM') AS "STATDATE" , 

SUM((( "A"."DATAVALUE" * CAST("A"."ZBCKZ" AS DECIMAL(18,4))) *  CAST("A"."DWZBXS" AS DECIMAL(18,4)))) AS "DATAVALUE"  

FROM "B_ENTERPRISEDATA" "A" 

Inner JOIN "B_ENTERPRISEDATACODE" "B" ON ((( "A"."ENTERPRISECODE" = "B"."ENTERPRISECODE" ) AND ( "A"."STATTYPE" = "B"."STATTYPE" )) AND ( "A"."DATACODE" = "B"."DATACODE" ))  

Inner JOIN "B_ENTERPRISE" "C" ON ( "A"."ENTERPRISECODE" = "C"."CODE" )   

WHERE ((((((( "B"."STATTYPE" = N'1' ) AND ( "A"."ZBCKZ" IS NOT NULL )) AND ( "A"."ZBCKZ" <> N'' )) AND ( "A"."DWZBXS" IS NOT NULL )) AND ( "A"."DWZBXS" <> N'' )) A

ND ( "A"."STATDATE" >= '2023-07-01 00:00:00.000' )) AND ( "A"."STATDATE" <= '2023-07-31 00:00:00.000' ))

GROUP BY "A"."ENTERPRISECODE", to_char("A"."STATDATE",'yyyy-MM') ,"C"."NAME","C"."REGIONNAME"  

image.png

程序:

image.png

热忱回答35

  • sqlite数据库也存在这个问题

    0 回复
  • image.png

    试出来了,加了这种条件 就坏了

    0 回复
  • @刘成帅:解决就行 

    0 回复
  • 上面的sql是不 a.abcbz is not null && a.abcbz <>''

    0 回复
  • @Q着木马了…:发新贴提供具体描述

    0 回复
  • 问题是我如果想这样去查询image.png,生成的语句虽然是a.abcbz is not null && a.abcbz <>''

    但在结果返回的时候 是没有的数据的,实际数据库有

    得只留 a.zbckz!=null 才返回数据

    是不是要解决一下  a.zbckz!=null && a.zbckz!="" 实际有数据,没有返回数据的问题

    0 回复
  • @fate sta

    0 回复
  • @刘成帅:你拿到数据库工具去跑,ORM也只是生成SQL,你要看SQL逻辑是不是没数据

    0 回复
  • @fate sta:生成的sql 到数据库查询 是有数据的

    0 回复
  • @fate staimage.png

    0 回复
  • 你是不是连错库或者表了, 或者有过滤器

    0 回复
  • https://www.donet5.com/Home/Doc?typeId=2366


    还有问题按模版提供完整DEMO

    0 回复
  • @fate sta:没有没有,一开始就核查了

    0 回复
  • @刘成帅:那就提供DEMO吧,一般你这种都低级问题造成的

    0 回复
  • 还有GUID不能用 <>''  ,只有字符串类型才行

    0 回复
  • 你先排查一下数据库是不是uuid类型,还是字符串类型

    0 回复
  • @fate sta

    // See https://aka.ms/new-console-template for more information

    using SqlSugar;


    Console.WriteLine("Hello, World!");

    var db = new SqlSugarScope(new SqlSugar.ConnectionConfig()

    {

        ConnectionString = "Server=192.168.130.160;Port=54321;UID=SYSTEM;PWD=12345678;database=SQLSUGAR4XTEST",

        DbType = SqlSugar.DbType.Kdbndp,

        IsAutoCloseConnection = true

    });


    db.DbMaintenance.CreateDatabase();

    //建表

    if (!db.DbMaintenance.IsAnyTable("B_EnterpriseData", false))

    {

        db.CodeFirst.InitTables<B_EnterpriseData>();

    }


    //用例代码

    var result = db.Insertable(new B_EnterpriseData()

    {

        dataID = "63d02c2ce84b49c88ffe0225e11c2228",

        enterpriseCode = "913707007986675082",

        classCode = "02",

        energyTypeCode = "3300",

        energyTypeName = "电力",

        pcode = "33",

        zbckz = "1.229",

        dwzbxs = "0.0001",

        dataCode = "00-00-0000-023300-11",

        dataName = "全厂-二次能源-电力-购进已消费",

        dataValue = 107440,

        inputType = "6",

        statType = "1",

        statDate = DateTime.Parse("2020-11-22 00:00:00"),

        uploadDate = DateTime.Parse("2020-11-22 00:00:00"),

        scope = "1",

        valid = 0,

        isSum = 1,

        isUpload = 1,

        valueValid = 0,

        dataValueMax = 0

    }).ExecuteCommand();//用例代码


    Console.WriteLine(result);

    Console.WriteLine("用例跑完");


    //查询

    var res= db.Queryable<B_EnterpriseData>().Where(a => a.zbckz != null && a.zbckz != "").ToList();


    Console.ReadKey();


    /// <summary>

    /// 上传采集数据表

    /// </summary>

    [SugarTable(null, "上传采集数据表")]

    [SugarIndex("index_{table}_dataID", nameof(dataID), OrderByType.Asc)]

    [SugarIndex("index_{table}_enterpriseCode", nameof(enterpriseCode), OrderByType.Asc)]

    [SugarIndex("index_{table}_classCode", nameof(classCode), OrderByType.Asc)]

    [SugarIndex("index_{table}_pcode", nameof(pcode), OrderByType.Asc)]

    [SugarIndex("index_{table}_statType", nameof(statType), OrderByType.Asc)]

    [SugarIndex("index_{table}_statDate", nameof(statDate), OrderByType.Asc)]

    [SugarIndex("index_{table}_valid", nameof(valid), OrderByType.Asc)]

    public class B_EnterpriseData

    {

        /// <summary>

        ///

        /// </summary>

        [SugarColumn(ColumnDescription = "", IsNullable = true)]

        public string dataID { get; set; }


        /// <summary>

        /// 企业统一社会信用代码

        /// </summary>

        [SugarColumn(ColumnDescription = "企业统一社会信用代码")]

        public string enterpriseCode { get; set; }


        [SugarColumn(ColumnDescription = "classCode")]

        public string classCode { get; set; }


        /// <summary>

        /// 能源类型

        /// </summary>

        [SugarColumn(ColumnDescription = "能源类型")]

        public string energyTypeCode { get; set; }


        /// <summary>

        /// 能源名称

        /// </summary>

        [SugarColumn(ColumnDescription = "能源名称")]

        public string energyTypeName { get; set; }


        [SugarColumn(ColumnDescription = "pcode", IsNullable = true)]

        public string pcode { get; set; }


        /// <summary>

        /// 指标量参考值

        /// </summary>

        [SugarColumn(ColumnDescription = "指标量参考值", IsNullable = true)]

        public string zbckz { get; set; }


        [SugarColumn(ColumnDescription = "折标系数", IsNullable = true)]

        public string dwzbxs { get; set; }


        /// <summary>

        /// 上传数据项编码(参照 NECC-NHJC-02)

        /// </summary>

        [SugarColumn(ColumnDescription = "上传数据项编码")]

        public string dataCode { get; set; }


        [SugarColumn(ColumnDescription = "上传数据项名称")]

        public string dataName { get; set; }


        /// <summary>

        /// 数据项的值,数据单位按“NECC-NHJC-02”要求

        /// </summary>

        [SugarColumn(ColumnDescription = "数据项的值")]

        public decimal dataValue { get; set; }


        /// <summary>

        /// 数据采集类型:1 管理信息系统;2 生产监控管理系统;3 分布式控制系统;

        /// </summary>

        [SugarColumn(ColumnDescription = "数据采集类型")]

        public string inputType { get; set; }


        /// <summary>

        /// 数据采集频率:0 实时、1 日、2 月、3 年

        /// </summary>

        [SugarColumn(ColumnDescription = "数据采集频率")]

        public string statType { get; set; }


        /// <summary>

        /// 数据统计时间 yyyy-MM-dd HH:mm:ss

        /// </summary>

        [SugarColumn(ColumnDescription = "数据统计时间")]

        public DateTime statDate { get; set; }


        /// <summary>

        /// 数据上传时间 yyyy-MM-dd HH:mm:ss

        /// </summary>

        [SugarColumn(ColumnDescription = "数据上传时间")]

        public DateTime uploadDate { get; set; }


        /// <summary>

        /// 数据范围:1 全厂;2 生产工序;3 生产工序单元;4 重点耗能设备

        /// </summary>

        [SugarColumn(ColumnDescription = "数据范围")]

        public string scope { get; set; }


        /// <summary>

        /// 数据有效性:0有效数据;1无效数据

        /// </summary>

        [SugarColumn(ColumnDescription = "数据有效性")]

        public int valid { get; set; }


        /// <summary>

        /// 是否汇总

        /// </summary>

        [SugarColumn(ColumnDescription = "是否汇总")]

        public int isSum { get; set; }


        /// <summary>

        /// 是否上传

        /// </summary>

        [SugarColumn(ColumnDescription = "是否上传")]

        public int isUpload { get; set; }


        /// <summary>

        /// 数值有效性:0有效数据;1无效数据

        /// </summary>

        [SugarColumn(ColumnDescription = "数值有效性")]

        public int valueValid { get; set; }


        /// <summary>

        /// 最大阈值

        /// </summary>

        [SugarColumn(ColumnDescription = "最大阈值")]

        public decimal dataValueMax { get; set; }

    }


    0 回复
  • @fate sta:试了两个数据库,SqlServer可以,人大金仓有问题

    0 回复
  • image.png

    0 回复
  • 我这边测试是可以的,这个DEMO

    0 回复
  • 你金仓是PGSQl模式还是ORACLE模式

    0 回复
  • @fate staimage.png

    0 回复
  • @fate sta:不太会看,看这个样子,应该是PG

    0 回复
  • image.png

    0 回复
  • image.png

    0 回复
  • @刘成帅:你的DEMO目前我测试可以的,如果还有疑问可以提线上字符串链接,我可以让金仓官方看看

    0 回复
  • image.png

    0 回复
  • @fate sta:我这个是公司局域网服务器的,外面访问不了

    0 回复
  • @fate sta:我这边问题根源应该是在   a.zbckz != "" 加了这个就不行了

    0 回复
  • @fate sta:要不远程我电脑?

    0 回复
  • @刘成帅:要不你重装一个金仓试试我怀疑安装问题

    0 回复
  • @fate sta:要不你就用非参数化写条件,临时先解决

    .Where("name is not null and name <> '' ")

    0 回复
  • @fate staimage.png

    不太行,晚点我找个公司服务器重装一个看看吧。这个用的是国产开放麒麟系统

    0 回复
  • @刘成帅:最好能公网的,这样我可以让金仓官方给你查看

    0 回复
  •  

    到数据库安装路径bin目录下 

    执行ksql -U username -d dabatabase -p port 


    看一下这个工具 用SQL能不能查出来 


    0 回复