【问题标题】:How to get RowID from google fusion table如何从谷歌融合表中获取 RowID
【发布时间】:2016-11-25 01:32:09
【问题描述】:

我一直在使用带有 App Inventor 的 Google Fusion Tables,因此除了 Pizza Party 教程之外没有太多信息。我一直在研究 SQL 解决方案等查询格式,但我似乎无法正确理解它。我正在尝试使用以下代码:

为了在我的融合表中找到一行的rowid。但是,每当我发送查询时,都会收到以下错误:尝试获取长度为 1 的列表的第 2 项:(51) 51 是我想要的数字,但由于某种原因它正在访问索引 2,我不确定为什么。

这是我收到结果时运行的代码,但我从未得到结果,因为查询显然正在访问索引 2 或其他内容。我试图将最后一行更改为索引 2,但我仍然遇到相同的错误 - 说索引 1 仍然存在错误...

【问题讨论】:

  • 在标签中显示结果并使用 Do it 来调试您的块,另请参阅此处的提示 4 Top 5 Tips: How to learn App Inventor ...您仍然没有删除下面的块SendQuery 方法...发送查询后的所有内容都应在 GotResult 事件中继续

标签: android google-fusion-tables app-inventor


【解决方案1】:

FusiontableControl 组件异步工作,这意味着您发送查询并在FusiontableControl.GotResult 事件中接收结果。因此,SendQuery 方法之后的块没有多大意义......

FusiontableControl.GotResult 事件中,您的结果将如下所示

行号
51

在该事件中,使用split 块将result 拆分为\n(新行)以获取列表,并使用select list item 块从列表中选择第二项以获取值51。您还可以添加一些错误处理并检查列表的长度是否 > 1,然后再选择第二项...

【讨论】:

  • 好的,这更有意义。我有一个处理结果的方法,但问题是没有结果,因为它说列表的长度为 1 - 我不明白我试图在哪里访问索引 2 的东西。我会添加在我的问题的结果方法中......
猜你喜欢
  • 1970-01-01
  • 2012-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多