gpt4 book ai didi

mysql - 基于计算的 CloudSQL 模型的表上的 Google AppMaker 可过滤列

转载 作者:行者123 更新时间:2023-11-29 15:42:43 28 4
gpt4 key购买 nike

您好,我正在 Google Appmaker 上制作一个简单的结算应用程序。为采购订单、账单和客户创建 CloudSql 模型。这些 SQL 表彼此之间存在关联,因为客户可以有许多 PO,而一个 PO 可以有许多账单。一切都很好,我添加了字段和关系。在页面上放置一些表格以显示,并在表格上输入新项目。当我想在一页上显示一个包含有关订单信息的概览表时,问题出现了 - 包含有关订单本身、其客户以及已向此类采购订单开具账单的字段。
该表本身似乎是一个好主意,使用名为它的计算数据模型(CalcSum) - 我加入了我的不同表并做了一些计算。一切都好

SELECT 
(Orders.Sum-SUM(Bills.Sum)) AS NotInvoiced,
SUM(Bills.Sum) AS Invoiced,
Orders.OrderCode,
Orders.Currency,
Orders.PODate,
DepCode,
ProjCode,
Client.Name AS Client,
Orders.Sum AS OrderAmount
FROM Orders
LEFT JOIN Bills ON Bills.Po_fk = Orders.Id
LEFT JOIN Client ON Orders.Client_fk = Client.Id
GROUP BY Orders.Id;

现在引起的问题如下。无法对计算模型使用查询过滤。 (如本教程 https://www.youtube.com/watch?v=jo-5AE5P1HA 所示)我想我可以使用自己的查询参数,尽管这看起来很麻烦,因为我必须定义很多参数并编写更长的 SQL。所以我尝试了一个这样的例子 - 取出前面的代码块并将其末尾更改为

GROUP BY Orders.Id HAVING DepCode LIKE '%:DepSearch%';

然后,我将 searchContent 文本框添加到此概述表的标题中,并将该框绑定(bind)到 @datasource.query.parameters.DepSearch。我也对此框进行了 onValue 更改重新加载数据源。所以它的完成方式与 youtube 示例非常相似,只是我替换了我自己的 quwery 参数,而不是可用的自动过滤术语到非计算模型。我希望它能工作,但我收到控制台错误。

Exception: JDBC backend failure. More information: Failed to execute  connection with error: Parameter index of '1' is greater than number of parameters, which is '0'..    
Executing query for datasource CalcSum: (Error) : JDBC backend failure. More information: Failed to execute connection with error: Parameter index of '1' is greater than number of parameters, which is '0'..
at Orderid.Table1.Table1Header.Panel1.TextBox1.onValueChange:1:19
Executing query for datasource CalcSum failed.

我已经没有主意了。我该如何解决这个问题,或者是否有任何其他想法如何制作包含这三个模型中的字段并包括计算字段的概述可以通过任何其他方式进行过滤。在我看来,计算模型是解决这个问题前半部分的方法,但它似乎与另一部分混淆了。

最佳答案

GROUP BY Orders.Id HAVING DepCode LIKE CONCAT('%',:DepSearch,'%')

关于mysql - 基于计算的 CloudSQL 模型的表上的 Google AppMaker 可过滤列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57430121/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com