找回密码
 立即注册

QQ登录

只需一步,快速开始

工作狂:

注册会员

9

主题

42

帖子

177

积分

注册会员

积分
177
最新发帖

[已处理] select 验证报错

工作狂:
注册会员   /  发表于:2022-8-23 23:15  /   查看:1180  /  回复:3
1金币
在线设计器 验证select报错,本地设计器不报错,报错内容如下:{"Error":"ERROR [42000] [MySQL][ODBC 8.0(w) Driver][mysqld-8.0.18]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \u0027\u7C73\u0022),CONCAT(round(t1.\u0060\u96F6\u4EF6\u9AD8\u5EA6\u0060*t1.\u0060\u96F6\u4EF6\u6570\u91CF\u0060 *t.\u0060\u6570\u91CF\u0060/1000,3),\u0022\u7C73\u0022\u0027 at line 36","ErrorCode":"UnknownError"}
第36行报错,报错代码:
select t.`板件ID`,
GetDataItemDetails("product-type", t.`产品类型`) AS 产品类型,
GetDataItemDetails("produce_line_type", t.`产品生产类型`) AS 产品生产类型,
GetDataItemDetails("material-grain-type", t.`正面纹理`) AS 正面纹理,
t.`颜色名称`,
t.`板件名称`,
t.`板件型号`,
t.`宽度`,
t.`高度`,
t.`厚度`,
t.`数量` AS 块数,
t.`主项材料名称` AS 材料名称,
t.`开门方向`,
t.`边型`,
t.`特殊说明` AS 板件备注,
t.`面积`,
t.`长度`,
t.`个数`,
case
when t.`面积` !=0 then CONCAT(round(t.`面积`/10000 * t.`数量`,4),"㎡")
when t.`长度` !=0 then CONCAT(round(t.`长度`/1000 * t.`数量`,3),"米")
else
CONCAT(t.`个数`*t.`数量`,"个")
end 数量,
t1.`零件ID`,
t1.`零件名称`,
t1.`零件编码`,
t1.`零件宽度`,
t1.`零件高度`,
0 + CAST(t1.`零件深度` AS CHAR) AS 零件深度,
t1.`零件数量`,
case
when t1.`零件类型`=11 then ""
when t.`产品生产类型`=1 AND t1.`零件类型`=2 then
if(t1.`零件宽度`>t1.`零件高度`,CONCAT(round(t1.`零件宽度`*t1.`零件数量` *t.`数量`/1000,3),"米"),CONCAT(round(t1.`零件高度`*t1.`零件数量` *t.`数量`/1000,3),"米"))
else
CONCAT(round(t1.`零件宽度` *t1.`零件高度` * t1.`零件数量` *t.`数量`/1000000,4),"㎡")
end 零件计价数量,
case
when t1.`零件类型`=11 then ""
when t.`产品生产类型`=1 AND t1.`零件类型`=2 then
if(t1.`零件宽度`>t1.`零件高度`,t1.`零件宽度`*t1.`零件数量` *t.`数量`/1000,t1.`零件高度`*t1.`零件数量` *t.`数量`/1000)
else
t1.`零件宽度` *t1.`零件高度` * t1.`零件数量` *t.`数量`/1000000
end 零件计价数量2,
t1.`零件材料`,
t1.`特殊说明`,
t2.`材料名称` AS 零件材料名称,
GetDataItemDetails("dis-part-type",t1.`零件类型`) AS 零件类型,
GetDataItemDetails("dis-rule-grain", t1.`零件纹理`) AS 零件纹理,
CONCAT(t.`选项卡下标`+1,"-",t.`排序码`) AS 板件序号,
t.`板件参数`
from `生产单板件表` t
LEFT JOIN `生产单零件表` t1 ON t1.`板件ID`=t.`板件ID` AND t1.`零件类型` in(1,2,11)
LEFT JOIN `材料信息` t2 ON t1.`零件材料`=t2.`材料ID`
where t.`订单ID`=? AND t.`产品类型` =8 AND t.`产品生产类型`=1
order by t.`排序码`,t1.`排序码`

第36行报错

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

3 个回复

倒序浏览
Bella.YuanWyn认证
超级版主   /  发表于:2022-8-24 10:03:18
沙发
您好,您先在对应的数据库连接工具中测试一下sql语句是否正确,目前看报错是sql有问题,不是在线设计器的问题,其次,您的数据集过滤使用的是“形如”,目前看您的条件可以直接使用“=”,“形如”就是like 的意思,针对“形如”的使用您可以参考这个链接:
Web在线设计器的数据集及组件如何加过滤
https://gcdn.grapecity.com.cn/fo ... 4&fromuid=65049
(出处: 葡萄城产品技术社区)
回复 使用道具 举报
工作狂:
注册会员   /  发表于:2022-8-24 10:29:01
板凳
本帖最后由 工作狂: 于 2022-8-24 10:31 编辑
Bella.Yuan 发表于 2022-8-24 10:03
您好,您先在对应的数据库连接工具中测试一下sql语句是否正确,目前看报错是sql有问题,不是在线设计器的问 ...

首先,select没有问题,因为这是一个正在使用的报表select,其次,这个报错只会出现在在线设计器,本地的不会,

其三,报错是出现在第36行,正是有字符拼接函数的位置

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-8-24 14:42:30
地板
工作狂: 发表于 2022-8-24 10:29
首先,select没有问题,因为这是一个正在使用的报表select,其次,这个报错只会出现在在线设计器,本地的不会, ...

您好,我本地测试了字符拼接是正确的,方便的话您留个远程码(向日葵),远程看看吧。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部