error with inserting

Common bugs/problems with the Android SDK the Emulator and the ADT-Plugin.

error with inserting

Postby dekon » Thu May 02, 2013 8:18 pm

hi i am new to android development and need help with inserting my data into a MYSQLite database could someone help me understand the problem thanks
using log cat and this is the error that it gives me

05-02 18:53:05.087: I/Database(331): sqlite returned: error code = 1, msg = table suspect has no column named other
05-02 18:53:05.097: E/Database(331): Error inserting other=8 – 14 nationality= height=8 – 14 age= name= suspect= gender=Male hair=V@N

Code: Select all
package com.example.sherlock;

import java.util.List;

import android.app.Activity;
import android.os.Bundle;

import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;

public class Database extends Activity implements OnClickListener {
   
   private EditText nametxt;
   private Spinner gender;
   private Spinner age;
   private EditText hairtxt;
   private EditText heighttxt;
   private EditText nationalitytxt;
   private EditText othertxt;
   private Spinner suspecttype;
   private Button submitbtn;
   private Button clearbtn;
   
   
//called when activity is created
@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_database);
   
   nametxt =(EditText) findViewById(R.id.nametxt);
   gender =(Spinner) findViewById(R.id.gender);
   age =(Spinner) findViewById(R.id.age);
   hairtxt =(EditText) findViewById(R.id.hairtxt);
   heighttxt =(EditText) findViewById(R.id.heighttxt);
   nationalitytxt =(EditText) findViewById(R.id.nationalitytxt);
   othertxt =(EditText) findViewById(R.id.othertxt);
   suspecttype =(Spinner) findViewById(R.id.age);
   
   submitbtn =(Button)findViewById(R.id.submitbtn);
   submitbtn.setOnClickListener(this);
   clearbtn =(Button)findViewById(R.id.clearbtn);
   clearbtn.setOnClickListener(this);
}

    public void onClick(View v){
      
       if(v.getId ()==R.id.submitbtn){
      String providenametxt = nametxt.getText().toString();
      String providegender = gender.getSelectedItem().toString();
      String provideage = age.getSelectedItem().toString();
      String providehairtxt = hairtxt.getText().toString();
      String provideheighttxt = heighttxt.getText().toString();
      String providenationalitytxt = nationalitytxt.getText().toString();
      String provideothertxt = othertxt.getText().toString();
      String providesuspecttype = suspecttype.getSelectedItem().toString();
      
   
   DBAdapter db = new DBAdapter(this);
   db.addSuspect(new Suspects( providenametxt, providegender, provideage, providehairtxt, provideheighttxt, providenationalitytxt, provideothertxt, providesuspecttype));
   //reading all contacts
   Log.d("Reading: ", "Reading all Contacts..");
   List<Suspects> suspects = db.getAllSuspects();
   
   for (Suspects cn : suspects) {
      String log = "Id: "+ cn.getID() +" ,Name: " + cn.getName()  +" ,Gender: " + cn.getGender()  +" ,Age: " + cn.getAge() +" ,Hair: " + cn.getHair() +" ,Height: " + cn.getHeight()+" ,Nationality: " + cn.getNationality() +" ,Other: " + cn.getOther() +" ,Suspecttype: " + cn.getSuspect();
      //Writing contacts to log
      Log.d("Name: ", log);
   }
   //release from existing UI
   db.close();
   finish();
    }
}
}

DBAdapter
Code: Select all
package com.example.sherlock;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;

public class DBAdapter extends SQLiteOpenHelper {
   public static final String KEY_ROWID = "id";
   public static final String KEY_NAME = "name";
   public static final String KEY_GENDER = "gender";
   public static final String KEY_HEIGHT = "height";
   public static final String KEY_AGE = "age";
   public static final String KEY_HAIR = "hair";
   public static final String KEY_NATIONALITY = "nationality";
   public static final String KEY_SUSPECT = "suspect";
   public static final String KEY_OTHER = "other";
   
   private static final String DATABASE_NAME = "SuspectDB";
   private static final String TABLE_SUSPECTS = "suspect";
   private static final int DATABASE_VERSION = 1;
   
   
    public DBAdapter(Context context) {
          super(context, DATABASE_NAME, null, DATABASE_VERSION);
       }
   
   //create tables
    @Override
    public void onCreate(SQLiteDatabase db) {
           String CREATE_Suspects_TABLE = "CREATE TABLE " + TABLE_SUSPECTS + "("
                   + KEY_ROWID + " INTEGER PRIMARY KEY,"
                 + KEY_NAME + " TEXT,"
                   + KEY_GENDER + " TEXT,"
                 + KEY_HEIGHT + "TEXT," 
                   + KEY_AGE + "TEXT,"
                   + KEY_HAIR + "TEXT,"
                   + KEY_NATIONALITY + "TEXT,"
                   + KEY_SUSPECT + "TEXT,"
                   + KEY_OTHER + "TEXT" +")";
           db.execSQL(CREATE_Suspects_TABLE);
       }
   // Upgrading database
       @Override
       public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
           // Drop older table if existed
           db.execSQL("DROP TABLE IF EXISTS " + TABLE_SUSPECTS);
   
