0

それは私のエラーを与えます。すべてのフィールドを取得する方法。ありがとう

show.setOnClickListener(new Button.OnClickListener() {
     public void onClick(View arg0) 
     {
            String mm = seg.getText().toString();
            String mmm =ubs.getText().toString();
            String mmmm=area.getText().toString();
            String mmmmm= microarea.getText().toString();
            String mmmmmm= imovel.getText().toString();
                              String query = ( " SELECT * FROM DOMICIL WHERE "
              + " SEG ="+ mm
              + " And UNIDADE ="+mmm
              + " And  AREA ="+mmmm 
              + " And MICROAREA ="+mmmmm
              + " And IMOVEL ="+ mmmmmm );
            Cursor c =my.rawQuery(query,null);
            c.moveToFirst();
            while(!c.isAfterLast())
            {
              int id = c.getInt(0);
              seg.setText(c.getString(1));
              ubs.setText(c.getString(2));
              area.setText(c.getString(3));
              microarea.setText(c.getString(4));
              imovel.setText(c.getString(5));
              numer_casa.setText(c.getString(6));
              cep.setText(c.getString(7));
              complemento.setText(c.getString(8));
              c.moveToNext();
            } 
           c.close();  
           }  
        });
     }
4

3 に答える 3

0

列がテキストであると仮定すると、クエリを実行するテキストを引用符で囲みます。

元。

+ " SEG = '"+ mm + "'"
+ " And UNIDADE = '"+mmm  + "'"
+ " And  AREA = '"+mmmm  + "'"
+ " And MICROAREA = '"+mmmmm + "'"
+ " And IMOVEL = '"+ mmmmmm  + "'" );
于 2012-06-20T19:18:49.567 に答える
0

null を取得する場合は、文字列に使用します。 SEG LIKE %'"+mm"'%

于 2012-06-20T19:59:34.740 に答える
0

もし私があなただったら、おそらく次のようなことをするでしょう

String query = " SELECT * FROM DOMICIL WHERE "
              + " SEG = ? " 
              + " And UNIDADE = ?" 
              + " And  AREA = ? " 
              + " And MICROAREA = ? " 
              + " And IMOVEL = ? ";
Cursor c =my.rawQuery(query,new String[]{mm,mmm,mmmm,mmmmm,mmmmmm});

また、よりわかりやすい変数名を使用します。

于 2012-06-20T20:03:31.503 に答える