2017-01-15 2 views
2

私は農業用アプリケーションを作っています。そして、ここで私は問題を抱えているテーブルのコードです。私のアプリで私のデータベースのクエリで4番目の列を配置するとアプリケーションがクラッシュします

db.execSQL("CREATE TABLE "+TABLE_FIELDINFO+"(" 
       + "_id INTEGER PRIMARY KEY AUTOINCREMENT," 
       + "FieldName TEXT," 
       + "Area TEXT," 
       + "Measure_Unit TEXT" 
       + "CropGrown TEXT" 
       +"Growth_Date INTEGER" 
       +"Growth_Month INTEGER" 
       +"Growth_Year INTEGER);"); 

フィールド名、地域の値は、MEASURE_UNITがユーザから取得され、iは作物の成長にNA(プロキシ値)が得られました。これは私のコードです。私は今fucntionを含んでいます。今

private void storetodatabase(String name,int area_vlaue,String type){ 
     String ss="NA"; 
     SQLiteOpenHelper AgroDatabase=new AgroDatabase(this); 
     SQLiteDatabase database = AgroDatabase.getWritableDatabase(); 
     ContentValues values = new ContentValues(); 
     values.put("FieldName", name); 
     values.put("Area", area_vlaue); 
     values.put("Measure_Unit",type); 
     values.put("CropGrown",ss); 
     database.insert("fieldinfo", null, values); 
     database.close(); 

} アプリiはCropGrown列を含むデータベースクエリを作成するときにクラッシュを開始します。私はこれを除外する場合はすべて正常に動作しますが、これを含む私のアプリケーションがクラッシュする原因です。私はリストの活動を使用しています。

 @Override 

     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_homescreen); 
      ListView m_listview = (ListView) findViewById(R.id.list_view); 

      SQLiteOpenHelper AgroDatabase = new AgroDatabase(this); 
      db = AgroDatabase.getReadableDatabase(); 
      cursor=db.query("fieldinfo",new String[]{"_id", "FieldName","Area","Measure_Unit","CropGrown" 
,null,null,null,null,null); 



      CursorAdapter listAdapter= new SimpleCursorAdapter(this, 
               android.R.layout.simple_list_item_1, 
               cursor, 
               new String[]{"FieldName"}, 
               new int[]{android.R.id.text1},0); 

      m_listview.setAdapter(listAdapter); 
      m_listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

       @Override 
       public void onItemClick(AdapterView<?> parent, View view, int position, 
             long id) { 
        Intent intent = new Intent(homescreenjava.this, Addition1.class); 
        final String name= cursor.getString(1); 
        final String Area=cursor.getString(2); 
        final String M_unit=cursor.getString(3); 
        final String Crop_grown=cursor.getString(4); 
       Bundle extras = new Bundle(); 

        extras.putString("name",name); 
        extras.putString("Area",Area); 
        extras.putString("Measurement Unit",M_unit); 
        extras.putString("Crop planted",Crop_grown); 
        intent.putExtras(extras); 
        startActivity(intent); 


       } 
      }); 


     } 
+1

クラッシュメッセージは何ですか? – mixel

+0

[不幸にもMyAppが停止しました。どうすればこの問題を解決できますか?](http://stackoverflow.com/questions/23353173/unfortunately-myapp-has-stopped-how-can-i-solve-this) –

+0

上記のリンクを参照して、あなたのアプリに何が間違っているかを調べる。 –

答えて

1

SQLステートメントにカンマがありません。

db.execSQL("CREATE TABLE "+TABLE_FIELDINFO+"(" 
       + "_id   INTEGER PRIMARY KEY AUTOINCREMENT, " 
       + "FieldName TEXT, " 
       + "Area   TEXT, " 
       + "Measure_Unit TEXT, " 
       + "CropGrown TEXT, " 
       + "Growth_Date INTEGER, " 
       + "Growth_Month INTEGER, " 
       + "Growth_Year INTEGER);"); 
+0

OH!どのような愚かな間違い。本当にありがとう。これは、日々私を悩ませていました。 –

+0

私はあまりにも興奮し、私のコードを編集するようになった。 –

+0

幸運: –

関連する問題