2012-02-06 11 views
0

このサイトがありがとうと確信しています。それは毎回私を助けてくれました。テキストビュー値と等しいテキスト行値をデータベース行に照会する方法を教えてください。

私の新しい問題は、あるアクティビティから別のアクティビティに値を渡して、その値をテキストビューに設定したことです。値は常に数値です。次に、「選択したメニュー項目」を使用してその値を別のアクティビティに渡し、その値をテキストビューに設定します。私が探しているのは、その値(数字であり、データに関連付けられた行IDを表す)を使用して、データベースを照会し、前述の数値に関連付けられた行を戻すことです。次に、同じアクティビティの適切な編集テキストまたはテキストビューに値を設定します。私はテキスト値(TV1)

​​

とクエリ

public Cursor fetchRow(TextView tv1) throws SQLException { 

      Cursor mCursor = 

       mDb.query(true,DATABASE_TABLE, new String[] {KEY_ROWID, KEY_NAME, 
         NICBASEML, NICDROPS, NICPERCT, PGML, PGDROPS,PGPERCT, 
         VGML,VGDROPS,VGPERCT, WAPML, WAPDROPS, WAPPERCT, 
         FLV1NAME, FLV1ML, FLV1DROPS, FLV1PERCT, 
         FLV2NAME, FLV2ML, FLV2DROPS, FLV2PERCT, 
         FLV3NAME, FLV3ML, FLV3DROPS, FLV3PERCT, 
         FLV4NAME, FLV4ML, FLV4DROPS, FLV4PERCT, 
         DROPSML, AMOUNT, FINALNIC, BPG, BVG, BASENIC}, KEY_ROWID + "=" + tv1, null, null, null, null, null); 

      if (mCursor != null) { 
       mCursor.moveToFirst(); 
      } 
      return mCursor; 

     } 

これは私が今取得エラーであるために呼び出すのはここ

です。

02-07 12:14:16.120:E/AndroidRuntime(2713):原因:android.database.sqlite.SQLiteException: "@ 405dcd48"の近く:構文エラー:コンパイル時に:SELECT DISTINCT _id、name、 flap1perf、flv1perct、flv2name、flv2ml、flv2drops、flv2perct、flv3name、flv3ml、flv3drops、flv3perct、flv4name、flv3perct、flv3perct、flv3perct、flv3perct、flv2perct、flv2perct、flv2perct、flv2perct、flv2perct、 flv4ml、flv4drops、flv4perct、dropsml、amount、finalnic、bpg、bpg、basenic FROMレシピWHERE _id = [email protected]

こんにちは。 @ 405dcd48のどこにエラーがありますか?

答えて

0

ここに解決策があります。これを理解するまでには数時間(2日)かかっていましたが、それはdhoooでした!顔の瞬間に手を差し伸べる。しかし、決して少なくはありません、同じ問題を抱えている他の人のための解決法がここにあります。フィールドを埋めるためにあなたの宣言では(この場合は)(行をフェッチ

これ行います。あなたは、nullポインタ例外以上、その後のようにエラーが発生します。これは、宣言することによって固定することができ

private void populateFields() { 

String row = tv1.getText().toString();//String to get the textview of the rowid 

     if (tv1!= null) { //Checking to see if the field is not empty to proceed 

      Cursor note = mDbHelper.fetchRow(row);//Calling my cursor to manage data 
      startManagingCursor(note);//Starting the management and retrieve data 

を。あなたのフィールド - >(txtbox1 =(TextViewの)findViewById(R.id.textView22);.

あなたのデータベース・マネージャーは、文字列のために設定する必要があります。このよう

これで、探しているデータの行IDと等しいtextviewまたはeditviewの値を使用して、行からデータを取得できます。

関連する問題