注册

【DmProvider】数据库存储char(36)字段值为null返回的却是空字符串

DM_360065 2022/12/14 3029 4

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8(–03134283938-20221019-172201-20018)
【操作系统】:windows 10 64位
【CPU】:i5-10500
【问题描述】*:
【DmProvider】数据库存储char(36)字段值为null返回的却是空字符串(" ")。
版本:DmProvider.1.1.0.11058
现象:
image.png
示例代码:

var sql = "SELECT \"CREATEDGUID\" FROM p_GlobalParam LIMIT 1;"; using (var connection = new DmConnection(s_connectionString)) { connection.Open(); DmCommand cmd = new DmCommand(); cmd.Connection = connection; cmd.CommandText = sql; var guidResult = cmd.ExecuteScalar(); if (guidResult !=null) throw new InvalidCastException($"CHAR(36)类型的列值为null,但是查询出来的值为:{guidResult?.ToString()}"); }

初始sql

CREATE TABLE IF NOT EXISTS "p_GlobalParam" ( "PARAMCODE" VARCHAR(128), "PARAMVALUE" VARCHAR(128), "SYSCODE" VARCHAR(128), "CREATEDGUID" CHAR(36), "CREATEDNAME" VARCHAR(128), "CREATEDTIME" TIMESTAMP(0), "GLOBALPARAMGUID" CHAR(36) NOT NULL, "MODIFIEDGUID" CHAR(36), "MODIFIEDNAME" VARCHAR(128), "MODIFIEDTIME" TIMESTAMP(0), "VERSIONNUMBER" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL) STORAGE(ON "MAIN", CLUSTERBTR); INSERT INTO "p_globalparam" ("ParamCode", "ParamValue", "SysCode", "CreatedGUID", "CreatedName", "CreatedTime", "GlobalParamGUID", "ModifiedGUID", "ModifiedName", "ModifiedTime", "VersionNumber") VALUES('core', '', 'SSO', NULL, NULL, '2022-01-19 17:33:01', '08d9db2e-af6a-48d4-8c18-0b0fd4e4b4d3', NULL, NULL, NULL, '2022-01-20 01:33:00');
回答 0
暂无回答
扫一扫
联系客服