           // Create tables again
           onCreate(db);
       }
       /**
        * All CRUD(Create, Read, Update, Delete) Operations
        */
   
       // Adding new suspect
       void addSuspect(Suspects suspects) {
           SQLiteDatabase db = this.getWritableDatabase();
   
           ContentValues values = new ContentValues();
           values.put(KEY_NAME, suspects.getName()); // Contact Name
           values.put(KEY_GENDER, suspects.getGender());
           values.put(KEY_HEIGHT, suspects.getHeight());
           values.put(KEY_AGE, suspects.getAge());
           values.put(KEY_HAIR, suspects.getHair());
           values.put(KEY_NATIONALITY, suspects.getNationality());
           values.put(KEY_SUSPECT, suspects.getSuspect());
           values.put(KEY_OTHER, suspects.getOther());
   
           // Inserting Row
           db.insert(TABLE_SUSPECTS, null, values);
           db.close(); // Closing database connection
       }
   
       // Getting single contact
       Suspects getSuspect(int id) {
           SQLiteDatabase db = this.getReadableDatabase();
   
           Cursor cursor = db.query(TABLE_SUSPECTS, new String[] { KEY_ROWID,
                   KEY_NAME, KEY_GENDER, KEY_HEIGHT, KEY_AGE, KEY_HAIR,KEY_NATIONALITY,KEY_SUSPECT,KEY_OTHER }, KEY_ROWID + "=?",
                   new String[] { String.valueOf(id) }, null, null, null, null);
           if (cursor != null)
               cursor.moveToFirst();
   
           Suspects suspect = new Suspects(Integer.parseInt(cursor.getString(0)),
                   cursor.getString(1),
                   cursor.getString(2),
                   cursor.getString(3),
                   cursor.getString(4),
                   cursor.getString(5),
                   cursor.getString(6),
                   cursor.getString(7),
                   cursor.getString(8));
           // return suspect
           return suspect;
       }
        
       // Getting All suspects
       public List<Suspects> getAllSuspects() {
           List<Suspects> SuspectsList = new ArrayList<Suspects>();
           // Select All Query
           String selectQuery = "SELECT  * FROM " + TABLE_SUSPECTS;
   
           SQLiteDatabase db = this.getWritableDatabase();
           Cursor cursor = db.rawQuery(selectQuery, null);
   
           // looping through all rows and adding to list
           if (cursor.moveToFirst()) {
               do {
                   Suspects suspect = new Suspects();
                   suspect.setID(Integer.parseInt(cursor.getString(0)));
                   suspect.setName(cursor.getString(1));
                   suspect.setGender(cursor.getString(2));
                   suspect.setHeight(cursor.getString(3));
                   suspect.setAge(cursor.getString(4));
                   suspect.setHair(cursor.getString(5));
                   suspect.setNationality(cursor.getString(6));
                   suspect.setSuspect(cursor.getString(7));
                   suspect.setOther(cursor.getString(8));
                  
          // Adding contact to list
                   SuspectsList.add(suspect);
               } while (cursor.moveToNext());
           }
   
           // return Suspect list
           return SuspectsList;
       }
   
       // Updating single Suspect
       public int updateSuspects(Suspects suspect) {
           SQLiteDatabase db = this.getWritableDatabase();
   
           ContentValues values = new ContentValues();
           values.put(KEY_NAME, suspect.getName());
           values.put(KEY_GENDER, suspect.getGender());
           values.put(KEY_HEIGHT, suspect.getHeight());
           values.put(KEY_AGE, suspect.getAge());
           values.put(KEY_HAIR, suspect.getHair());
           values.put(KEY_NATIONALITY, suspect.getNationality());
           values.put(KEY_SUSPECT, suspect.getSuspect());
           values.put(KEY_OTHER, suspect.getOther());
   
           // updating row
           return db.update(TABLE_SUSPECTS, values, KEY_ROWID + " = ?",
                   new String[] { String.valueOf(suspect.getID()) });
       }
   
       // Deleting single suspect
       public void deleteSuspect(Suspects suspect) {
           SQLiteDatabase db = this.getWritableDatabase();
           db.delete(TABLE_SUSPECTS, KEY_ROWID + " = ?",
                   new String[] { String.valueOf(suspect.getID()) });
           db.close();
       }
   
   
       // Getting suspect Count
       public int getSuspectsCount() {
           String countQuery = "SELECT  * FROM " + TABLE_SUSPECTS;
           SQLiteDatabase db = this.getReadableDatabase();
           Cursor cursor = db.rawQuery(countQuery, null);
           cursor.close();
   
           // return count
           return cursor.getCount();
       }   
   }
dekon
Freshman
Freshman
 
Posts: 3
Joined: Thu May 02, 2013 8:14 pm

Top

Return to SDK/ADT/Emulator Problems

Who is online

Users browsing this forum: No registered users and 2 guests