【问题标题】:About SimpleDB Query关于 SimpleDB 查询
【发布时间】:2012-01-06 18:13:34
【问题描述】:

我想使用 SelectRequest 查询 SimpleDB。这是我的代码:

String id = String.valueOf(request.getParameter("userid"));
SelectRequest request1 = new SelectRequest(
                                     "select * from Member where Account =" +id,
                                     true
                             );

但它不起作用。

我不知道如何解决这个问题。请给我一些建议。

【问题讨论】:

  • 你为什么要在String 上做String.valueOf()?这是没有意义的。这样null 文字将变成一个字符串,其值为"null"

标签: java jsp amazon-simpledb


【解决方案1】:

首先,在代码中尝试之前,在控制台中测试您的 sql 语句,

除非id是整数(int),否则需要在sql中加一个[']。

这是我的看法:

String id = request.getParameter("userid");
if (id !- null && id.length() > 0) {
    SelectRequest request1 = new SelectRequest(
                                 "select * from Member where Account = '" + id + "'",
                                 true
                         );
} else {
// Do something
}

【讨论】:

  • 谢谢你的帮助,对我很有用
【解决方案2】:

我的第一个建议是将 id 放在单引号中;我不熟悉 SimpleDB 或 SelectRequest,但 SQL 通常需要“select * from X where Y = 'value';”如果 Y 是字符字段。

我的第二个建议是提供足够的信息,以便有人更有机会说出问题所在。你有错误吗?它是否显示错误和崩溃?它是否显示错误并着火机器?会发生什么?

【讨论】:

  • 我收到一个关于无效查询表达式的错误。并且“id”是使用 String.valueOf(request.getParameter("userid")) 定义的。所以它不能使用单引号。
  • String id = String.valueOf(request.getParameter("userid")); SelectRequest request1 = new SelectRequest("select * from Member where Account ='" +id + "'", true );
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-04
  • 2023-03-18
  • 2014-02-13
  • 1970-01-01
  • 1970-01-01
  • 2011-02-28
相关资源
最近更新 更多