递归火山软件开发平台

标题: 火山go服务器SQL数据库类库问题 [打印本页]

作者: ckai49566    时间: 5 天前
标题: 火山go服务器SQL数据库类库问题
问题:调用SQL数据库记录集类.取值命令,如果返回数据库时间字段类型的值是NULL,文本地址类型的取值就会失败,如果是空文本就不会有问题,这个该如何解决?

<火山程序 类型 = "通常" 版本 = 1 />

变量 Sql <类型 = 文本型
        值 = "SELECT \n    ft.type,\n    ft.reward_score,\n    ft.create_time,\n    ft.finish_time,\n    kp.pid,\n    kp.coverUrl,\n    kp.caption,\n    kp.author_name\nFROM \n    `fc_task` ft\nJOIN \n    `ks_photo` kp ON ft.ks_photo_id = kp.id\nWHERE \n    DATE(ft.create_time) = CURDATE() \n    AND ft.source_uid = ?\nORDER BY \n    ft.id DESC;">
变量 cha询结果 <参考 类型 = SQL数据库记录集类>
变量 任务记录 <类型 = "文本到任意值哈希表 []" 值 = 空对象>
变量 记录详情 <类型 = 文本到任意值哈希表>
变量 任务类型 <类型 = 整数>
变量 任务奖励 <类型 = 整数>
变量 任务创建时间 <类型 = 长整数>
变量 任务完成时间 <类型 = 任意值>
变量 作品ID <类型 = 文本型>
变量 作品封面 <类型 = 文本型>
变量 作品介绍 <类型 = 文本型>
变量 作品作者 <类型 = 文本型>
cha询结果 = 取程序 ().数据库.cha询2 (取程序 ().环境, Sql, 错误接口.取地址 (错误), 用户.ID)
判断循环 (cha询结果.到下一条记录 ())
{
    cha询结果.取值 (整数地址.取 (任务类型), 整数地址.取 (任务奖励), 文本地址.取 (任务创建时间), 文本地址.取 (任务完成时间), 文本地址.取 (作品ID), 文本地址.取 (作品封面), 文本地址.取 (作品介绍), 文本地址.取 (作品作者))
    记录详情 = 文本到任意值哈希表.创建 ()
    记录详情.写 ("type", 到任意值 (任务类型))
    记录详情.写 ("reward_score", 到任意值 (任务奖励))
    记录详情.写 ("create_time", 到任意值 (任务创建时间))
    记录详情.写 ("finish_time", 到任意值 (任务完成时间))
    记录详情.写 ("ks_id", 到任意值 (作品ID))
    记录详情.写 ("ks_coverUrl", 到任意值 (作品封面))
    记录详情.写 ("ks_caption", 到任意值 (作品介绍))
    记录详情.写 ("ks_author_name", 到任意值 (作品作者))
    任务记录 = 数组操作类.加入成员 (任务记录, 记录详情)
}



作者: ckai49566    时间: 5 天前
数据库中字段类型如果默认为NULL的情况下,返回的值可能是原来的类型也有可能是NULL,但是用火山go服务器中的基本数据地址取值,好像取不出来?
作者: ckai49566    时间: 5 天前
如果取值失败,取值字段数量和返回的数量不匹配会影响其他字段的取值?
作者: 创世魂    时间: 5 天前
好的一会儿我看看

作者: 创世魂    时间: 5 天前
用  SQL数据库可空文本类   试试。这个应该既可以判断是否为null又可以取出文本内容。
作者: ckai49566    时间: 5 天前
创世魂 发表于 2024-12-17 11:19
用  SQL数据库可空文本类   试试。这个应该既可以判断是否为null又可以取出文本内容。 ...

好的谢谢,按照你的方法,我解决了




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4