2012-01-06 6 views
0

SelectRequestを使用してSimpleDBをクエリしたいとします。ここに私のコードはSimpleDBクエリについて

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

ですが、動作しません。

この問題の解決方法はわかりません。助けてください。

+1

? – Mark

+0

なぜあなたは 'String'に対して' String.valueOf() 'をしていますか?これは意味がありません。このようにして、 'null'リテラルは値' 'null ''を持つ文字列になります。 – BalusC

答えて

0

私の最初の助言は、IDを単一引用符で囲むことです。私はSimpleDBやSelectRequestに慣れていませんが、通常SQLには "select * from X where Y = 'value';" Yが文字フィールドの場合

私の2番目のアドバイスは、誰かが間違っていることを伝える良い機会を持つように十分な情報を与えることです。間違いはありますか?エラーを表示してクラッシュしますか?エラーを表示してマシンに火を投げますか?何が起こるのですか?まず

+0

無効なクエリ式についてエラーが発生しました。 "id"はString.valueOf(request.getParameter( "userid"))を使用して定義されているため、一重引用符は使用できません。 – user1134896

+0

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

1

、idは整数(int型)である場合を除き、コードで試す前に

をコンソールでSQL文をテストするには、SQLでその周りに[ ']を追加する必要があります。

HERESに私の感想:それは動作しませんどのように

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 
} 
+0

あなたの助けてくれてありがとう。それは私にとってとても役に立ちます – user1134896

+0

それは助けて嬉しいです:) – Araejay

関連する問題