ckai49566 发表于 2024-12-17 03:12:50

火山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 发表于 2024-12-17 03:15:59

数据库中字段类型如果默认为NULL的情况下,返回的值可能是原来的类型也有可能是NULL,但是用火山go服务器中的基本数据地址取值,好像取不出来?

ckai49566 发表于 2024-12-17 03:18:16

如果取值失败,取值字段数量和返回的数量不匹配会影响其他字段的取值?

创世魂 发表于 2024-12-17 10:42:23

好的一会儿我看看

创世魂 发表于 2024-12-17 11:19:40

用SQL数据库可空文本类   试试。这个应该既可以判断是否为null又可以取出文本内容。

ckai49566 发表于 2024-12-17 16:53:12

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

好的谢谢,按照你的方法,我解决了
页: [1]
查看完整版本: 火山go服务器SQL数据库类库问题